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/v1Places
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 # IllinoisThe ~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, 119thEmbeds
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
- No key, but be kind. Send a descriptive User-Agent and cache responses — they carry long
max-age+ stale-while-revalidate. For large-scale analysis use the versioned bulk archives rather than crawling per-record. - CORS-open, read-only.
/data/*.jsonand/api/*sendAccess-Control-Allow-Origin: *; fetch them straight from the browser. - CC BY 4.0. Free to use with attribution to Akashic Intelligence; upstream sources keep their own licenses (ATTRIBUTION.txt).
- URLs are permanent; schema is additive. Same stability contract as the data page — a URL that resolves today resolves on every future build, and fields don’t change meaning.