Developers & API
The registry is open data. Every endpoint below is read-only, needs no API key, has no rate limit, and is served with permissive CORS (Access-Control-Allow-Origin: *) and edge caching. The formal contract is the OpenAPI 3.1 document.
Entity endpoints
All return a { data, meta } envelope. List endpoints include meta.total.
| Endpoint | Query params | Returns |
|---|---|---|
| GET /api/procedures | — | All published procedures. |
| GET /api/countries | — | All published destination countries. |
| GET /api/clinics | country, procedure, slug | Published clinics; full record, or a single clinic by slug. |
| GET /api/accreditations | name, expand=clinics | Accreditations with clinic counts; optionally the clinics holding each. |
| GET /api/glossary | term, procedure | Glossary terms with definitions and cross-links. |
| GET /api/guides | slug | Guide metadata (fetch the page or /data for the full body). |
| GET /api/regulators | slug, country, type | National medical/dental regulators. |
| GET /api/freshness | — | Every clinic's verification freshness bucket + nextReviewDue overdue status. |
Citations & bulk data
| Endpoint | Query params | Returns |
|---|---|---|
| GET /api/citations/{type}/{slug} | type ∈ procedures|clinics|countries|conditions | Per-entity Markdown citation bundle — one fetch, all fields + resolved sources + dates. |
| GET /data/index.json | — | Bulk-data manifest: per-collection row counts + CSV/JSON download URLs. |
| GET /data/registry.json | — | Whole registry as one JSON document; per-collection files at /data/{collection}.{json,csv}. |
Terms of use
Data is published under CC BY-SA 4.0: share and adapt with attribution to The Treatment Registry and share-alike on derivatives. The data is for display and research only — not medical or financial advice. Please cache responses rather than polling; for whole-collection access use the bulk downloads instead of paging the API. There is no authentication and no rate limit — be considerate.