Examples

Practical snippets for calling the Profile API.

cURL

Get the full profile

curl -s https://www.eyalbercovich.com/api/profile | jq .

List 2024 publications

curl -s "https://www.eyalbercovich.com/api/publications?year=2024" | jq '.publications[] | {title, journal, doi}'

Export publications as CSV

curl -o publications.csv https://www.eyalbercovich.com/api/export.csv

Python

import urllib.request, json

def api(path):
    with urllib.request.urlopen(f"https://www.eyalbercovich.com{path}") as r:
        return json.load(r)

profile = api("/api/profile")
print(profile["name"], "-", profile["specialty"])

pubs = api("/api/publications?year=2025")
for p in pubs["publications"]:
    print(f"{p['year']} - {p['title']} ({p.get('doi','')})")

clinic = api("/api/clinic")
print("Clinic:", clinic["name"], "-", clinic["phone"])

JavaScript (browser)

const BASE = "https://www.eyalbercovich.com/api";

// Fetch profile
const profile = await fetch(`${BASE}/profile`).then(r => r.json());
console.log(profile.name, profile.positions);

// Filter publications
const pubs = await fetch(`${BASE}/publications?year=2024&limit=5`).then(r => r.json());
pubs.publications.forEach(p => console.log(p.title));

// Get clinic booking link
const clinic = await fetch(`${BASE}/clinic`).then(r => r.json());
window.open(clinic.bookingLinks.clalitMushlam);

Node.js

const fetch = require('node-fetch'); // or built-in in Node 18+

async function getPublicationByDoi(doi) {
  const url = `https://www.eyalbercovich.com/api/publications/${encodeURIComponent(doi)}`;
  const r = await fetch(url);
  if (!r.ok) throw new Error(`HTTP ${r.status}`);
  return r.json();
}

getPublicationByDoi("10.1016/j.crad.2025.107075").then(console.log);

AI agent integration

ChatGPT (legacy plugin)

Point ChatGPT at https://www.eyalbercovich.com/.well-known/ai-plugin.json. The manifest references the OpenAPI spec, enabling all /api endpoints as tools.

Claude / MCP

Reference the MCP server card at https://www.eyalbercovich.com/.well-known/mcp/server-card.json. It exposes three tools: getProfile, getClinicInfo, getPublications.

A2A (agent-to-agent)

Agent card at https://www.eyalbercovich.com/.well-known/agent-card.json lists four skills: profile-lookup, publications-query, clinic-info, research-discovery.

Markdown fetch (Accept header)

curl -H "Accept: text/markdown" https://www.eyalbercovich.com/ > profile.md