Open API
The whole corpus is published as static files under /api/v1/ with permissive CORS: JSON per entity and per kind, one-line-per-record NDJSON, CSV for spreadsheets, and a JSON Schema. No key, no rate limit beyond the CDN. Licence CC BY-NC 4.0.
The data are free for non-commercial, educational and research use under CC BY-NC 4.0. If you use the API or the files, name Dementia Atlas and link to dementia-atlas.vercel.app wherever the data or text derived from it appears, for example: Data from Dementia Atlas, CC BY-NC 4.0. Logos remain their owners' trademarks. The same notice is in /api/v1/meta.json, as the first line of every CSV and inside every JSON download from the site's tables.
Files
| Path | Contents |
|---|---|
| /api/v1/all.json | All 72 entities, fully resolved with defaults, plus an incoming map of backlinks per id. |
| /api/v1/all.ndjson | The same entities, one JSON object per line with its route, for streaming tools (jq -c, DuckDB, pandas read_json(lines=True)). |
| /api/v1/schema.json | JSON Schema (draft 2020-12) of one entity, generated from the Zod schema that validates the corpus at build time. |
| /api/v1/openapi.json | OpenAPI 3.1 description of every file here and the feeds, generated at build time from the same layout that writes them. |
| /api/v1/search.json | Compact documents (id, kind, name, tldr, route) used by the site search. |
| /api/v1/diagnoses.json · .csv | 8 diagnoses. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/fronts.json · .csv | 11 fronts. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/technologies.json · .csv | 10 technologies. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/targets.json · .csv | 5 targets. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/drugs.json · .csv | 9 drugs. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/companies.json · .csv | 3 companies. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/institutions.json · .csv | 4 institutions. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/pathways.json · .csv | 1 pathways. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/terms.json · .csv | 4 terms. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/trials.json · .csv | 4 trials. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/pairings.json · .csv | 1 pairings. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/roadmaps.json · .csv | 1 roadmaps. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/ideas.json · .csv | 3 ideas. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/collections.json · .csv | 1 collections. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/people.json · .csv | 1 people. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/bottlenecks.json · .csv | 4 bottlenecks. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/key papers.json · .csv | 1 key papers. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/journals.json · .csv | 1 journals. The CSV flattens each record: lists of ids joined with “; ”, nested tables as JSON in the cell. |
| /api/v1/entities/<id>.json | One entity with its neighbours, e.g. alzheimers-disease.json, da-lecanemab.json. |
| /api/v1/my-cancers.json | Every diagnosis as id, name, route and hub group: the chooser list the site fetches on demand. |
| /api/v1/ranking.json | Institution ranking rows with the score components. |
| /api/v1/meta.json | Build date, counts, schema version, the list of files and feeds. |
Every table on the site also has CSV and JSON buttons that export exactly the rows shown after filtering, and the landscape grid exports the grid.
Feeds
Atom 1.0 feeds for the parts of Dementia Atlas that move. Subscribe in any feed reader; the entries link back to the page and to the primary source.
| Feed | Contents |
|---|---|
| /feeds/changelog.xml Changelog | One entry per release of the site. |
| /feeds/regulatory.xml Regulatory events | Designations, filings, approvals, complete response letters, withdrawals and label changes, newest first (100). |
| /feeds/calendar.xml Readout calendar | Regulatory dates, advisory committees, expected readouts and congresses; expected dates are marked as editorial estimates. |
| /feeds/pulse.xml Research pulse | What the leading journals, regulators and news sources are saying, item by item with links. |
Bulk download and citation
Each tagged version of Dementia Atlas is published as a GitHub release with the whole /api/v1/ tree attached as a tarball, the CSVs as a zip, the NDJSON, and SHA-256 checksums, so a paper or a pipeline can pin an exact snapshot.
Dementia Atlas contributors. Dementia Atlas: a cited map of dementia. Version <tag>, <date>. https://dementia-atlas.vercel.app (data CC BY-NC 4.0). https://github.com/mikepsinn/dementia-atlas/releases/tag/<tag>MCP and CLI
The same files are also the machine surface for assistants. Tools read /api/v1/ directly (no key, no checkout) and should end every output with an attribution line.
| Command or tool | What it does |
|---|---|
| search <query> | Word plus concept search, fused as the site does it; each hit says why it matched. |
| get <id|route> | One record: TL;DR, summary, key fields, connected records, sources. |
| list <kind> | Every record of a kind. |
curl -s https://dementia-atlas.vercel.app/api/v1/search.json
curl -s https://dementia-atlas.vercel.app/api/v1/entities/alzheimers-disease.json | jq '.entity.name'Schema and field names live in src/lib/schema.ts.
Schema
Every entity shares base fields (id, kind, name, aka, tldr, summary, status, asOf, wikipedia, links, tags) and relationship arrays holding ids. Kind-specific fields are documented in src/lib/schema.ts in the repository, which is the source of truth and is enforced at build time; schema.json is generated from it.
Examples
# one entity and its neighbouring products
curl -s https://dementia-atlas.vercel.app/api/v1/entities/da-lecanemab.json | jq '.entity.name, .neighbours.trial[].name'
# every approved product as CSV
curl -sO https://dementia-atlas.vercel.app/api/v1/drugs.csv
# stream the whole corpus one record at a time
curl -s https://dementia-atlas.vercel.app/api/v1/all.ndjson | jq -c 'select(.kind=="trial") | {id, name, status}'