Data API v1

Accès aux données en lecture seule et contrôlé par portée.

Envoyez la clé dans l’en-tête Authorization: Bearer. Ne la placez jamais dans une URL, le stockage du navigateur ou les journaux.

Première requête

curl 'https://api.doctorhub.ai/v1/doctors?city=Istanbul&limit=20' \
  -H 'Authorization: Bearer dh_v1_<key-id>.<secret>'
{
  "data": [{
    "id": 123,
    "slug": "ornek-doktor",
    "name": "Op. Dr. Örnek Doktor",
    "city": "İstanbul",
    "scorehub": { "value": 8.4, "scale": 10, "as_of": "2026-09-13T10:00:00Z" },
    "badges": []
  }],
  "page": { "next_cursor": null, "limit": 20 }
}

Endpoints

MéthodeCheminPortéeRéponse
GET/v1/doctorsdoctors:readListe publiable de médecins
GET/v1/doctors/:iddoctors:readRésumé public d’un médecin
GET/v1/doctors/:id/review-summaryreview-summaries:readRésumé de la source et de la distribution des notes
GET/v1/proceduresprocedures:readListe canonique des procédures
GET/v1/procedures/:slugprocedures:readRésumé publié du hub de procédure

Limites des requêtes

Les listes de médecins acceptent city, procedure, source, cursor, limit et locale. La valeur maximale de limit est 50. Les curseurs sont liés à l’ensemble de filtres.

Erreurs

  • 400 — requête/curseur invalide
  • 401 — clé absente, invalide, expirée ou révoquée
  • 403 — portée manquante
  • 429 — quota épuisé ; inclut Retry-After
  • 503 — compteur de quota sécurisé indisponible

Exemple de note issue d’une source

{
  "source": "realself",
  "rating": 4.8,
  "rating_scale": 5,
  "source_review_count": 120,
  "ingested_review_count": 84,
  "rated_sample_count": 82,
  "source_url": "https://www.realself.com/...",
  "fetched_at": "2026-09-13T10:00:00Z"
}

Attribution et champs exclus

Conservez les noms des sources et les dates d’observation. Les textes bruts d’avis, de questions-réponses ou d’articles, l’identité des patients, les médias de galerie, les consentements, les notes privées, les embeddings, les audits, les prompts et les pondérations de score n’apparaissent jamais dans les réponses v1.