<!-- Agent Datasets docs · Banks guide · canonical: https://www.agentdatasets.com/docs/guides/banks · rendered from https://www.agentdatasets.com -->

# Banks

US commercial bank financials and institution profiles from the FDIC BankFind Suite.

## Where the data comes from

Every value this category returns is attributable to one of these publishers, and every payload carries the source tag with it.

| Source | Publisher | What we hold | Licence |
| --- | --- | --- | --- |
| `fdic` | Federal Deposit Insurance Corporation | Institutions directory (cert-keyed entities) and curated quarterly bank financials, FDIC BankFind Suite API | U.S. Government work, public domain (17 U.S.C. § 105) |

## How the data is keyed

Every US bank here is an FDIC-insured institution identified by its **certificate number** — the `cert`. It is not a ticker, not an RSSD id, and not a CIK: a bank holding company that files with the SEC and the insured bank underneath it are different entities with different identifiers. So the first call is almost always a resolution call, and the second is the read.

Financials arrive as report quarters, newest first, with values keyed by a curated `metric_key`. Each value carries its own exact decimal, unit, currency, and `as_of`, and `data.metric_definitions` explains the vocabulary you asked for: title, units, currency, basis, category, and a one-line description. An agent can therefore interpret a metric it has never seen before without a lookup table baked into its prompt.

## Worked workflows

### Resolve a bank name to a certificate

```python
banks_search_institutions(query="Frost Bank", limit=5)
```

Ranked matches come back with both identifiers, location, active status, regulator and charter metadata, lifecycle dates, a score, and the reason the row matched:

```json
{
  "data": {
    "query": "Frost Bank",
    "matches": [
      {
        "cert": 99999,
        "rssd_id": 999999,
        "name": "<institution legal name>",
        "city": "<city>",
        "state": "TX",
        "active": true,
        "primary_regulator": "FDIC",
        "charter_class": "SM",
        "established_date": "1899-01-01",
        "closed_date": null,
        "score": 100,
        "match_reason": "exact_name",
        "as_of": "2026-08-19T00:00:00Z"
      }
    ]
  },
  "meta": { "source": "fdic", "as_of": "2026-08-19T00:00:00Z" },
  "pagination": null
}
```

Values are illustrative; field names are real. `pagination` is `null` because a relevance list is bounded by construction rather than paged. Digits in the query are treated as an exact identifier lookup, so passing a cert or an RSSD id straight through works. A name that matches nothing comes back as `unknown_entity`, sometimes with suggestions attached.

### Read a bank's quarterly financials

Take the `cert` from the search and ask for the metrics you actually need:

```python
banks_get_financials(cert=628, metrics=["total_deposits", "re_construction_land"], limit=4)
```

```json
{
  "data": {
    "cert": 628,
    "name": "<institution legal name>",
    "rssd_id": 999999,
    "active": true,
    "city": "<city>",
    "state": "NY",
    "period_type": "quarter",
    "quarters": [
      {
        "period": "2026-06-30",
        "fiscal_quarter": "2026Q2",
        "values": {
          "total_deposits": {
            "value": "2000000.000",
            "unit": "USD thousands",
            "currency": "USD",
            "as_of": "2026-08-19T00:00:00Z"
          }
        }
      }
    ],
    "metric_definitions": {
      "total_deposits": {
        "title": "Total deposits",
        "units": "USD thousands",
        "currency": "USD",
        "basis": "period_end",
        "category": "size",
        "description": "..."
      }
    }
  },
  "meta": { "source": "fdic", "as_of": "2026-08-19T00:00:00Z" },
  "pagination": { "limit": 4, "has_more": true, "next_cursor": "eyJ2IjoxLCJrIjpbLi4uXX0" }
}
```

Omit `metrics` entirely to get the whole curated vocabulary for those quarters — useful once, to see what exists, and wasteful on every call after that.

### Walk a bank back through its history

Quarters page like everything else: keep `cert`, `metrics`, `start`, and `end` constant, pass the previous response's cursor, and stop when `has_more` is false.

```python
banks_get_financials(cert=628, metrics=["total_deposits"], limit=8, cursor="eyJ2IjoxLCJrIjpbLi4uXX0")
```

For a fixed analysis window, bound it instead of paging blindly:

```python
banks_get_financials(cert=628, metrics=["total_deposits"], start="2024-01-01", end="2026-06-30")
```

`start` and `end` filter on the FDIC quarter-end report date, inclusive at both ends. A reversed window is a `bad_parameter`, as is a metric key that is not in the curated catalog.

## Coverage and caveats

- **Monetary values are USD thousands, not dollars.** Every currency metric in this category is reported the way the FDIC reports it: multiply by 1,000 before you say "dollars" in a sentence a human will read. The unit rides on each value, so there is no excuse for guessing.
- **Some metrics are year-to-date flows, not quarterly ones.** A definition whose `basis` is `ytd_flow` is cumulative from the start of that calendar year. Differencing consecutive quarters gives you the quarterly figure; treating the raw value as a quarter overstates it late in the year. Percent metrics carry a null currency.
- **This is the insured bank, not the holding company.** Consolidated group financials are a different filing at a different regulator and are not what these tools return.
- **Coverage is the FDIC directory.** An unrecognised cert is `unknown_entity`; a well-formed request for an institution we do hold, with nothing in the window, is a normal empty success.

## Tools and endpoints

| Tool | What it does | Reference |
| --- | --- | --- |
| `banks_get_financials` | Fetch one bank's bounded, newest-first FDIC quarterly financials. | https://www.agentdatasets.com/docs/tools/banks_get_financials.md |
| `banks_search_institutions` | Resolve a bank name or identifier to ranked FDIC institutions. | https://www.agentdatasets.com/docs/tools/banks_search_institutions.md |

Over HTTP: https://www.agentdatasets.com/docs/rest/banks.md
