Public API
Query the published corpus
Version 1 is a read-only JSON API generated from the same public records that power this site. It requires no account or API key.
Quick start
Fetch one record
Start with the case index, then request a full record by slug. Responses are ordinary static JSON files and may be cached.
curl
curl https://boundbyfear.com/api/v1/cases/1959-haiti.jsonJavaScript
const record = await fetch(
"https://boundbyfear.com/api/v1/cases/1959-haiti.json"
).then((response) => response.json())Endpoints
Version 1
- Case index
- /api/v1/cases.json
- A compact index for discovery, filtering, and local caching.
- Case record
- /api/v1/cases/{slug}.json
- The full public record, including sources, proceedings, classifications, and source provenance.
- Corpus totals
- /api/v1/stats.json
- Build-time aggregates used by the site.
- Discovery document
- /api/v1/index.json
- A small list of the available version 1 endpoints.
Contract
Schema and compatibility
The versioned path is the compatibility boundary. New optional fields may be added within version 1. Existing fields will not be given a different meaning without a new API version.
The OpenAPI document defines the response shapes. The dataset schema guide explains fields intended for analysis.
Limits
Use the classifications
Evidence status, record class, and source tier are part of the record. Pending allegations are not findings of guilt. Source access logs prove retrieval and file integrity, not the truth of every claim in a source.
This is a documented convenience sample, not prevalence data. Read the method and coverage notes before comparing categories or jurisdictions.