Search FDIC-insured banks, Call Report financials, peer rankings, failures, deposit market share.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compare one institution with a peer group for one quarter: for each metric, the institution's value next to the peer median, quartiles, minimum and maximum, and its percentile and rank. The default peer group is every institution in the same asset-size band that reported that quarter; narrow it to one state, widen it to all sizes, or name the peers by CERT. Dollar amounts are in thousands; ratios are percentages.
FDIC certificate number of the institution to compare, from fdic_search_institutions.
At most 1000 raw metric names. Deduplicated before querying the first 20; deferred_metrics holds the rest. Omit or pass [] for the default health set.
Nonempty peer selection, at most 1000 raw CERTs, replacing band/state filters. Deduplicated before querying the first 200; deferred_certs holds the rest and marks the cohort incomplete. Fewer than five peers still computes, with a notice.
Limit peers to one headquarters state: a two-letter code, a full state name, or same for the institution's own state. Omit for nationwide. Not combinable with peer_certs.
Quarter to compare: a quarter-end date (2026-06-30), the same without dashes (20260630), or a quarter label (2026Q2). Omit for the latest quarter FDIC has published.
Peer size band by total assets: same (the band holding the institution's own assets, default), any (all sizes), under_100m, 100m_1b, 1b_10b, 10b_250b, or over_250b; fdic_list_reference topic peer_asset_bands gives each band's bounds. Not combinable with peer_certs.
Compare one institution with a peer group for one quarter: for each metric, the institution's value next to the peer median, quartiles, minimum and maximum, and its percentile and rank. The default peer group is every institution in the same asset-size band that reported that quarter; narrow it to one state, widen it to all sizes, or name the peers by CERT. Dollar amounts are in thousands; ratios are percentages.
| Argument | Type | Description |
|---|---|---|
| cert* | integer | FDIC certificate number of the institution to compare, from fdic_search_institutions. |
| metrics | array | At most 1000 raw metric names. Deduplicated before querying the first 20; deferred_metrics holds the rest. Omit or pass [] for the default health set. |
| peer_certs | array | Nonempty peer selection, at most 1000 raw CERTs, replacing band/state filters. Deduplicated before querying the first 200; deferred_certs holds the rest and marks the cohort incomplete. Fewer than five peers still computes, with a notice. |
| peer_state | string | Limit peers to one headquarters state: a two-letter code, a full state name, or same for the institution's own state. Omit for nationwide. Not combinable with peer_certs. |
| report_date | string | Quarter to compare: a quarter-end date (2026-06-30), the same without dashes (20260630), or a quarter label (2026Q2). Omit for the latest quarter FDIC has published. |
| peer_asset_band | string | Peer size band by total assets: same (the band holding the institution's own assets, default), any (all sizes), under_100m, 100m_1b, 1b_10b, 10b_250b, or over_250b; fdic_list_reference topic peer_asset_bands gives each band's bounds. Not combinable with peer_certs. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cert"
],
"properties": {
"cert": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number of the institution to compare, from fdic_search_institutions."
},
"metrics": {
"type": "array",
"items": {
"enum": [
"total_assets",
"total_liabilities",
"total_deposits",
"domestic_deposits",
"insured_deposits",
"uninsured_deposits",
"insured_deposit_share",
"brokered_deposits",
"equity_capital",
"net_loans",
"securities",
"cash_and_due",
"real_estate_loans",
"construction_loans",
"multifamily_loans",
"nonfarm_nonresidential_loans",
"residential_mortgage_loans",
"commercial_industrial_loans",
"consumer_loans",
"noncurrent_loans",
"loan_loss_allowance",
"other_real_estate_owned",
"net_income",
"net_income_ytd",
"noninterest_income",
"noninterest_expense",
"provision_for_credit_losses",
"net_charge_offs",
"roa",
"roa_ytd",
"roe",
"roe_ytd",
"net_interest_margin",
"net_interest_margin_ytd",
"efficiency_ratio",
"efficiency_ratio_ytd",
"net_charge_off_rate",
"net_charge_off_rate_ytd",
"noncurrent_loan_rate",
"nonperforming_asset_rate",
"reserve_coverage",
"loans_to_deposits",
"equity_to_assets",
"leverage_ratio",
"cet1_ratio",
"tier1_risk_based_ratio",
"total_risk_based_capital_ratio",
"employees",
"domestic_offices"
],
"type": "string",
"description": "Metric name from the catalog, e.g. roa, net_income_ytd, cet1_ratio."
},
"maxItems": 1000,
"description": "At most 1000 raw metric names. Deduplicated before querying the first 20; deferred_metrics holds the rest. Omit or pass [] for the default health set."
},
"peer_certs": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number of one peer."
},
"maxItems": 1000,
"minItems": 1,
"description": "Nonempty peer selection, at most 1000 raw CERTs, replacing band/state filters. Deduplicated before querying the first 200; deferred_certs holds the rest and marks the cohort incomplete. Fewer than five peers still computes, with a notice."
},
"peer_state": {
"type": "string",
"maxLength": 50,
"description": "Limit peers to one headquarters state: a two-letter code, a full state name, or same for the institution's own state. Omit for nationwide. Not combinable with peer_certs."
},
"report_date": {
"type": "string",
"pattern": "^(\\d{4}-(03-31|06-30|09-30|12-31)|\\d{4}(0331|0630|0930|1231)|\\d{4}-?[Qq][1-4])$",
"description": "Quarter to compare: a quarter-end date (2026-06-30), the same without dashes (20260630), or a quarter label (2026Q2). Omit for the latest quarter FDIC has published."
},
"peer_asset_band": {
"enum": [
"same",
"any",
"under_100m",
"100m_1b",
"1b_10b",
"10b_250b",
"over_250b"
],
"type": "string",
"description": "Peer size band by total assets: same (the band holding the institution's own assets, default), any (all sizes), under_100m, 100m_1b, 1b_10b, 10b_250b, or over_250b; fdic_list_reference topic peer_asset_bands gives each band's bounds. Not combinable with peer_certs."
}
},
"additionalProperties": false
}Describe the df_<id> dataframes that fdic_query_financials and fdic_get_deposits staged when a result exceeded its inline preview, plus any that fdic_dataframe_query saved with register_as. Pass name (from a dataset field) for one dataframe in full: source tool, the parameters it was called with, row count, creation and expiry time, column schema, and the unit and basis of each amount, ratio, or count column (thousands of dollars, percent, or count). Read a table's columns this way before writing SQL for fdic_dataframe_query. Omit name to list the live dataframes, newest first, 50 per page, as name, source tool, row count, and expiry only. A deployment that serves HTTP without authentication, where every caller shares one canvas, does not list; there, pass the name a dataset field returned.
| Argument | Type | Description |
|---|---|---|
| name | string | A dataframe name (df_XXXXX_XXXXX, from a dataset field) for its provenance, columns, and units; omit to list the live dataframes where this deployment allows it. |
| offset | integer | Listed dataframes to skip; pass next_offset from the previous page. Ignored when name is set. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"pattern": "^df_[A-Z0-9]{5}_[A-Z0-9]{5}$",
"description": "A dataframe name (df_XXXXX_XXXXX, from a dataset field) for its provenance, columns, and units; omit to list the live dataframes where this deployment allows it."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Listed dataframes to skip; pass next_offset from the previous page. Ignored when name is set."
}
},
"additionalProperties": false
}Run one read-only SELECT (DuckDB SQL) across the df_<id> dataframes that fdic_query_financials and fdic_get_deposits staged or an earlier register_as saved; joins, aggregates, window functions, and CTEs work. Before writing SQL, pass each table name to fdic_dataframe_describe to read its columns. DOUBLE columns come back as JSON numbers and dollar columns are thousands of US dollars; BIGINT results such as COUNT(*) come back as strings, so CAST them to INTEGER or DOUBLE for arithmetic. Writes, DDL, file-reading functions, and system catalogs are rejected. register_as materializes the result as a new dataframe with a fresh TTL.
| Argument | Type | Description |
|---|---|---|
| sql* | string | One SELECT against df_<id> tables named in a dataset field or by fdic_dataframe_describe, up to 20,000 characters. |
| preview | integer | Rows to return inline; defaults to the effective row_limit and is clamped to it. Set it low when register_as keeps the full result. |
| row_limit | integer | Requested materialization cap (default 1,000; hard input ceiling 1,000,000), clamped to the execution cap of 10,000. Without register_as, row_count_capped reports more matches; continue with ordered LIMIT/OFFSET pages. register_as keeps the whole result within the staging budget. |
| register_as | string | Materialize the full result as a new dataframe under this unused name (df_XXXXX_XXXXX: uppercase letters and digits). A name already staged fails as register_as_clash — including on a repeat of a call that already saved it. The live dataframes share a 1,000,000-row budget: the oldest are dropped to make room, and a result over the budget on its own fails as register_as_too_large. Omit to return rows only. |
Get Summary of Deposits data (branch-level domestic deposits, annual as of June 30, 1994 onward). With cert only: the institution's branches and its deposit market share in each state where it has offices. With a geography (state, county, city, ZIP, or MSA code): every institution in that market ranked by deposits, with market share and the Herfindahl-Hirschman index. With both: the institution's branches in that market and its rank and share there. Defaults to the latest survey year. Dollar amounts are in thousands.
| Argument | Type | Description |
|---|---|---|
| zip | string | Five-digit branch ZIP code; leading zeros kept (02110). |
| cert | integer | FDIC certificate number, from fdic_search_institutions. Alone: its branches and per-state share. With a geography: its position in that market. |
| city | string | Branch city as FDIC spells it (Seattle, St. Louis), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem); requires state. |
| year | integer | Survey year (deposits as of June 30), 1994 on. Omit for the latest survey. |
| limit | integer | Positive inline preview count, bounded by the already-fetched branches or ranking. A larger set is staged whole as a dataframe when this deployment stages dataframes. |
| state |
Get one institution's quarterly Call Report financials by CERT — balance sheet, income, returns, credit quality, and capital ratios — most recent quarter first, with its name, status, and holding company. Unsuffixed income and return metrics are single-quarter figures; _ytd metrics accumulate from January 1. Dollar amounts are in thousands. Quarterly data lands about seven weeks after quarter end; history reaches back to 1984.
| Argument | Type | Description |
|---|---|---|
| cert* | integer | FDIC certificate number, from fdic_search_institutions. |
| metrics | array | At most 1000 raw metric names (fdic_list_reference topic metrics). Deduplicated before querying the first 25; deferred_metrics holds the rest. Omit or pass [] for the default health set. |
| to_date | string | Latest quarter to include, in the same forms as from_date. Omit for the latest published quarter. |
| quarters | integer | Most recent quarters to return; accepts 1–10000, executes at most 200 within from_date/to_date. effective_quarters reports the applied count. Continue with to_date before the oldest returned quarter. |
| from_date | string | Earliest quarter to include: a quarter-end date (2025-03-31), the same without dashes (20250331), or a quarter label (2025Q1). |
List the vocabulary the other fdic_ tools accept and return: every financial metric name with its FDIC field, unit, and basis (single quarter, year-to-date, or point in time), bank charter classes, failure resolution methods, insurance funds, the asset bands fdic_compare_peers uses, and the years each dataset covers. Served from built-in tables; no request to FDIC.
| Argument | Type | Description |
|---|---|---|
| topic* | string | Which table to list: metrics (names, FDIC fields, units, basis, default set), bank_classes, failure_methods, insurance_funds, peer_asset_bands, or coverage (years and cadence of each dataset). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"metrics",
"bank_classes",
"failure_methods",
"insurance_funds",
"peer_asset_bands",
"coverage"
],
"type": "string",
"description": "Which table to list: metrics (names, FDIC fields, units, basis, default set), bank_classes, failure_methods, insurance_funds, peer_asset_bands, or coverage (years and cadence of each dataset)."
}
},
"additionalProperties": false
}Pull a multi-institution, multi-quarter Call Report panel — one row per institution per quarter — filtered by CERTs, headquarters state, asset range, and thresholds on any catalog metric. Use it to screen (every bank in a state with a noncurrent-loan rate above 3%) or to build a trend panel for SQL. Returns an inline preview sorted as requested; when the panel exceeds the preview it is staged as a dataframe for fdic_dataframe_query. With no dates it covers the latest published quarter only.
| Argument | Type | Description |
|---|---|---|
| certs | array | Nonempty selection, at most 1000 raw CERTs. Deduplicated before querying the first 100; deferred_certs holds the rest for another call. Omit to screen every filer. |
| limit | integer | Positive inline preview count, bounded by the already-fetched panel. A larger panel is staged whole as a dataframe when this deployment stages dataframes. |
| state | string | Headquarters state: two-letter code in any case or full name. Branch locations are in fdic_get_deposits. |
| metrics | array | At most 1000 raw metric names. Deduplicated before querying the first 30; deferred_metrics holds the rest. Sort/filter metrics are always added. Omit or pass [] for the default health set. |
| sort_by | string | Metric to order the preview (and the staged table) by; added to metrics when absent. Omit to order by newest quarter, then CERT. |
Search FDIC-insured bank failures and assistance transactions since 1934 by name, CERT, headquarters state, failure date range, resolution method, or size. Returns each event with failure date, acquirer, total assets and deposits, and the FDIC's estimated loss to the insurance fund, plus totals over every matching event; group_by adds counts and losses per year, state, method, or fund. Searches failures only unless resolution is set to assistance or all. Dollar amounts are in thousands.
| Argument | Type | Description |
|---|---|---|
| name | string | Failed institution name, up to 100 characters; every word of two or more letters or digits must appear in the name FDIC recorded (e.g. "silicon valley"). Case-insensitive. A standalone NA is ignored beside other words, so it also finds names recorded with N.A. |
| sort | string | date_desc (newest first, default), date_asc, loss_desc (largest estimated loss first), or assets_desc. |
| certs | array | Nonempty selection of at most 1000 raw CERTs; deduplicated before querying the first 50. deferred_certs holds the rest for another call. Events before 1977 carry no CERT. |
| limit | integer | Events per page; accepts 1–10000, executes at most 200. effective_limit reports the applied count; use next_offset to continue. |
| state | string | Failed institution's headquarters state: two-letter code in any case or full name. |
| offset |
Find FDIC-insured banks and savings institutions by name, CERT, location, size, charter class, or holding company — including closed, merged, and failed institutions. Name matching is fuzzy, case-insensitive, and also matches former and trade names (a result says which it matched); every word must match. Returns institution records keyed by CERT, the FDIC certificate number every other fdic_ tool takes, with active status, successor CERT for merged or failed institutions, holding company, and latest reported assets and deposits. Credit unions are insured by the NCUA and are not in this data.
| Argument | Type | Description |
|---|---|---|
| city | string | Headquarters city as FDIC spells it (e.g. Seattle, St. Louis), up to 50 characters; matched exactly, as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem, Coeur d'Alene finds Coeur D Alene). |
| name | string | Institution name to match, up to 100 characters — current, former, or trade name, case-insensitive, every word required (e.g. "silicon valley"). Punctuation other than & ' . , - is ignored, and so is a standalone N.A. or NA, which then also matches "National Association". |
| sort | string | relevance (active institutions whose current name holds every word of name first, then every other match, each by match score; default when name is given — without name it falls back to assets_desc), assets_desc (largest first; the default otherwise), or name (A–Z). |
| certs | array | Nonempty CERT selection, at most 1000 raw items. Deduplicated first; the first 50 are queried and the rest returned as deferred_certs. missing_certs covers only processed_certs. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sql"
],
"properties": {
"sql": {
"type": "string",
"maxLength": 20000,
"minLength": 1,
"description": "One SELECT against df_<id> tables named in a dataset field or by fdic_dataframe_describe, up to 20,000 characters."
},
"preview": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows to return inline; defaults to the effective row_limit and is clamped to it. Set it low when register_as keeps the full result."
},
"row_limit": {
"type": "integer",
"default": 1000,
"maximum": 1000000,
"minimum": 1,
"description": "Requested materialization cap (default 1,000; hard input ceiling 1,000,000), clamped to the execution cap of 10,000. Without register_as, row_count_capped reports more matches; continue with ordered LIMIT/OFFSET pages. register_as keeps the whole result within the staging budget."
},
"register_as": {
"type": "string",
"pattern": "^df_[A-Z0-9]{5}_[A-Z0-9]{5}$",
"description": "Materialize the full result as a new dataframe under this unused name (df_XXXXX_XXXXX: uppercase letters and digits). A name already staged fails as register_as_clash — including on a repeat of a call that already saved it. The live dataframes share a 1,000,000-row budget: the oldest are dropped to make room, and a result over the budget on its own fails as register_as_too_large. Omit to return rows only."
}
},
"additionalProperties": false
}| string |
| Branch state: two-letter code in any case or full name. |
| county | string | County as FDIC spells it (King, not King County — a trailing " County" is stripped), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it; requires state. |
| msa_code | string | Five-digit CBSA (metropolitan area) code, 10180–49740; branch rows from a state-level call carry msa_code values to reuse. Non-metropolitan branches have no code. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "Five-digit branch ZIP code; leading zeros kept (02110)."
},
"cert": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number, from fdic_search_institutions. Alone: its branches and per-state share. With a geography: its position in that market."
},
"city": {
"type": "string",
"maxLength": 50,
"description": "Branch city as FDIC spells it (Seattle, St. Louis), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem); requires state."
},
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1994,
"description": "Survey year (deposits as of June 30), 1994 on. Omit for the latest survey."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Positive inline preview count, bounded by the already-fetched branches or ranking. A larger set is staged whole as a dataframe when this deployment stages dataframes."
},
"state": {
"type": "string",
"maxLength": 50,
"description": "Branch state: two-letter code in any case or full name."
},
"county": {
"type": "string",
"maxLength": 50,
"description": "County as FDIC spells it (King, not King County — a trailing \" County\" is stripped), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it; requires state."
},
"msa_code": {
"type": "string",
"pattern": "^[1-9]\\d{4}$",
"description": "Five-digit CBSA (metropolitan area) code, 10180–49740; branch rows from a state-level call carry msa_code values to reuse. Non-metropolitan branches have no code."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cert"
],
"properties": {
"cert": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number, from fdic_search_institutions."
},
"metrics": {
"type": "array",
"items": {
"enum": [
"total_assets",
"total_liabilities",
"total_deposits",
"domestic_deposits",
"insured_deposits",
"uninsured_deposits",
"insured_deposit_share",
"brokered_deposits",
"equity_capital",
"net_loans",
"securities",
"cash_and_due",
"real_estate_loans",
"construction_loans",
"multifamily_loans",
"nonfarm_nonresidential_loans",
"residential_mortgage_loans",
"commercial_industrial_loans",
"consumer_loans",
"noncurrent_loans",
"loan_loss_allowance",
"other_real_estate_owned",
"net_income",
"net_income_ytd",
"noninterest_income",
"noninterest_expense",
"provision_for_credit_losses",
"net_charge_offs",
"roa",
"roa_ytd",
"roe",
"roe_ytd",
"net_interest_margin",
"net_interest_margin_ytd",
"efficiency_ratio",
"efficiency_ratio_ytd",
"net_charge_off_rate",
"net_charge_off_rate_ytd",
"noncurrent_loan_rate",
"nonperforming_asset_rate",
"reserve_coverage",
"loans_to_deposits",
"equity_to_assets",
"leverage_ratio",
"cet1_ratio",
"tier1_risk_based_ratio",
"total_risk_based_capital_ratio",
"employees",
"domestic_offices"
],
"type": "string",
"description": "Metric name from the catalog, e.g. roa, net_income_ytd, cet1_ratio."
},
"maxItems": 1000,
"description": "At most 1000 raw metric names (fdic_list_reference topic metrics). Deduplicated before querying the first 25; deferred_metrics holds the rest. Omit or pass [] for the default health set."
},
"to_date": {
"type": "string",
"pattern": "^(\\d{4}-(03-31|06-30|09-30|12-31)|\\d{4}(0331|0630|0930|1231)|\\d{4}-?[Qq][1-4])$",
"description": "Latest quarter to include, in the same forms as from_date. Omit for the latest published quarter."
},
"quarters": {
"type": "integer",
"default": 8,
"maximum": 10000,
"minimum": 1,
"description": "Most recent quarters to return; accepts 1–10000, executes at most 200 within from_date/to_date. effective_quarters reports the applied count. Continue with to_date before the oldest returned quarter."
},
"from_date": {
"type": "string",
"pattern": "^(\\d{4}-(03-31|06-30|09-30|12-31)|\\d{4}(0331|0630|0930|1231)|\\d{4}-?[Qq][1-4])$",
"description": "Earliest quarter to include: a quarter-end date (2025-03-31), the same without dashes (20250331), or a quarter label (2025Q1)."
}
},
"additionalProperties": false
}| to_date |
| string |
| Latest quarter, in the same forms as from_date. Omit for the latest published quarter; beside from_date, a later quarter is cut back to it. |
| from_date | string | Earliest quarter: a quarter-end date (2024-03-31), the same without dashes, or a quarter label (2024Q1). Omit for to_date alone. |
| max_assets | number | Maximum total assets in that quarter, thousands of US dollars; applied to each quarter's report. |
| min_assets | number | Minimum total assets in that quarter, thousands of US dollars (1000000 = $1 billion); applied to each quarter's report. |
| sort_order | string | desc (default, largest first) or asc; applies to sort_by. Rows without a value sort last. |
| metric_filters | array | Up to 5 metric thresholds, all of which a row must meet. A threshold on a capital ratio or insured_deposit_share skips filers that did not report it. Each filtered metric is added to metrics. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"certs": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number."
},
"maxItems": 1000,
"minItems": 1,
"description": "Nonempty selection, at most 1000 raw CERTs. Deduplicated before querying the first 100; deferred_certs holds the rest for another call. Omit to screen every filer."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Positive inline preview count, bounded by the already-fetched panel. A larger panel is staged whole as a dataframe when this deployment stages dataframes."
},
"state": {
"type": "string",
"maxLength": 50,
"description": "Headquarters state: two-letter code in any case or full name. Branch locations are in fdic_get_deposits."
},
"metrics": {
"type": "array",
"items": {
"enum": [
"total_assets",
"total_liabilities",
"total_deposits",
"domestic_deposits",
"insured_deposits",
"uninsured_deposits",
"insured_deposit_share",
"brokered_deposits",
"equity_capital",
"net_loans",
"securities",
"cash_and_due",
"real_estate_loans",
"construction_loans",
"multifamily_loans",
"nonfarm_nonresidential_loans",
"residential_mortgage_loans",
"commercial_industrial_loans",
"consumer_loans",
"noncurrent_loans",
"loan_loss_allowance",
"other_real_estate_owned",
"net_income",
"net_income_ytd",
"noninterest_income",
"noninterest_expense",
"provision_for_credit_losses",
"net_charge_offs",
"roa",
"roa_ytd",
"roe",
"roe_ytd",
"net_interest_margin",
"net_interest_margin_ytd",
"efficiency_ratio",
"efficiency_ratio_ytd",
"net_charge_off_rate",
"net_charge_off_rate_ytd",
"noncurrent_loan_rate",
"nonperforming_asset_rate",
"reserve_coverage",
"loans_to_deposits",
"equity_to_assets",
"leverage_ratio",
"cet1_ratio",
"tier1_risk_based_ratio",
"total_risk_based_capital_ratio",
"employees",
"domestic_offices"
],
"type": "string",
"description": "Metric name from the catalog, e.g. roa, net_income_ytd, cet1_ratio."
},
"maxItems": 1000,
"description": "At most 1000 raw metric names. Deduplicated before querying the first 30; deferred_metrics holds the rest. Sort/filter metrics are always added. Omit or pass [] for the default health set."
},
"sort_by": {
"enum": [
"total_assets",
"total_liabilities",
"total_deposits",
"domestic_deposits",
"insured_deposits",
"uninsured_deposits",
"insured_deposit_share",
"brokered_deposits",
"equity_capital",
"net_loans",
"securities",
"cash_and_due",
"real_estate_loans",
"construction_loans",
"multifamily_loans",
"nonfarm_nonresidential_loans",
"residential_mortgage_loans",
"commercial_industrial_loans",
"consumer_loans",
"noncurrent_loans",
"loan_loss_allowance",
"other_real_estate_owned",
"net_income",
"net_income_ytd",
"noninterest_income",
"noninterest_expense",
"provision_for_credit_losses",
"net_charge_offs",
"roa",
"roa_ytd",
"roe",
"roe_ytd",
"net_interest_margin",
"net_interest_margin_ytd",
"efficiency_ratio",
"efficiency_ratio_ytd",
"net_charge_off_rate",
"net_charge_off_rate_ytd",
"noncurrent_loan_rate",
"nonperforming_asset_rate",
"reserve_coverage",
"loans_to_deposits",
"equity_to_assets",
"leverage_ratio",
"cet1_ratio",
"tier1_risk_based_ratio",
"total_risk_based_capital_ratio",
"employees",
"domestic_offices"
],
"type": "string",
"description": "Metric to order the preview (and the staged table) by; added to metrics when absent. Omit to order by newest quarter, then CERT."
},
"to_date": {
"type": "string",
"pattern": "^(\\d{4}-(03-31|06-30|09-30|12-31)|\\d{4}(0331|0630|0930|1231)|\\d{4}-?[Qq][1-4])$",
"description": "Latest quarter, in the same forms as from_date. Omit for the latest published quarter; beside from_date, a later quarter is cut back to it."
},
"from_date": {
"type": "string",
"pattern": "^(\\d{4}-(03-31|06-30|09-30|12-31)|\\d{4}(0331|0630|0930|1231)|\\d{4}-?[Qq][1-4])$",
"description": "Earliest quarter: a quarter-end date (2024-03-31), the same without dashes, or a quarter label (2024Q1). Omit for to_date alone."
},
"max_assets": {
"type": "number",
"minimum": 0,
"description": "Maximum total assets in that quarter, thousands of US dollars; applied to each quarter's report."
},
"min_assets": {
"type": "number",
"minimum": 0,
"description": "Minimum total assets in that quarter, thousands of US dollars (1000000 = $1 billion); applied to each quarter's report."
},
"sort_order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "desc (default, largest first) or asc; applies to sort_by. Rows without a value sort last."
},
"metric_filters": {
"type": "array",
"items": {
"type": "object",
"required": [
"metric"
],
"properties": {
"max": {
"type": "number",
"description": "Inclusive upper bound in the metric's unit."
},
"min": {
"type": "number",
"description": "Inclusive lower bound in the metric's unit: percent for ratios (3 = 3%), thousands of dollars for amounts."
},
"metric": {
"enum": [
"total_assets",
"total_liabilities",
"total_deposits",
"domestic_deposits",
"insured_deposits",
"uninsured_deposits",
"insured_deposit_share",
"brokered_deposits",
"equity_capital",
"net_loans",
"securities",
"cash_and_due",
"real_estate_loans",
"construction_loans",
"multifamily_loans",
"nonfarm_nonresidential_loans",
"residential_mortgage_loans",
"commercial_industrial_loans",
"consumer_loans",
"noncurrent_loans",
"loan_loss_allowance",
"other_real_estate_owned",
"net_income",
"net_income_ytd",
"noninterest_income",
"noninterest_expense",
"provision_for_credit_losses",
"net_charge_offs",
"roa",
"roa_ytd",
"roe",
"roe_ytd",
"net_interest_margin",
"net_interest_margin_ytd",
"efficiency_ratio",
"efficiency_ratio_ytd",
"net_charge_off_rate",
"net_charge_off_rate_ytd",
"noncurrent_loan_rate",
"nonperforming_asset_rate",
"reserve_coverage",
"loans_to_deposits",
"equity_to_assets",
"leverage_ratio",
"cet1_ratio",
"tier1_risk_based_ratio",
"total_risk_based_capital_ratio",
"employees",
"domestic_offices"
],
"type": "string",
"description": "Metric name from the catalog, e.g. roa, net_income_ytd, cet1_ratio."
}
},
"description": "One threshold: a metric with min, max, or both."
},
"maxItems": 5,
"description": "Up to 5 metric thresholds, all of which a row must meet. A threshold on a capital ratio or insured_deposit_share skips filers that did not report it. Each filtered metric is added to metrics."
}
},
"additionalProperties": false
}| integer |
| Events to skip (0–100,000); pass next_offset from the previous page. |
| methods | array | How each event was resolved: PA purchase and assumption of all deposits, PI P&A of insured deposits only, P&A P&A with deposit scope undetermined, IDT insured deposit transfer, ABT asset-backed transfer, PO payout, DINB payout through a Deposit Insurance National Bank, A/A assistance transaction, REP reprivatization, MGR FSLIC management takeover, OBAM undocumented assistance code. |
| to_date | string | Latest failure date to include (YYYY-MM-DD). |
| group_by | string | Add counts, assets, deposits, and estimated losses per year, state, method, or insurance_fund over every matching event. |
| from_date | string | Earliest failure date to include (YYYY-MM-DD, e.g. 2023-03-10). |
| min_assets | number | Minimum total assets at the last report before failure, in thousands of US dollars. |
| resolution | string | failure (default), assistance (open-bank assistance and similar transactions), or all. Echoed as resolution_filter. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Failed institution name, up to 100 characters; every word of two or more letters or digits must appear in the name FDIC recorded (e.g. \"silicon valley\"). Case-insensitive. A standalone NA is ignored beside other words, so it also finds names recorded with N.A."
},
"sort": {
"enum": [
"date_desc",
"date_asc",
"loss_desc",
"assets_desc"
],
"type": "string",
"default": "date_desc",
"description": "date_desc (newest first, default), date_asc, loss_desc (largest estimated loss first), or assets_desc."
},
"certs": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number."
},
"maxItems": 1000,
"minItems": 1,
"description": "Nonempty selection of at most 1000 raw CERTs; deduplicated before querying the first 50. deferred_certs holds the rest for another call. Events before 1977 carry no CERT."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 10000,
"minimum": 1,
"description": "Events per page; accepts 1–10000, executes at most 200. effective_limit reports the applied count; use next_offset to continue."
},
"state": {
"type": "string",
"maxLength": 50,
"description": "Failed institution's headquarters state: two-letter code in any case or full name."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Events to skip (0–100,000); pass next_offset from the previous page."
},
"methods": {
"type": "array",
"items": {
"enum": [
"PA",
"PI",
"P&A",
"IDT",
"ABT",
"PO",
"DINB",
"A/A",
"REP",
"MGR",
"OBAM"
],
"type": "string",
"description": "Resolution method code, uppercase; fdic_list_reference topic failure_methods lists them."
},
"maxItems": 1000,
"minItems": 1,
"description": "How each event was resolved: PA purchase and assumption of all deposits, PI P&A of insured deposits only, P&A P&A with deposit scope undetermined, IDT insured deposit transfer, ABT asset-backed transfer, PO payout, DINB payout through a Deposit Insurance National Bank, A/A assistance transaction, REP reprivatization, MGR FSLIC management takeover, OBAM undocumented assistance code."
},
"to_date": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"description": "Latest failure date to include (YYYY-MM-DD)."
},
"group_by": {
"enum": [
"year",
"state",
"method",
"insurance_fund"
],
"type": "string",
"description": "Add counts, assets, deposits, and estimated losses per year, state, method, or insurance_fund over every matching event."
},
"from_date": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"description": "Earliest failure date to include (YYYY-MM-DD, e.g. 2023-03-10)."
},
"min_assets": {
"type": "number",
"minimum": 0,
"description": "Minimum total assets at the last report before failure, in thousands of US dollars."
},
"resolution": {
"enum": [
"failure",
"assistance",
"all"
],
"type": "string",
"description": "failure (default), assistance (open-bank assistance and similar transactions), or all. Echoed as resolution_filter."
}
},
"additionalProperties": false
}| limit | integer | Institutions per page; accepts 1–10000, executes at most 100. effective_limit reports the applied count; use next_offset to continue. |
| state | string | Headquarters state: two-letter code in any case (wa) or full name (Washington); DC and territories accepted. |
| offset | integer | Matches to skip (0–100,000); pass next_offset from the previous page. |
| status | string | active, inactive (merged, failed, or closed), or any. Default: any when name or certs is given, otherwise active. The applied value is echoed as status_filter. |
| max_assets | number | Maximum latest reported total assets, in thousands of US dollars. |
| min_assets | number | Minimum latest reported total assets, in thousands of US dollars (1000000 = $1 billion). |
| bank_classes | array | Charter classes to include: N national bank, NM state nonmember bank, SM state member bank, SB federal savings bank, SI state savings bank, SL state savings and loan, OI insured branch of a foreign bank, NC noninsured non-deposit trust company. |
| holding_company_rssd | integer | Holding company RSSD ID from any result's holding_company.rssd; lists the institutions under that top holder. With status any, former subsidiaries are included under the holder they had at closing. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"maxLength": 50,
"description": "Headquarters city as FDIC spells it (e.g. Seattle, St. Louis), up to 50 characters; matched exactly, as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem, Coeur d'Alene finds Coeur D Alene)."
},
"name": {
"type": "string",
"maxLength": 100,
"description": "Institution name to match, up to 100 characters — current, former, or trade name, case-insensitive, every word required (e.g. \"silicon valley\"). Punctuation other than & ' . , - is ignored, and so is a standalone N.A. or NA, which then also matches \"National Association\"."
},
"sort": {
"enum": [
"relevance",
"assets_desc",
"name"
],
"type": "string",
"description": "relevance (active institutions whose current name holds every word of name first, then every other match, each by match score; default when name is given — without name it falls back to assets_desc), assets_desc (largest first; the default otherwise), or name (A–Z)."
},
"certs": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "FDIC certificate number."
},
"maxItems": 1000,
"minItems": 1,
"description": "Nonempty CERT selection, at most 1000 raw items. Deduplicated first; the first 50 are queried and the rest returned as deferred_certs. missing_certs covers only processed_certs."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 10000,
"minimum": 1,
"description": "Institutions per page; accepts 1–10000, executes at most 100. effective_limit reports the applied count; use next_offset to continue."
},
"state": {
"type": "string",
"maxLength": 50,
"description": "Headquarters state: two-letter code in any case (wa) or full name (Washington); DC and territories accepted."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Matches to skip (0–100,000); pass next_offset from the previous page."
},
"status": {
"enum": [
"active",
"inactive",
"any"
],
"type": "string",
"description": "active, inactive (merged, failed, or closed), or any. Default: any when name or certs is given, otherwise active. The applied value is echoed as status_filter."
},
"max_assets": {
"type": "number",
"minimum": 0,
"description": "Maximum latest reported total assets, in thousands of US dollars."
},
"min_assets": {
"type": "number",
"minimum": 0,
"description": "Minimum latest reported total assets, in thousands of US dollars (1000000 = $1 billion)."
},
"bank_classes": {
"type": "array",
"items": {
"enum": [
"N",
"NM",
"SM",
"SB",
"SI",
"SL",
"OI",
"NC"
],
"type": "string",
"description": "Charter class code, uppercase; fdic_list_reference topic bank_classes lists them."
},
"maxItems": 1000,
"minItems": 1,
"description": "Charter classes to include: N national bank, NM state nonmember bank, SM state member bank, SB federal savings bank, SI state savings bank, SL state savings and loan, OI insured branch of a foreign bank, NC noninsured non-deposit trust company."
},
"holding_company_rssd": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Holding company RSSD ID from any result's holding_company.rssd; lists the institutions under that top holder. With status any, former subsidiaries are included under the holder they had at closing."
}
},
"additionalProperties": false
}