Developers
Public API
Everything on the site is available as JSON under /api/v1, served by the CancerIndex API service and proxied through this host. Identifiers are stable; every response names its sources.
Reference
OpenAPI documentation
Interactive documentation is served by the API at /api/v1/docs. Base URL: https://www.cancerindex.io/api/v1.
Format
Response envelope
Every successful response wraps its payload with the sources that contributed and the data release, so attribution travels with the data:
{
"data": { ... } | [ ... ],
"sources": [ { "slug": "oncotree", "name": "OncoTree", "license": "CC BY 4.0", "retrievedAt": "2026-09-08T09:07:07Z" } ],
"dataRelease": "2026-09-08",
"meta": { "page": 1, "pageSize": 50, "total": 865 } // on paginated endpoints
}Errors return { "error": { "code": "not_found", "message": "…" } } with the matching HTTP status.
Fair use
Rate limits
- Anonymous: 60 requests per minute per IP.
- With an API key (
Authorization: Bearer …): per-key limit according to tier (free 60/min, research and institutional tiers on request). - Responses include
X-RateLimit-Limit,X-RateLimit-RemainingandRetry-Afteron 429.
Examples
curl
# One cancer entity with codes, aliases and counters
curl -s https://www.cancerindex.io/api/v1/cancers/diffuse-glioma | jq .
# Search across entities
curl -s "https://www.cancerindex.io/api/v1/search?q=glioma" | jq '.data[] | {type, title}'
# Current ranking snapshot for a metric and scope
curl -s "https://www.cancerindex.io/api/v1/rankings/active_trials?scope=geo=WORLD|sex=all|age=all|year=latest|level=top" | jq .
# Same ranking as CSV with attribution rows (served by the web app)
curl -sL "https://www.cancerindex.io/api/export/rankings.csv?metric=active_trials" -o active_trials.csvIdentifiers
Stable identifiers
Public IDs look like CI-CAN-00000123 (cancer), CI-GENE-…, CI-VAR-…, CI-DRUG-…, CI-TRIAL-…, CI-PUB-…, CI-SOURCE-…. They are minted once and never reused; merged entities redirect to the surviving record. Upstream identifiers (NCIt, OncoTree, ICD-10, DOID, HGNC, NCT, PMID) are returned alongside with their match type.
Terms: attribution required (see Data); no medical advice; respect the upstream licenses listed on each source.