Data & Downloads
Every case in this archive, in one file, for anyone who wants to use it outside this website — a researcher doing counts across years or jurisdictions, a journalist checking a claim, a student building on this data for a class project, another archive that wants to cross-reference. This is the same data the site itself is built from, not a separate or reduced copy.
Which format to use
JSON (/data/cases.json) is the complete record for every case: everything
on the case page itself — the full summary, every “Known,” “Unknown,” and
“Unanswered Question” entry, and every cited source with its own name and URL. Use this if
you’re writing code against the data or want the full text, not just the metadata.
CSV (/data/cases.csv) is a flattened, spreadsheet-friendly summary —
one row per case, opens directly in Excel, Google Sheets, or any tool that reads CSV. It deliberately
leaves out the long-form prose fields, since flattening paragraphs into spreadsheet cells serves neither
format well; use the JSON export or the case pages themselves for the full narrative.
Fields
| Field | Meaning |
|---|---|
caseNumber | The sequential case number used throughout the archive |
id | URL slug — the case page lives at /cases/<id>.html |
name | Victim name(s) as documented |
status | unsolved (no charges were ever filed) or unresolved
(charges were filed and a trial or plea occurred, but no conviction resulted) — see
How We Research for the distinction |
caseType | homicide or missing_persons |
year, age, gender | As documented; left blank in the source record rather than guessed where unknown |
city, county, state | Location of the case |
summary, known, unknown, unanswered | Case narrative (JSON only) |
sources | Every cited source, with name and URL where one exists (JSON only;
the CSV export includes only a sourceCount) |
dateAdded | When the case was added to this archive |
lastVerified | When the case file was last reviewed |
Using this data
Use it freely — for research, journalism, classroom work, or your own archive. We’d ask two things in return: attribute the archive when you publish something built on it, and don’t present the data as more certain than it is — a blank field here means the fact isn’t documented, not that it doesn’t exist.
The dataset updates every time a case is added or corrected. To track those changes over time rather than re-downloading and diffing, follow the RSS feed or watch Corrections & Updates.