Docs/Sources/Bank Registry Grounding Data

Bank Registry Grounding Data

US Banks and Credit Unions

OperationalCredits 10 per callp50 284msFinance

Overview

A bank lookup API for KYB, payments and vendor onboarding. One registry joins the FDIC BankFind data (all ~28,000 bank charters, active, merged, failed and closed) with NCUA credit union filings, then attaches the routing numbers and SWIFT codes we hold for each active institution. Every match carries its status and status date, the establishment date, headquarters address and coordinates, website, regulator, FDIC certificate or NCUA charter and RSSD id. Look up a routing number and routingCheck tells you whether it still belongs to an active institution. Look up an IBAN or a SWIFT code outside the US and you get the bank from our SWIFT directory. Paid plans add the successor for merged charters, failure details for failed banks, the LEI, quarterly total assets, deposits, net income and credit union membership, plus branches=true for the branch list.

Live Test Bank Registry Grounding Data Source →

The tool

Once your client is connected to the VerveContext server, this appears in its tool list as BankRegistryGroundingData. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "BankRegistryGroundingData",
  "arguments": {}
}

Connecting

One server URL covers every source in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervecontext": {
      "url": "https://api.vervecontext.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
nameOptionalstringInstitution name or part of it; former and trade names match too
length 0–120
idOptionalstringOur institution id, e.g. fdic-3511 or ncua-5536
length 0–30
fdicCertOptionalstringFDIC certificate number
length 0–10
ncuaCharterOptionalstringNCUA credit union charter number
length 0–10
routingOptionalstringNine-digit ABA routing number
length 9–9
swiftOptionalstringSWIFT/BIC code (8 or 11 characters); non-US codes answer from our SWIFT directory
length 8–11
leiOptionalstringLegal Entity Identifier (20 characters)
length 20–20
domainOptionalstringWebsite domain, URL or email address of the institution
length 0–253
ibanOptionalstringIBAN; names the bank where the IBAN carries a BIC-style bank code (GB, IE, NL and others)
length 0–42
stateOptionalstringTwo-letter US state of the headquarters, to narrow a name search
length 2–2
typeOptionalstringNarrow a name search to one institution type
banksavings_institutioncredit_union
statusOptionalstringactive, inactive (merged, failed or closed) or any; any searches active institutions first and falls back to closed ones
anyactiveinactive
default any
countryOptionalstringTwo-letter country code; a non-US country searches banks by name in our SWIFT directory
length 2–2
branchesOptionalPremiumbooleanInclude the branch list for the first five institutions
limitOptionalintegerMaximum institutions to return (1-50)
default 10 · range 1–50

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "count": 1,
    "totalMatches": 3,
    "banks": [
      {
        "id": "fdic-3511",
        "name": "Wells Fargo Bank, National Association",
        "aliases": [
          "Crocker National Bank",
          "Crocker-Citizens National Bank",
          "Crocker-Anglo National Bank",
          "Crocker First National Bank of San Francisco"
        ],
        "type": "bank",
        "charterClass": "National bank (OCC)",
        "status": "active",
        "statusDate": null,
        "successor": null,
        "establishedDate": "1870-01-01",
        "foundedYear": 1870,
        "address": "3201 N 4th Ave",
        "city": "Sioux Falls",
        "state": "SD",
        "zip": "57104",
        "county": "Minnehaha",
        "country": "US",
        "latitude": 43.580844403981,
        "longitude": -96.722917126828,
        "coordinatesSource": "fdic",
        "website": "https://www.wellsfargo.com",
        "domain": "wellsfargo.com",
        "phone": null,
        "regulator": "OCC",
        "insurer": "FDIC",
        "fdicCert": 3511,
        "ncuaCharter": null,
        "rssdId": 451965,
        "lei": "KB1H1DSPRFMYMCUFXT09",
        "holdingCompany": "WELLS FARGO&COMPANY",
        "routingNumbers": [
          "121000248"
        ],
        "swiftCodes": [
          "WFBIUS6S"
        ],
        "branchCount": 4161,
        "totalAssets": 1907928000000,
        "totalDeposits": 1563534000000,
        "netIncomeYtd": 12808000000,
        "members": null,
        "financialsAsOf": "2026-06-30",
        "failure": null
      }
    ],
    "routingCheck": null,
    "ibanCheck": null
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
countnumber1Number of institutions returned
totalMatchesnumber3Number of institutions that matched before the limit
banksarray[1]
banks.0.idstringfdic-3511Our identifier for the institution: fdic-<FDIC certificate> for banks and savings institutions, ncua-<charter> for credit unions, swift-<BIC8> for banks outside the US
banks.0.namestringWells Fargo Bank, National AssociationLegal name of the institution
banks.0.aliasesarray["Crocker National Bank","Crocker-Citizens National Bank","Crocker-Anglo National Bank"]Former names (FDIC) or trade names (NCUA)
banks.0.typestringbankbank, savings_institution or credit_union
banks.0.charterClassstringNational bank (OCC)Charter class in words, e.g. National bank (OCC) or Federal credit union; null for non-US banks
banks.0.statusstringactiveactive, merged (absorbed into another charter), failed (closed by regulators) or closed (any other closure); null for non-US banks
banks.0.statusDateobjectnullDate (YYYY-MM-DD) the institution stopped operating under this charter; null while active
banks.0.successorPremiumobjectnullFor a merged charter, the institution that absorbed it ({name, id}); null otherwise
banks.0.establishedDatestring1870-01-01Date the institution was established (FDIC) or chartered (NCUA), YYYY-MM-DD
banks.0.foundedYearnumber1870Year the institution was established
banks.0.addressstring3201 N 4th AveStreet address of the headquarters or main office
banks.0.citystringSioux FallsCity of the headquarters
banks.0.statestringSDTwo-letter state of the headquarters
banks.0.zipstring57104Five-digit ZIP code of the headquarters
banks.0.countystringMinnehahaCounty of the headquarters
banks.0.countrystringUSISO 3166-1 alpha-2 country code
banks.0.latitudenumber43.580844403981Latitude of the headquarters (FDIC geocode, or the ZIP centroid for credit unions)
banks.0.longitudenumber-96.722917126828Longitude of the headquarters
banks.0.coordinatesSourcestringfdicfdic when FDIC geocoded the address, zip_centroid when the point is the ZIP code centre
banks.0.websitestringhttps://www.wellsfargo.comPrimary website the institution reports to its regulator
banks.0.domainstringwellsfargo.comBare domain of the website, the key the domain parameter matches
banks.0.phoneobjectnullMain office phone number, (XXX) XXX-XXXX; credit unions only (FDIC publishes none)
banks.0.regulatorstringOCCPrimary federal regulator: OCC, FED, FDIC, OTS (historical) or NCUA
banks.0.insurerstringFDICDeposit insurer: FDIC or NCUA
banks.0.fdicCertnumber3511FDIC certificate number; null for credit unions
banks.0.ncuaCharterobjectnullNCUA charter number; null for banks
banks.0.rssdIdnumber451965Federal Reserve RSSD id
banks.0.leiPremiumstringKB1H1DSPRFMYMCUFXT09Legal Entity Identifier the institution reports to the FDIC
banks.0.holdingCompanystringWELLS FARGO&COMPANYName of the top holding company, if any
banks.0.routingNumbersarray["121000248"]Active ABA routing numbers matched to this institution from the Federal Reserve directory
banks.0.swiftCodesarray["WFBIUS6S"]SWIFT/BIC codes matched to this institution
banks.0.branchCountnumber4161Number of domestic offices (banks) or reported sites (credit unions)
banks.0.totalAssetsPremiumnumber1907928000000Total assets in US dollars at the latest quarterly filing
banks.0.totalDepositsPremiumnumber1563534000000Total deposits (banks) or shares and deposits (credit unions) in US dollars
banks.0.netIncomeYtdPremiumnumber12808000000Year-to-date net income in US dollars at the latest filing (banks)
banks.0.membersPremiumobjectnullNumber of members (credit unions)
banks.0.financialsAsOfstring2026-06-30Quarter-end date (YYYY-MM-DD) the financial figures come from
banks.0.failurePremiumobjectnullFor a failed bank: date, acquirer, resolution and size at failure; null otherwise
routingCheckobjectnullRouting number status when routing was given; null otherwise
ibanCheckobjectnullParsed IBAN when iban was given; null otherwise

Why ground on it

A model can produce something that looks like this answer from its training data, and be confidently out of date or simply wrong. This source returns the current value in a shape you can check, which is the difference between an answer you can cite and one you have to hedge.

Point an evaluation at count: it is the field most worth pinning a claim to, and it is either present and current or absent — never plausibly invented.

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This source is not part of VerveContext. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 10 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

KYB and Vendor Onboarding
Confirm that the bank a business names is a real, insured institution that is still operating, and record its FDIC certificate or NCUA charter with the file.
Payment Instruction Checks
Before paying a new routing number, check that it belongs to an active institution and that its owner matches the bank named on the invoice.
Bank Merger Tracking
Map an old bank name on a cheque or statement to the institution that absorbed it, with the date of the merger.
Market Research
Rank banks and credit unions in a state by assets and branch count from quarterly regulatory filings.

Other ways to use Bank Registry Grounding Data

Set up Bank Registry Grounding Data on VerveContext, or reach the same source a different way. Your VerveContext account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Give it to an AI agentConnect over MCP and your agent calls it as a native tool — Claude, Cursor, ChatGPT.VerveKit →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →

More in Finance:

Was this page helpful?