---
type: "firecrawl-provider"
description: "FDIC BankFind Suite (banks.data.fdic.gov), from its public keyless API at api.fdic.gov/banks: every FDIC-insured institution since 1934, current branch locations, quarterly Call Report financials since 1984, bank failures and assistance transactions since 1934, structure-change history, annual state and national banking aggregates, and the annual Summary of Deposits by branch since 1994. Filters, fuzzy name search, column projection, deterministic sort and offset pagination on every dataset."
use_when: "FDIC BankFind Suite (banks.data.fdic.gov), from its public keyless API at api.fdic.gov/banks: every FDIC-insured institution since 1934, current branch locations, quarterly Call Report financials since 1984, bank failures and assistance transactions since 1934, structure-change history, annual state and national banking aggregates, and the annual Summary of Deposits by branch since 1994. Filters, fuzzy name search, column projection, deterministic sort and offset pagination on every dataset."
categories: "Public records"
capabilities: 7
credits_per_call: 5
---
# FDIC BankFind Suite on Firecrawl Alexandria

FDIC BankFind Suite (banks.data.fdic.gov), from its public keyless API at api.fdic.gov/banks: every FDIC-insured institution since 1934, current branch locations, quarterly Call Report financials since 1984, bank failures and assistance transactions since 1934, structure-change history, annual state and national banking aggregates, and the annual Summary of Deposits by branch since 1994. Filters, fuzzy name search, column projection, deterministic sort and offset pagination on every dataset.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `banks-data-fdic-gov`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/banks-data-fdic-gov)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/openapi.json)

## Capabilities

- [Deposits](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/deposits): The FDIC Summary of Deposits from BankFind's sod dataset: deposits held at every branch of every FDIC-insured institution as of June 30 each year since 1994. One record per branch and year with the branch name, number, address, coordinates, county, MSA and CSA, its deposits (DEPSUMBR, thousands of dollars), and the institution's name, CERT, holding company, charter, regulator, total assets and total deposits. YEAR is a number. Latest year first, largest branches first within a year.
- [Failures](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/failures): Every FDIC-insured bank failure and assistance transaction since 1934 from BankFind's failures dataset: institution name, CERT (null for some early failures), city and state, failure and resolution dates, resolution type (FAILURE or ASSISTANCE) and transaction type (purchase and assumption, payout, insured deposit transfer...), insurance fund, acquiring institution and its location, total deposits and assets at failure and the estimated loss to the insurance fund (thousands of dollars; null where not available). FAILDATE is M/D/YYYY. Most recent first.
- [Financials](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/financials): Quarterly Call Report (and pre-2012 Thrift Financial Report) data for every FDIC-insured institution since March 1984, from BankFind's financials dataset: one record per institution and quarter with about 160 default columns, among them total assets, deposits (insured and uninsured estimates), loans, securities, equity, interest income and expense, net interest income, noninterest income and expense, provisions, net income, charge-offs, past-due and nonaccrual assets, ROA, ROE, net interest margin, efficiency ratio and the leverage, tier 1, CET1 and total risk-based capital ratios. Over 2,000 more columns are reachable with `fields`. Amounts are thousands of dollars, income items are year to date, ratios are percent, REPDTE is YYYYMMDD. Latest quarter first.
- [History](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/history): Structure change events for FDIC-insured institutions and their offices from BankFind's history dataset: new institutions, mergers and acquisitions (with the acquiring, outgoing and surviving institutions), charter and class conversions, name changes, relocations, failures, and branch openings, closings and sales. One record per event with change code and description (CHANGECODE / CHANGECODE_DESC), effective and processed dates (ISO timestamps), the institution and office involved, and their addresses. Most recent effective date first.
- [Institutions](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/institutions): FDIC-insured institutions, open and closed since 1934, from BankFind's institutions dataset: legal name, FDIC certificate number (CERT), charter class, regulator, holding company, headquarters address and coordinates, website, established and insured dates, successor (ULTCERT) for merged banks, prior names, and the latest quarter's total assets, deposits, equity, net income, ROA and ROE (amounts in thousands of dollars). Fuzzy name search, exact filters on any column, largest first by default. Dates are MM/DD/YYYY strings.
- [Locations](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/locations): Current offices of FDIC-insured institutions from BankFind's locations dataset: main offices and branches with office name and number, FDIC unique number (UNINUM), service type (full-service brick and mortar, retail, limited service...), street address, county, ZIP, coordinates, CBSA/CSA, opened date and acquisition date. Closed offices and the offices of closed institutions are not included. CERT is a string in this dataset. Dates are MM/DD/YYYY strings.
- [Summary](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/summary): Annual aggregate financial and structure data for all FDIC-insured institutions from BankFind's summary dataset (Historical Statistics on Banking), by state or territory and year since 1934, split between commercial banks (CB) and savings institutions (SI): number of institutions, offices and branches, new charters, mergers and failures, and the year-end totals of assets, deposits, loans, equity, income and expense (thousands of dollars). STALP `USA` is all states and territories, `US` the 50 states and DC, `OT` the territories. YEAR is a string. Latest year first.

## 1. Choose this provider when

FDIC BankFind Suite (banks.data.fdic.gov), from its public keyless API at api.fdic.gov/banks: every FDIC-insured institution since 1934, current branch locations, quarterly Call Report financials since 1984, bank failures and assistance transactions since 1934, structure-change history, annual state and national banking aggregates, and the annual Summary of Deposits by branch since 1994. Filters, fuzzy name search, column projection, deterministic sort and offset pagination on every dataset.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "banks-data-fdic-gov",
  "capability": "bank-data/deposits",
  "options": {
    "cert": 3511,
    "page_size": 2,
    "year": 2025
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `city` (string): Exact city, matched against `CITYBR` as BankFind stores it, case included (`Sioux Falls`, not `sioux falls`). Pattern: ^[^"\\]+$. Example: `<city>`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["NAMEBR", "CITYBR", "DEPSUMBR", "ASSET"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from_year` (number): Earliest survey year to include. Example: `1934`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["DEPSUMBR"]. Defaults to `YEAR` then `DEPSUMBR`, descending. Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `STALPBR`, the branch's state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to_year` (number): Latest survey year to include. Example: `1934`
- `year` (number): One survey year (deposits as of June 30), 1994 onward. Not combinable with `from_year` / `to_year`. Example: `1934`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "banks-data-fdic-gov",
    capability: "bank-data/deposits",
    options: {
      cert: 3511,
      page_size: 2,
      year: 2025,
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "banks-data-fdic-gov",
  "capability": "bank-data/deposits",
  "options": {
    "cert": 3511,
    "page_size": 2,
    "year": 2025
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "banks-data-fdic-gov",
    "capability": "bank-data/deposits",
    "options": {
      "cert": 3511,
      "page_size": 2,
      "year": 2025
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'banks-data-fdic-gov/bank-data/deposits' \
  --options '{"cert":3511,"page_size":2,"year":2025}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "banks-data-fdic-gov",
  "capability": "bank-data/deposits",
  "options": {
    "cert": 3511,
    "page_size": 2,
    "year": 2025
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "banks-data-fdic-gov",
  "capability": "bank-data/deposits",
  "options": {
    "cert": 3511,
    "page_size": 2,
    "year": 2025
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "count": 2,
  "dataset": "deposits",
  "filters": "CERT:3511 AND YEAR:2025",
  "index_created_at": "2026-09-18T13:38:54Z",
  "next_cursor": "2",
  "observed_at_ms": 1791422161871,
  "offset": 0,
  "records": [
    {
      "ADDRESBR": "1801 S Minnesota Ave",
      "ASSET": 1746394000,
      "BRNUM": 4787,
      "CERT": 3511,
      "CITYBR": "Sioux Falls",
      "DEPDOM": 1392827000,
      "DEPSUMBR": 344452823,
      "ID": "2025_3511_4787",
      "NAMEBR": "Colonial Branch",
      "NAMEFULL": "Wells Fargo Bank, National Association",
      "SIMS_LATITUDE": 43.5292218548848,
      "SIMS_LONGITUDE": -96.7315970904807,
      "STALPBR": "SD",
      "YEAR": 2025
    },
    {
      "ADDRESBR": "437 Madison Ave",
      "ASSET": 1746394000,
      "BRNUM": 8821,
      "CERT": 3511,
      "CITYBR": "New York",
      "DEPDOM": 1392827000,
      "DEPSUMBR": 26259652,
      "ID": "2025_3511_8821",
      "NAMEBR": "Madison & 49Th Street Branch",
      "NAMEFULL": "Wells Fargo Bank, National Association",
      "SIMS_LATITUDE": 40.7574788996752,
      "SIMS_LONGITUDE": -73.9756442671528,
      "STALPBR": "NY",
      "YEAR": 2025
    }
  ],
  "search": null,
  "sort_by": [
    "YEAR",
    "DEPSUMBR",
    "CERT",
    "BRNUM"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/sod?filters=CERT%3A3511%20AND%20YEAR%3A2025&sort_by=YEAR%2CDEPSUMBR%2CCERT%2CBRNUM&sort_order=DESC&limit=2&offset=0",
  "total_count": 4213
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Deposits

- Capability: `bank-data/deposits`
- Description: The FDIC Summary of Deposits from BankFind's sod dataset: deposits held at every branch of every FDIC-insured institution as of June 30 each year since 1994. One record per branch and year with the branch name, number, address, coordinates, county, MSA and CSA, its deposits (DEPSUMBR, thousands of dollars), and the institution's name, CERT, holding company, charter, regulator, total assets and total deposits. YEAR is a number. Latest year first, largest branches first within a year.
- Instructions: Deposit market share: how much each bank holds in a city, county, state or MSA, or where one bank's deposits sit. Filter by `cert`, `year`, branch `state` and `city`, or by any column with `filters` (`CNTYNAMB`, `MSABR`, `ZIPBR`).
- Cost: 5 credits per call
- Capability file: [Deposits](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/deposits)

Accepted options:
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `city` (string): Exact city, matched against `CITYBR` as BankFind stores it, case included (`Sioux Falls`, not `sioux falls`). Pattern: ^[^"\\]+$. Example: `<city>`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["NAMEBR", "CITYBR", "DEPSUMBR", "ASSET"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from_year` (number): Earliest survey year to include. Example: `1934`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["DEPSUMBR"]. Defaults to `YEAR` then `DEPSUMBR`, descending. Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `STALPBR`, the branch's state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to_year` (number): Latest survey year to include. Example: `1934`
- `year` (number): One survey year (deposits as of June 30), 1994 onward. Not combinable with `from_year` / `to_year`. Example: `1934`

Response schema example:
```json
{
  "count": 2,
  "dataset": "deposits",
  "filters": "CERT:3511 AND YEAR:2025",
  "index_created_at": "2026-09-18T13:38:54Z",
  "next_cursor": "2",
  "observed_at_ms": 1791422161871,
  "offset": 0,
  "records": [
    {
      "ADDRESBR": "1801 S Minnesota Ave",
      "ASSET": 1746394000,
      "BRNUM": 4787,
      "CERT": 3511,
      "CITYBR": "Sioux Falls",
      "DEPDOM": 1392827000,
      "DEPSUMBR": 344452823,
      "ID": "2025_3511_4787",
      "NAMEBR": "Colonial Branch",
      "NAMEFULL": "Wells Fargo Bank, National Association",
      "SIMS_LATITUDE": 43.5292218548848,
      "SIMS_LONGITUDE": -96.7315970904807,
      "STALPBR": "SD",
      "YEAR": 2025
    },
    {
      "ADDRESBR": "437 Madison Ave",
      "ASSET": 1746394000,
      "BRNUM": 8821,
      "CERT": 3511,
      "CITYBR": "New York",
      "DEPDOM": 1392827000,
      "DEPSUMBR": 26259652,
      "ID": "2025_3511_8821",
      "NAMEBR": "Madison & 49Th Street Branch",
      "NAMEFULL": "Wells Fargo Bank, National Association",
      "SIMS_LATITUDE": 40.7574788996752,
      "SIMS_LONGITUDE": -73.9756442671528,
      "STALPBR": "NY",
      "YEAR": 2025
    }
  ],
  "search": null,
  "sort_by": [
    "YEAR",
    "DEPSUMBR",
    "CERT",
    "BRNUM"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/sod?filters=CERT%3A3511%20AND%20YEAR%3A2025&sort_by=YEAR%2CDEPSUMBR%2CCERT%2CBRNUM&sort_order=DESC&limit=2&offset=0",
  "total_count": 4213
}
```

### Failures

- Capability: `bank-data/failures`
- Description: Every FDIC-insured bank failure and assistance transaction since 1934 from BankFind's failures dataset: institution name, CERT (null for some early failures), city and state, failure and resolution dates, resolution type (FAILURE or ASSISTANCE) and transaction type (purchase and assumption, payout, insured deposit transfer...), insurance fund, acquiring institution and its location, total deposits and assets at failure and the estimated loss to the insurance fund (thousands of dollars; null where not available). FAILDATE is M/D/YYYY. Most recent first.
- Instructions: Which banks failed in a period or state, who acquired them, how large they were and what they cost the Deposit Insurance Fund. Filter with `from` / `to` on the failure date, `state`, or `cert` for one institution.
- Cost: 5 credits per call
- Capability file: [Failures](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/failures)

Accepted options:
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["NAME", "FAILDATE", "COST", "BIDNAME"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from` (string): Earliest failure date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<from>`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["COST"] or ["QBFASSET"]. Defaults to `FAILDATE` descending (most recent first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `PSTALP`. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to` (string): Latest failure date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<to>`

Response schema example:
```json
{
  "count": 2,
  "dataset": "failures",
  "filters": "FAILDATE:[\"2023-03-01\" TO \"2023-03-31\"]",
  "index_created_at": "2026-08-25T14:13:18Z",
  "next_cursor": null,
  "observed_at_ms": 1791422161867,
  "offset": 0,
  "records": [
    {
      "BIDNAME": "FLAGSTAR BANK, N.A.",
      "CERT": 57053,
      "CITYST": "NEW YORK, NY",
      "COST": 0,
      "FAILDATE": "3/12/2023",
      "FAILYR": "2023",
      "ID": "4106",
      "NAME": "SIGNATURE BANK",
      "QBFASSET": 110363650,
      "QBFDEP": 88612911,
      "RESTYPE": "FAILURE",
      "RESTYPE1": "PA",
      "SAVR": "DIF"
    },
    {
      "BIDNAME": "FIRST-CITIZENS BANK & TRUST COMPANY",
      "CERT": 24735,
      "CITYST": "SANTA CLARA, CA",
      "COST": 18744254.463,
      "FAILDATE": "3/10/2023",
      "FAILYR": "2023",
      "ID": "4105",
      "NAME": "SILICON VALLEY BANK",
      "QBFASSET": 209026000,
      "QBFDEP": 175378000,
      "RESTYPE": "FAILURE",
      "RESTYPE1": "PA",
      "SAVR": "DIF"
    }
  ],
  "search": null,
  "sort_by": [
    "FAILDATE",
    "FIN",
    "NAME"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/failures?filters=FAILDATE%3A%5B%222023-03-01%22%20TO%20%222023-03-31%22%5D&sort_by=FAILDATE%2CFIN%2CNAME&sort_order=DESC&limit=25&offset=0",
  "total_count": 2
}
```

### Financials

- Capability: `bank-data/financials`
- Description: Quarterly Call Report (and pre-2012 Thrift Financial Report) data for every FDIC-insured institution since March 1984, from BankFind's financials dataset: one record per institution and quarter with about 160 default columns, among them total assets, deposits (insured and uninsured estimates), loans, securities, equity, interest income and expense, net interest income, noninterest income and expense, provisions, net income, charge-offs, past-due and nonaccrual assets, ROA, ROE, net interest margin, efficiency ratio and the leverage, tier 1, CET1 and total risk-based capital ratios. Over 2,000 more columns are reachable with `fields`. Amounts are thousands of dollars, income items are year to date, ratios are percent, REPDTE is YYYYMMDD. Latest quarter first.
- Instructions: A bank's balance sheet, earnings, capital and asset quality over time, or every bank in one quarter. Filter by `cert` for one institution's trend or by `report_date` (a quarter end) to compare institutions; use `fields` to fetch only the columns needed. Use `summary` for state or industry totals by year.
- Cost: 5 credits per call
- Capability file: [Financials](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/financials)

Accepted options:
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["ASSET", "DEP", "NETINC", "ROA", "IDT1CER", "DEPUNINS"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from` (string): Earliest quarter-end report date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<from>`
- `page_size` (number): Records per page. Example: `25`
- `report_date` (string): One quarter-end report date, YYYY-MM-DD (`2026-06-30`). Not combinable with `from` / `to`. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `2026-06-30`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["ASSET"]. Defaults to `REPDTE` descending (latest quarter first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `STALP`, the headquarters state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to` (string): Latest quarter-end report date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<to>`

Response schema example:
```json
{
  "count": 1,
  "dataset": "financials",
  "filters": "CERT:3511 AND REPDTE:20241231",
  "index_created_at": "2026-08-19T18:58:33Z",
  "next_cursor": null,
  "observed_at_ms": 1791422161867,
  "offset": 0,
  "records": [
    {
      "ASSET": 1705538000,
      "CERT": 3511,
      "DEP": 1435051000,
      "DEPDOM": 1416882000,
      "DEPUNINS": 652746000,
      "EEFFR": 56.92984437917791,
      "EQ": 166189000,
      "ID": "3511_20241231",
      "IDT1CER": 13.084115272662647,
      "NAME": "WELLS FARGO BANK NA",
      "NETINC": 22633000,
      "NIMY": 3.368735349230308,
      "RBC1AAJ": 8.721898791936985,
      "REPDTE": "20241231",
      "ROA": 1.3157835071336477,
      "ROE": 13.66
    }
  ],
  "search": null,
  "sort_by": [
    "REPDTE",
    "CERT"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/financials?filters=CERT%3A3511%20AND%20REPDTE%3A20241231&sort_by=REPDTE%2CCERT&sort_order=DESC&limit=25&offset=0",
  "total_count": 1
}
```

### History

- Capability: `bank-data/history`
- Description: Structure change events for FDIC-insured institutions and their offices from BankFind's history dataset: new institutions, mergers and acquisitions (with the acquiring, outgoing and surviving institutions), charter and class conversions, name changes, relocations, failures, and branch openings, closings and sales. One record per event with change code and description (CHANGECODE / CHANGECODE_DESC), effective and processed dates (ISO timestamps), the institution and office involved, and their addresses. Most recent effective date first.
- Instructions: What happened to a bank or its branches over time: when it opened, merged, changed its name or charter, or opened and closed branches. Filter by `cert`, by `change_code` (110 new institution, 211 failure, 223 merger without assistance, 510 name change, 711 branch opening, 721 branch closing...) and by effective date with `from` / `to`.
- Cost: 5 credits per call
- Capability file: [History](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/history)

Accepted options:
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `change_code` (number): Event code: 110 new institution, 211 failure of the whole institution, 213 assisted merger, 221 absorption, 223 merger without assistance, 240 voluntary closing, 420 change of chartering agency, 510 legal name change, 520 relocation, 711 branch opening, 712 branch purchased, 721 branch closing, 722 branch sold, 810 participated in a merger, among others. CHANGECODE_DESC says each in words. Example: `10`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["INSTNAME", "EFFDATE", "CHANGECODE_DESC", "ACQ_INSTNAME", "OFF_NAME"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from` (string): Earliest effective date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<from>`
- `name` (string): Fuzzy institution name search (BankFind `search=NAME:...`). Pattern: ^[^"\\]+$. Example: `search=NAME:...`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["PROCDATE"]. Defaults to `EFFDATE` descending (most recent first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `PSTALP`, the institution's headquarters state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to` (string): Latest effective date to include, YYYY-MM-DD. Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$. Example: `<to>`

Response schema example:
```json
{
  "count": 1,
  "dataset": "history",
  "filters": "CERT:24735 AND CHANGECODE:110",
  "index_created_at": "2026-10-02T10:19:48Z",
  "next_cursor": null,
  "observed_at_ms": 1791422161868,
  "offset": 0,
  "records": [
    {
      "CERT": 24735,
      "CHANGECODE": 110,
      "CHANGECODE_DESC": "New Institution",
      "CLASS": "SM",
      "EFFDATE": "1983-10-17T00:00:00",
      "ID": "830002924_110_17167__",
      "INSTNAME": "Silicon Valley Bank",
      "ORG_ROLE_CDE": "FI",
      "PCITY": "San Jose",
      "PROCDATE": "1983-10-18T00:00:00",
      "PSTALP": "CA"
    }
  ],
  "search": null,
  "sort_by": [
    "EFFDATE",
    "TRANSNUM",
    "CHANGECODE",
    "UNINUM"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/history?filters=CERT%3A24735%20AND%20CHANGECODE%3A110&sort_by=EFFDATE%2CTRANSNUM%2CCHANGECODE%2CUNINUM&sort_order=DESC&limit=25&offset=0",
  "total_count": 1
}
```

### Institutions

- Capability: `bank-data/institutions`
- Description: FDIC-insured institutions, open and closed since 1934, from BankFind's institutions dataset: legal name, FDIC certificate number (CERT), charter class, regulator, holding company, headquarters address and coordinates, website, established and insured dates, successor (ULTCERT) for merged banks, prior names, and the latest quarter's total assets, deposits, equity, net income, ROA and ROE (amounts in thousands of dollars). Fuzzy name search, exact filters on any column, largest first by default. Dates are MM/DD/YYYY strings.
- Instructions: Find a US bank or savings institution and its FDIC certificate number (CERT), which every other function filters on, or list banks by state, size or status. Use `name` for a forgiving name search and `cert` for one institution's profile; use `financials` for quarterly history beyond the latest figures.
- Cost: 5 credits per call
- Capability file: [Institutions](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/institutions)

Accepted options:
- `active` (boolean): true for institutions open and insured today, false for closed ones. Omit for both. Example: `false`
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `city` (string): Exact city, matched against `CITY` as BankFind stores it, case included (`Sioux Falls`, not `sioux falls`). Pattern: ^[^"\\]+$. Example: `<city>`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["ASSET", "DEP", "ROA", "WEBADDR"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `name` (string): Fuzzy name search over current and prior names (BankFind `search=NAME:...`), tolerant of misspelling: `Wells Fargo`, `Silvergate`. Pattern: ^[^"\\]+$. Example: `search=NAME:...`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["DEP"] or ["NAME"]. Defaults to `ASSET` descending (largest first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `STALP`, the headquarters state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`

Response schema example:
```json
{
  "count": 1,
  "dataset": "institutions",
  "filters": "CERT:3511",
  "index_created_at": "2026-10-02T11:56:31Z",
  "next_cursor": null,
  "observed_at_ms": 1791422161864,
  "offset": 0,
  "records": [
    {
      "ACTIVE": 1,
      "ASSET": 1907928000,
      "BKCLASS": "N",
      "CERT": 3511,
      "CITY": "Sioux Falls",
      "DEP": 1563534000,
      "EQ": "169518000",
      "ESTYMD": "01/01/1870",
      "FED_RSSD": "451965",
      "ID": "3511",
      "INSDATE": "01/01/1934",
      "NAME": "Wells Fargo Bank, National Association",
      "NAMEHCR": "WELLS FARGO&COMPANY",
      "NETINC": 12808000,
      "REGAGNT": "OCC",
      "REPDTE": "06/30/2026",
      "ROA": 1.3764987837774905,
      "STALP": "SD",
      "STNAME": "South Dakota",
      "WEBADDR": "www.wellsfargo.com"
    }
  ],
  "search": null,
  "sort_by": [
    "ASSET",
    "CERT"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/institutions?filters=CERT%3A3511&sort_by=ASSET%2CCERT&sort_order=DESC&limit=25&offset=0",
  "total_count": 1
}
```

### Locations

- Capability: `bank-data/locations`
- Description: Current offices of FDIC-insured institutions from BankFind's locations dataset: main offices and branches with office name and number, FDIC unique number (UNINUM), service type (full-service brick and mortar, retail, limited service...), street address, county, ZIP, coordinates, CBSA/CSA, opened date and acquisition date. Closed offices and the offices of closed institutions are not included. CERT is a string in this dataset. Dates are MM/DD/YYYY strings.
- Instructions: Where a bank has branches, or which banks have offices in a city, ZIP or state. Filter by `cert` (from `institutions`) for one bank's network. Use `deposits` for deposits held at each branch and `history` for branch openings and closings.
- Cost: 5 credits per call
- Capability file: [Locations](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/locations)

Accepted options:
- `cert` (number): FDIC certificate number, the institution id shared by every BankFind dataset (3511 = Wells Fargo Bank, N.A.; 628 = JPMorgan Chase Bank, N.A.). Find it with `institutions`. A number no institution has ever held is not_found. Example: `10`
- `city` (string): Exact city, matched against `CITY` as BankFind stores it, case included (`Sioux Falls`, not `sioux falls`). Pattern: ^[^"\\]+$. Example: `<city>`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["ADDRESS", "CITY", "LATITUDE", "LONGITUDE", "SERVTYPE_DESC"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["ESTYMD"]. Defaults to `CERT`, then office number ascending (main office first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): Two-letter state or territory code, matched against `STALP`, the office's state. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `zip` (string): Five-digit ZIP code of the office. Pattern: ^[0-9]{5}$. Example: `<zip>`

Response schema example:
```json
{
  "count": 2,
  "dataset": "locations",
  "filters": "CERT:3511 AND STALP:SD AND CITY:\"Sioux Falls\"",
  "index_created_at": "2026-10-02T11:45:30Z",
  "next_cursor": "2",
  "observed_at_ms": 1791422161866,
  "offset": 0,
  "records": [
    {
      "ADDRESS": "3201 N 4th Ave",
      "CERT": "3511",
      "CITY": "Sioux Falls",
      "ESTYMD": "01/01/1870",
      "ID": "2239",
      "LATITUDE": 43.580844403981,
      "LONGITUDE": -96.72291695919,
      "MAINOFF": 1,
      "NAME": "Wells Fargo Bank, National Association",
      "OFFNAME": "Wells Fargo Bank, National Association",
      "OFFNUM": 0,
      "SERVTYPE": 21,
      "SERVTYPE_DESC": "Limited Service - Administrative",
      "STALP": "SD",
      "UNINUM": 2239,
      "ZIP": "57104"
    },
    {
      "ADDRESS": "1301 N Cliff Ave",
      "CERT": "3511",
      "CITY": "Sioux Falls",
      "ESTYMD": "06/22/1960",
      "ID": "233577",
      "LATITUDE": 43.561702274513294,
      "LONGITUDE": -96.7121063995697,
      "MAINOFF": 0,
      "NAME": "Wells Fargo Bank, National Association",
      "OFFNAME": "STOCKYARDS BRANCH",
      "OFFNUM": 4786,
      "SERVTYPE": 11,
      "SERVTYPE_DESC": "FULL SERVICE - BRICK AND MORTAR",
      "STALP": "SD",
      "UNINUM": 233577,
      "ZIP": "57103"
    }
  ],
  "search": null,
  "sort_by": [
    "CERT",
    "OFFNUM",
    "UNINUM"
  ],
  "sort_order": "asc",
  "source_url": "https://api.fdic.gov/banks/locations?filters=CERT%3A3511%20AND%20STALP%3ASD%20AND%20CITY%3A%22Sioux%20Falls%22&sort_by=CERT%2COFFNUM%2CUNINUM&sort_order=ASC&limit=2&offset=0",
  "total_count": 8
}
```

### Summary

- Capability: `bank-data/summary`
- Description: Annual aggregate financial and structure data for all FDIC-insured institutions from BankFind's summary dataset (Historical Statistics on Banking), by state or territory and year since 1934, split between commercial banks (CB) and savings institutions (SI): number of institutions, offices and branches, new charters, mergers and failures, and the year-end totals of assets, deposits, loans, equity, income and expense (thousands of dollars). STALP `USA` is all states and territories, `US` the 50 states and DC, `OT` the territories. YEAR is a string. Latest year first.
- Instructions: State or national banking totals by year: how many banks a state had, total industry assets or deposits, net income, new charters or failures per year. For one institution use `financials`.
- Cost: 5 credits per call
- Capability file: [Summary](https://firecrawl.dev/alexandria/agents/providers/banks-data-fdic-gov/bank-data/summary)

Accepted options:
- `charter_group` (string): CB for commercial banks, SI for savings institutions. Omit for both (two records per state and year). Example: `CB`
- `cursor` (string): next_cursor from the previous page of the same query (the record offset). Example: `<cursor>`
- `fields` (string[]): Projection: column names to return instead of the default set, e.g. ["BANKS", "ASSET", "DEP", "NETINC"]. The identity columns are always added and every record carries `ID`. An unknown name is ignored. The FDIC's column definitions are at https://api.fdic.gov/banks/docs/. Example: `[]`
- `filters` (string): Raw BankFind filter, ANDed with the other inputs. Lucene-style: `FIELD:value`, `FIELD:"two words"`, `FIELD:("A","B")` for any of several, `FIELD:[low TO high]` for an inclusive range (`*` open), `!(FIELD:value)` to exclude, `AND`/`OR` between terms. Column names are upper case and values match exactly as stored, case included. An unknown column matches nothing (an empty result, not an error); a syntax error is invalid_input. Example: `FIELD:value`
- `from_year` (number): Earliest year to include. Example: `1934`
- `page_size` (number): Records per page. Example: `25`
- `sort_by` (string[]): Columns to sort by, in priority order, e.g. ["ASSET"]. Defaults to `YEAR` descending (latest first). Unique tiebreak columns are always appended so offset paging is stable. An unsortable or unknown column is invalid_input. Example: `[]`
- `sort_order` (string): Direction for every sort column. Defaults to the direction of the default sort. Example: `asc`
- `state` (string): State or territory code matched against `STALP`; `USA` for all states and territories, `US` for the 50 states and DC, `OT` for the territories. Pattern: ^[A-Za-z]{2,3}$. Example: `<state>`
- `to_year` (number): Latest year to include. Example: `1934`
- `year` (number): One year. Not combinable with `from_year` / `to_year`. Example: `1934`

Response schema example:
```json
{
  "count": 2,
  "dataset": "summary",
  "filters": "STALP:USA AND YEAR:\"2020\"",
  "index_created_at": "2026-09-16T13:42:38Z",
  "next_cursor": null,
  "observed_at_ms": 1791422161870,
  "offset": 0,
  "records": [
    {
      "ASSET": 1377928851,
      "CB_SI": "SI",
      "DEP": 1139336074,
      "EQ": 134267848,
      "ID": "SI_2020_USA",
      "NETINC": 10664006,
      "OFFICES": 7622,
      "STALP": "USA",
      "STNAME": "All States and Territories",
      "YEAR": "2020"
    },
    {
      "ASSET": 20490824680,
      "CB_SI": "CB",
      "DEP": 16684222687,
      "EQ": 2090100958,
      "ID": "CB_2020_USA",
      "NETINC": 136466931,
      "OFFICES": 77486,
      "STALP": "USA",
      "STNAME": "All States and Territories",
      "YEAR": "2020"
    }
  ],
  "search": null,
  "sort_by": [
    "YEAR",
    "STNAME",
    "CB_SI"
  ],
  "sort_order": "desc",
  "source_url": "https://api.fdic.gov/banks/summary?filters=STALP%3AUSA%20AND%20YEAR%3A%222020%22&sort_by=YEAR%2CSTNAME%2CCB_SI&sort_order=DESC&limit=25&offset=0",
  "total_count": 2
}
```
