About this dataset
Bank Compare is a Public dataset in the Screeners group of the BankRegReports Data API. The response carries 38 documented fields, sourced from FFIEC Call Report.
Side-by-side metrics for up to 15 banks with a signed-in account (5 without one). Order is preserved.
Endpoint
GET /api/v1/banks/compare/ Parameters
| Name | Required | Description |
|---|---|---|
| rssd_ids | required | Comma-separated RSSD IDs to compare. e.g. 852218,480228 |
Response fields
| Field | Type | Description |
|---|---|---|
| rssd_id | integer | RSSD ID (count) |
| legal_name | string | Legal Name (text) |
| hq_state | string, nullable | Headquarters State (text) |
| asset_tier | string, nullable | Asset Tier (text) |
| report_date | string, nullable | Report Date (date) |
| total_assets | number (double), nullable | Total Assets (USD thousands) |
| total_deposits | number (double), nullable | Total Deposits (USD thousands) |
| total_loans | number (double), nullable | Total Loans (USD thousands) |
| total_equity | number (double), nullable | Total Equity (USD thousands) |
| roa | number (double), nullable | Return on Assets (percent). Net income, annualized, as a percentage of average total assets. The single most-cited profitability metric. 1.0%+ is strong for national banks; community banks often run 0.8 to 1.2%. |
| roe | number (double), nullable | Return on Equity (percent) |
| nim | number (double), nullable | |
| efficiency_ratio | number (double), nullable | Efficiency Ratio (percent). Non-interest expense divided by the sum of net interest income and non-interest income. Lower is better. Below 60% is excellent; above 75% raises operational-leverage concerns. |
| yield_on_earning_assets | number (double), nullable | Yield on Earning Assets (percent) |
| cost_of_funds | number (double), nullable | Cost of Funds (percent) |
| npl_ratio | number (double), nullable | Non-Performing Loan Ratio (percent). Noncurrent loans (nonaccrual plus 90+ days past due and still accruing) as a percentage of total loans, the FDIC and UBPR definition; consolidated lines for FFIEC 031 filers. Performing modifications to borrowers in financial difficulty are not counted. Lower is better. The Healthy and Watch bands below are BankRegReports screening bands (2% and 5%), not regulatory triggers; no supervisory NPL threshold exists. |
| nco_ratio | number (double), nullable | Net Charge-Off Ratio (percent) |
| texas_ratio | number (double), nullable | Texas Ratio (percent). Problem assets divided by tangible equity plus the allowance for credit losses. Problem assets are nonaccrual loans, loans 90 or more days past due and still accruing, and other real estate owned, net of the U.S. government-guaranteed portions; modified loans are not included. Tangible equity is total equity capital less intangible assets other than mortgage servicing assets. Above 100% has historically signaled elevated failure risk. |
| acl_to_loans | number (double), nullable | Allowance for credit losses to total loans (percent). Allowance for Credit Losses as a percentage of total loans. Higher coverage indicates a more conservatively reserved book. |
| acl_to_npl | number (double), nullable | |
| cre_to_capital | number (double), nullable | |
| cd_to_capital | number (double), nullable | |
| cet1_ratio | number (double), nullable | CET1 Capital Ratio (percent). Common Equity Tier 1 capital as a percentage of risk-weighted assets, the strictest measure of bank capital. The prompt corrective action "well capitalized" level is 6.5%; the 4.5% minimum plus the 2.5% conservation buffer is 7.0%, below which dividends and bonuses are limited. FFIEC 031 filers report it as RCFAP793 and FFIEC 041/051 filers as RCOAP793 (standardized approach). A bank under the advanced approaches also reports RCFWP793; the ratio shown is the lower of the two, the binding ratio FDIC publishes. Banks in the community bank leverage ratio framework do not report it. |
| tier1_ratio | number (double), nullable | Tier 1 Capital Ratio (percent). Tier 1 capital (CET1 + Additional Tier 1 instruments) as a percentage of risk-weighted assets. Should exceed CET1 by 50–150 bp at banks with AT1 instruments outstanding. |
| total_capital_ratio | number (double), nullable | Total Capital Ratio (percent) |
| leverage_ratio | number (double), nullable | Tier 1 Leverage Ratio (percent) |
| tce_ratio | number (double), nullable | |
| is_well_capitalized | boolean, nullable | |
| loan_to_deposit | number (double), nullable | Loan-to-Deposit Ratio (percent) |
| core_deposit_ratio | number (double), nullable | Core Deposit Ratio (percent) |
| uninsured_deposit_ratio | number (double), nullable | Uninsured Deposit Ratio (percent). Estimated uninsured deposits, the amounts above the $250,000 FDIC limit, as a percentage of total deposits. A flight-risk indicator that became central after March 2023. |
| brokered_deposit_ratio | number (double), nullable | |
| nib_deposit_ratio | number (double), nullable | |
| securities_to_assets | number (double), nullable | Total securities to total assets (percent). Total Securities / Total Assets: (AFS + HTM) / Total Assets * 100. Balance-sheet composition ratio. |
| unrealized_gl_to_equity | number (double), nullable | |
| asset_growth_yoy | number (double), nullable | Total Asset Growth (YoY) (percent) |
| loan_growth_yoy | number (double), nullable | Total Loan Growth (YoY) (percent) |
| deposit_growth_yoy | number (double), nullable | Total Deposit Growth (YoY) (percent) |
Example request
curl "https://api.bankregreports.com/api/v1/banks/compare/" \ -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",
"asset_tier": "string",
"report_date": "string",
"total_assets": "number (double)",
"total_deposits": "number (double)",
"total_loans": "number (double)"
... 30 more fields
}
],
"meta": { ... }
} When to use it
Bank Compare sits in the Screeners 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 bank_compare naming it the same way in the REST path, the Python SDK and the OpenAPI document.
Access and authentication
This dataset is in the Public 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
- Bank Screener: Every FDIC-insured bank with key ratios; filter, sort, paginate.
- Screener Dataset (full working set): The entire bank universe with screener columns in one response, for the paid client-side (in-browser) screener. Paid tier only; free callers page through the screener endpoint instead.
- Loan-Concentration Screener: Screen banks by loan-portfolio concentration.
- M&A Target Screener: Banks scored as likely acquisition targets.
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 rssd_ids = [852218, 476810] # JPMorgan Chase Bank and Citibank result = brr.bank_compare(rssd_ids=rssd_ids)