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.json

JavaScript

const record = await fetch(
  "https://boundbyfear.com/api/v1/cases/1959-haiti.json"
).then((response) => response.json())

Endpoints

Version 1

GET · JSON · no authentication
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.