Read-only JSON API for querying bank financial KPIs across 40+ countries. All responses use a consistent envelope:
{
"data": [ ... ],
"meta": { "count": 36, "limit": 100, "offset": 0 }
}
_usd_mm). Ratios (ROE, ROA, etc.) are decimals (e.g., 0.15 = 15%).
All endpoints return JSON with a consistent envelope:
{
"data": [ ... ],
"meta": {
"count": 36,
"limit": 50,
"offset": 0,
... endpoint-specific fields ...
}
}
Errors return {"error": "message"} with appropriate HTTP status codes (400, 404, 429, 500).
Monetary values use the _usd_mm suffix and are in USD millions. Ratios are decimals (e.g., 0.15 = 15%).
Platform overview with coverage stats, country list, data sources, and sample data for the 25 largest banks.
GET https://bankingatlas.com/api/summary
List and search banks with filtering and pagination.
| Parameter | Type | Description |
|---|---|---|
country | string | Filter by ISO3 country code (e.g., USA, GBR) |
search | string | Search bank name (case-insensitive substring match) |
sort | string | Sort order: total_assets_usd_desc (default), total_assets_usd_asc, bank_name_asc, bank_name_desc, country_asc |
limit | int | Results per page (1-500, default 100) |
offset | int | Pagination offset (default 0) |
GET https://bankingatlas.com/api/banks?country=USA&search=chase&limit=10
Get KPI time series for a specific bank. Use /api/banks to find bank codes.
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024) |
kpis | string | Comma-separated KPI names to include (see list below). Returns all if omitted. |
limit | int | Max results (1-100, default 50) |
GET https://bankingatlas.com/api/banks/US_JPMORGAN_CHASE/kpis?year=2020-2024&kpis=roe,roa,cost_income
Get full balance sheet and income statement line items for a specific bank. Returns raw financial data in local currency and/or USD.
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024) |
statement | string | bs (balance sheet only), pl (income statement only), or both (default) |
currency | string | local, usd, or both (default). USD values are in millions. |
limit | int | Max results per statement (1-50, default 30) |
offset | int | Pagination offset (default 0) |
Balance sheet fields: loans_gross, loan_loss_allowance, net_loans (derived), securities, cash_and_equivalents, other_assets, total_assets, deposits, other_liabilities, total_equity
Income statement fields: interest_income, interest_expense, net_interest_income (derived), commission_income, commission_expense, net_commission_income (derived), other_income, fx_income, trading_income, impairment_provisions, operating_expenses, depreciation_amortization, income_tax_expense, profit_before_tax, net_profit
GET https://bankingatlas.com/api/banks/US_JPMORGAN_CHASE/financials?year=2020-2024&statement=bs¤cy=usd
List all countries with aggregate banking stats (asset-weighted averages for the latest year).
| Parameter | Type | Description |
|---|---|---|
limit | int | Max results (1-200, default 50) |
offset | int | Pagination offset (default 0) |
sort | string | total_assets_desc (default), total_assets_asc, name_asc, roe_desc |
GET https://bankingatlas.com/api/countries?sort=roe_desc&limit=10
Market-level KPI time series for a country (asset-weighted averages across all banks).
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024) |
limit | int | Max results (1-50, default 30) |
GET https://bankingatlas.com/api/countries/USA/kpis?year=2020-2024
Aggregated sector-level balance sheet and income statement for a country. For countries with has_full_bank_coverage=true, data is aggregated from individual bank reports. For other countries, pre-computed sector aggregate data is used when available, with fallback to bank-level aggregation.
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024) |
statement | string | bs, pl, or both (default) |
currency | string | local, usd, or both (default) |
limit | int | Max results per statement (1-50, default 30) |
offset | int | Pagination offset (default 0) |
Returns the same balance sheet and income statement fields as the bank-level endpoint, plus source_type, accounting_standard, data_source (bank_aggregation or sector_aggregate), bank_count (when from bank aggregation), and has_full_bank_coverage. Note: when using sector aggregate data, profit_before_tax is derived as net_profit + income_tax_expense if not directly available from the source.
GET https://bankingatlas.com/api/countries/USA/financials?year=2020-2024&statement=pl¤cy=usd
Distribution statistics for bank-level KPIs within a country: median, percentiles, standard deviation, min/max, and asset-weighted average. Only available for countries with has_full_bank_coverage = true.
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024). Defaults to latest year. |
kpis | string | Comma-separated KPI names. Default: roe,roa,cost_income,leverage_ratio,nii_on_assets_pct,asset_growth |
Response fields per KPI/year: simple_average, weighted_average (asset-weighted), median, p10, p25, p75, p90, std_dev, min, max, bank_count
GET https://bankingatlas.com/api/countries/USA/distribution?year=2024&kpis=roe,roa,cost_income
Example response:
{"data": [{"kpi": "roe", "fiscal_year": 2024, "bank_count": 4543,
"simple_average": 0.098, "weighted_average": 0.117, "median": 0.097,
"p10": 0.014, "p25": 0.056, "p75": 0.141, "p90": 0.196,
"std_dev": 0.608, "min": -36.9, "max": 10.15}, ...],
"meta": {"count": 3, "country_iso3": "USA", "country_name": "United States",
"kpis": ["roe", "roa", "cost_income"]}}
Market concentration metrics: HHI (Herfindahl-Hirschman Index) by assets, deposits, and loans; plus concentration ratios CR3, CR5, CR10 (share of top N banks by assets). Only available for countries with has_full_bank_coverage = true.
| Parameter | Type | Description |
|---|---|---|
year | string | Single year (2024) or range (2020-2024). Defaults to latest year. |
Response fields per year: hhi.by_assets, hhi.by_deposits, hhi.by_loans, concentration_ratios.cr3, cr5, cr10 (as decimals, e.g. 0.45 = 45%), bank_count (banks with reported positive assets)
GET https://bankingatlas.com/api/countries/USA/concentration?year=2024
Example response:
{"data": [{"fiscal_year": 2024, "bank_count": 4559,
"hhi": {"by_assets": 460.0, "by_deposits": 430.9, "by_loans": 310.6},
"concentration_ratios": {"cr3": 0.3183, "cr5": 0.4151, "cr10": 0.5178}}],
"meta": {"count": 1, "country_iso3": "USA", "country_name": "United States"}}
Compare multiple banks or countries side-by-side.
| Parameter | Type | Description |
|---|---|---|
banks | string | Comma-separated bank codes (max 20). Mutually exclusive with countries. |
countries | string | Comma-separated ISO3 codes (max 30). Mutually exclusive with banks. |
year | string | Year or range. Defaults to latest year if omitted. |
kpis | string | Comma-separated KPI names (for bank comparison only). |
GET https://bankingatlas.com/api/compare?countries=USA,GBR,DEU,FRA&year=2024 GET https://bankingatlas.com/api/compare?banks=US_JPMORGAN_CHASE,US_BANK_OF_AMERICA&year=2024&kpis=roe,roa
Machine-readable definitions of all KPIs: name, formula, unit, category, and whether it is a DuPont decomposition component.
| Parameter | Type | Description |
|---|---|---|
category | string | Filter by category: profitability, efficiency, leverage, income_structure, cost_structure, growth, size. |
dupont | boolean | If true, only return DuPont decomposition components. |
GET https://bankingatlas.com/api/kpis GET https://bankingatlas.com/api/kpis?category=profitability GET https://bankingatlas.com/api/kpis?dupont=true
Example response:
{"kpis": [{"id": "roe", "name": "Return on Equity",
"formula": "Net Profit / Average Equity (annualised)",
"unit": "ratio", "category": "profitability", "dupont_component": true}, ...],
"meta": {"count": 26, "categories": ["cost_structure", "efficiency", ...]}}
Panel endpoints return flat datasets suitable for research and bulk analysis. Query multiple banks and countries in a single request with full filtering.
Flat panel dataset of bank-level KPIs across countries and years, designed for bulk data export and research. Supports JSON and CSV output.
| Parameter | Type | Description |
|---|---|---|
countries | string | Comma-separated ISO3 country codes to filter. |
year | string | Single year (2024) or range (2020-2024). |
kpis | string | Comma-separated KPI columns. Default: roe,roa,cost_income,leverage_ratio,total_assets_usd,net_profit_usd,asset_growth. |
sort | string | Comma-separated columns. Prefix with - for descending. Default: country_iso3,fiscal_year,bank_code. |
limit | integer | Max rows (1–10000, default 1000). |
offset | integer | Pagination offset (default 0). |
format | string | json (default) or csv. |
GET https://bankingatlas.com/api/panel?countries=USA,GBR&year=2024&kpis=roe,roa,total_assets_usd&limit=100 GET https://bankingatlas.com/api/panel?countries=UKR&year=2020-2024&format=csv
Flat panel dataset of bank-year KPI observations. Returns one row per bank per year with requested KPI columns.
| Parameter | Type | Description |
|---|---|---|
countries | string | Comma-separated ISO3 codes to filter (e.g., USA,GBR,DEU) |
kpis | string | Comma-separated KPI names to include (returns all if omitted) |
years | string | Single year (2024) or range (2020-2024) |
min_assets | number | Minimum total assets in USD millions |
limit | int | Results per page (1-1000, default 100) |
offset | int | Pagination offset (default 0) |
format | string | json (default) or csv (downloads as file) |
GET https://bankingatlas.com/api/panel/banks?countries=USA,GBR&kpis=roe,roa,cost_income&years=2020-2024&min_assets=100000 GET https://bankingatlas.com/api/panel/banks?countries=DEU&years=2024&format=csv
Country-year aggregated panel data. Returns one row per country per year with asset-weighted KPI averages.
| Parameter | Type | Description |
|---|---|---|
countries | string | Comma-separated ISO3 codes to filter |
kpis | string | Comma-separated KPI names to include (returns all if omitted) |
years | string | Single year or range (e.g., 2020-2024) |
min_assets | number | Minimum total assets in USD millions (country aggregate) |
limit | int | Results per page (1-1000, default 100) |
offset | int | Pagination offset (default 0) |
format | string | json (default) or csv |
GET https://bankingatlas.com/api/panel/countries?countries=USA,GBR,DEU,FRA&years=2020-2024 GET https://bankingatlas.com/api/panel/countries?kpis=roe,roa&years=2024&format=csv
Returns a catalog of all available KPI definitions including exact formulas, component fields, units, and methodology notes. Essential for rigorous benchmarking and understanding how each metric is calculated.
| Parameter | Type | Description |
|---|---|---|
kpi | string | Optional comma-separated KPI names to filter (returns all if omitted) |
Each KPI definition includes: name, label, formula, numerator, denominator, unit, averaging_convention, and notes.
GET https://bankingatlas.com/api/definitions GET https://bankingatlas.com/api/definitions?kpi=roe,roa,cost_income
| KPI | Description |
|---|---|
roe | Return on Equity (Net Profit / Avg Equity) |
roa | Return on Assets (Net Profit / Avg Assets) |
roe_bt | Return on Equity before tax |
roa_bt | Return on Assets before tax |
cost_income | Cost-to-Income Ratio (Operating Costs / Operating Income) |
leverage_ratio | Leverage (Total Assets / Total Equity) |
profit_margin | Net Profit / Operating Income |
asset_utilization | Operating Income / Avg Assets |
leverage_dupont | Avg Assets / Avg Equity (DuPont decomposition) |
total_assets_usd | Total assets in USD millions (returned as total_assets_usd_mm) |
total_equity_usd | Total equity in USD millions (returned as total_equity_usd_mm) |
net_profit_usd | Net profit in USD millions (returned as net_profit_usd_mm) |
profit_before_tax_usd | Profit before tax in USD millions |
nii_on_assets_pct | Net Interest Income / Avg Assets (%) |
nci_on_assets_pct | Net Commission Income / Avg Assets (%) |
admin_opex_on_assets_pct | Admin + D&A expenses / Avg Assets (%) |
provisions_on_assets_pct | Impairment provisions / Avg Assets (%) |
tax_on_assets_pct | Income tax / Avg Assets (%) |
asset_growth | YoY Total Assets growth rate |
net_income_growth | YoY Net Income growth rate |