High-Risk Banks
FreeBanks ranked by the exploratory failure-risk screening score (uncalibrated, not a probability of failure).
About this dataset
High-Risk Banks is a Free dataset in the Risk & Failures group of the BankRegReports Data API. The response carries 27 documented fields, sourced from ML model.
Banks ranked by composite ML failure-risk screening score, highest first. The *_prob_* fields are uncalibrated screening scores that rank banks against each other; they are not probabilities of failure. Accuracy above about $10 billion in assets is not established. `prob_10yr` has not been validated out of sample (no 10-year test set has held both outcomes); each row says so in `field_notes`. Any signed-in account.
Endpoint
GET /api/v1/risk/high-risk-banks/ Parameters
| Name | Required | Description |
|---|---|---|
| limit | optional | Max rows (default 25). e.g. 25 |
Response fields
| Field | Type | Description |
|---|---|---|
| rssd_id | integer | RSSD ID (count) |
| legal_name | string | Legal Name (text) |
| hq_state | string, nullable | Headquarters State (text) |
| total_assets | number (double), nullable | Total Assets (USD thousands) |
| failure_probability | number (double), nullable | |
| risk_tier | string, nullable | |
| composite_risk_score | number (double), nullable | |
| prob_1yr | number (double), nullable | |
| prob_3yr | number (double), nullable | |
| prob_5yr | number (double), nullable | |
| prob_10yr | number (double), nullable | 10-year screening score. Not validated out of sample: no 10-year test set has held both outcomes (failed and survived banks), so the accuracy of this score is untested. |
| distress_prob_1yr | number (double), nullable | |
| distress_prob_3yr | number (double), nullable | |
| distress_prob_5yr | number (double), nullable | |
| acq_prob_1yr | number (double), nullable | |
| acq_prob_3yr | number (double), nullable | |
| acq_prob_5yr | number (double), nullable | |
| field_notes | object | Machine-readable caveats for fields in this row. `prob_10yr` carries validated_out_of_sample=false. |
| rank_1yr | integer, nullable | |
| percentile_1yr | number (double), nullable | |
| rank | integer, nullable | |
| rank_tied | boolean | |
| peer_group | string, nullable | |
| peer_rank_1yr | integer, nullable | |
| peer_count | integer, nullable | |
| prediction_date | string (date), nullable | |
| report_date | string (date), nullable | Report Date (date) |
Example request
curl "https://api.bankregreports.com/api/v1/risk/high-risk-banks/" \ -H "Authorization: Bearer $BANKREG_API_TOKEN"
Responses are JSON in a {"data": ..., "meta": {...}} envelope. Get a token on the setup page.
Example response shape
A successful call returns HTTP 200 with a JSON body. Each row in data carries the fields below, shown with their documented types rather than sample values.
{
"data": [
{
"rssd_id": "integer",
"legal_name": "string",
"hq_state": "string",
"total_assets": "number (double)",
"failure_probability": "number (double)",
"risk_tier": "string",
"composite_risk_score": "number (double)",
"prob_1yr": "number (double)"
... 19 more fields
}
],
"meta": { ... }
} When to use it
High-Risk Banks sits in the Risk & Failures group of the Data API. Reach for it when your work needs this data straight from the API: it comes back as JSON you can load into a notebook, a spreadsheet or a scheduled pipeline, with the dataset key high_risk_banks naming it the same way in the REST path, the Python SDK and the OpenAPI document.
Access and authentication
This dataset is in the Free tier. Send your API token in the Authorization header as a Bearer token, using a GET request to the endpoint above. The Free plan is the first plan that includes it. Check the plan comparison for request limits, and the data update schedule for when new filings reach the API.
Related datasets
- Failure Risk Score: Exploratory 1-year failure-risk screening score (not a calibrated probability) + safety verdict for one bank.
- Recent Failures: Most recent bank failures (FDIC).
- Failures by Year: Bank failure counts and total assets by year.
- Risk Tier Overview: Counts of banks by failure-risk tier (Critical/High/Elevated/Moderate/Low), from an exploratory screening score.
Keep going
Browse every dataset, follow the setup walkthrough to make a first call, use the Excel add-in for formulas, or connect an assistant through the MCP server.
Python SDK
Install with pip install bankregreports and set BANKREG_API_TOKEN to your key.
import bankregreports brr = bankregreports.BankReg() # reads BANKREG_API_TOKEN result = brr.high_risk_banks()