Skip to main content
← All datasets

Bank Compare

Public

Side-by-side comparison of multiple banks.

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

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)
Powered by BankRegReports API