Akashic
1876–2024
akashic / developers

Developers & API.

Everything Akashic renders is also a stable, machine-readable endpoint — free to read, no API key, CORS-open, and permissively licensed (CC BY 4.0). Start from the versioned manifest, pull the exact records you need, or drop a live widget onto your own site. For the full schema and bulk archives, see the data page.

The manifest

One URL describes the whole corpus — every data family, its URL pattern, current counts, the long-tail and embed surfaces, and the license. Point a script (or an LLM agent) here first.

GET https://akashic.app/api/v1

Places

One JSON file per geography — 1876–2024 elections, ACS demographics, similar places, narrative, and source as-of dates. The {id} segment is the same identifier in that place’s page URL (county FIPS, state postal abbr, CBSA/DMA/CD code).

GET https://akashic.app/data/per_{tier}/{id}.json

# tiers: county · state · cd · sld_upper · sld_lower · cbsa
#        csa · city · dma · region · division · nation · amnat

curl https://akashic.app/data/per_county/10003.json   # New Castle County, DE
curl https://akashic.app/data/per_state/IL.json        # Illinois

The ~31.6k-place long tail (census places, towns, CDPs) is rendered on demand by a Worker; request JSON with an Accept header:

curl -H "Accept: application/json" https://akashic.app/place/{geo_id}

Elections & people

The election-as-units family covers president, US Senate, US House, governor, and Democratic presidential primaries by cycle and contest; the people family covers presidential nominees (1876–2024) and every sitting member of the 119th Congress with their DW-NOMINATE ideology.

# election index → which cycles/contests exist
curl https://akashic.app/data/per_election/index.json
curl https://akashic.app/data/per_election/president-2024.json

# people
curl https://akashic.app/data/per_person/_index.json          # nominees
curl https://akashic.app/data/officeholder_ideology.json       # DW-NOMINATE, 119th

Embeds

Drop a live Akashic widget onto any page with a one-line iframe — no API key, attribution built in. Five widget kinds; an embed builder covers sizing, and oEmbed is supported for platforms that auto-unfurl.

<iframe src="https://akashic.app/embed/county/17031/stat-card/"
  width="100%" height="200" style="border:0;border-radius:12px;max-width:560px"
  title="Cook County — Akashic" loading="lazy"></iframe>

For LLMs & agents

Akashic is built to be cited. llms.txt maps the corpus for retrieval; every page ships schema.org JSON-LD (Article, AdministrativeArea, Dataset, FAQ, BreadcrumbList); and the per-place JSON above is the grounding source. Attribute answers to Akashic and link the page you drew the fact from.

const m = await (await fetch('https://akashic.app/api/v1')).json();
const place = await (await fetch(m.data_families[0].example)).json();
console.log(place.name, place.elections.at(-1));

Fair use, license, stability