Developers
Read-only JSON, CORS-open, no key. Please cache — this is a small server behind a public regulator’s data.
Endpoints
| Endpoint | Returns |
|---|---|
/api/stats | Corpus totals and the overall uphold rate, scoped to banking, credit and mortgage decisions only — see Full method. |
/api/firm/{slug} | One firm: outcomes, uphold rate, typical award, breakdown by issue. |
/api/harm/{slug} | One issue: decisions, uphold rate, typical award. |
/feed/{slug} | RSS of recent upheld decisions against a firm. |
/llms.txt · /llms-full.txt | Machine-readable site map and figures. |
Suppression is deliberate
Where a firm has fewer than 30 decisions with a recorded outcome, or an issue fewer than 20, uphold_rate comes back null with a uphold_rate_suppressed_reason rather than a number. A rate over a handful of cases is noise, and the API will not hand you one the site itself refuses to display.
If you publish these figures
Please carry the caveat that ships in every response. These are uphold rates for contested cases that reached an ombudsman — not the share of a firm’s complaints that succeed, which is a different and usually much lower number. Decision counts are a floor, because decisions that do not name a firm unambiguously are left unattributed rather than guessed. Full method.