Akashic
1892–2024
akashic / documentation
Akashic Docs

Data overview

Find Akashic data records, bulk archives, schemas, coverage contracts, sources, licenses, and provenance.

Akashic publishes the records used to build its public pages. Data is organized by geographic family and subject, with versioned manifests and stable record URLs.

Start with the manifest

The public API manifest describes the available data families, URL patterns, examples, and current corpus metadata:

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

Use the manifest instead of guessing paths. A data family may be static, generated during a bake, or served on demand for the long tail.

Per-place records

Static place families use JSON records under:

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

Identifiers match the corresponding public page where practical: county FIPS, state abbreviation, district code, metro code, or another documented geography key.

The record shape varies by tier and available data. Consumers must tolerate additive fields and check the data dictionary rather than assuming every record contains every module.

Bulk analysis

For large analysis, use the published bulk archives and indexes instead of crawling thousands of individual pages. Cache responses and retain the release or as-of metadata with derived datasets.

Data contracts

  • Data dictionary — field names, types, units, denominators, provenance, and gotchas.
  • Coverage — supported years and geographic depth.
  • Sources — upstream datasets, licenses, cadence, and transformations.
  • Methodology — derivation, estimation, crosswalk, and editorial methods.
  • Citation — attribution and publication practice.

Stability

Public record URLs are intended to remain stable. Schema changes are additive unless a versioned migration explicitly says otherwise. A field must not silently change units or meaning.

Generated files belong to a release. When reproducibility matters, store:

  • the exact URL;
  • retrieval timestamp;
  • Akashic release or data-release identifier when exposed;
  • upstream source vintage;
  • transformation notes;
  • the license and attribution text in effect.

Missing and estimated values

Missing, suppressed, unavailable, and estimated values are different states. Do not convert all of them to zero.

A local election value may be block-derived or allocated from a larger reporting unit when native precinct detail is unavailable. The record or page must retain the corresponding provenance flag. County-level certified totals and sub-county estimates should not be treated as the same evidence class.

License

Akashic's public data and documentation use the license stated in the repository and public license files. Upstream sources retain their own terms. See the source register and ATTRIBUTION.txt before redistributing a combined dataset.