Docs/APIs/Bank Lookup

Bank Lookup

US Banks and Credit Unions

OperationalCredits 10 per callp50 284msFinanceStar

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 Lookup API →

Endpoint

One host, one path per API. The block below shows this call in four languages; every one of them is the same HTTP request. Making requests covers the timeouts, retries and parameter rules that apply to all of them. The SDKs wrap the same call in a typed client.

GEThttps://api.apiverve.com/v1/banklookup
curl "https://api.apiverve.com/v1/banklookup?name=Wells%20Fargo&id=fdic-3511&fdicCert=3511&ncuaCharter=5536&routing=256074974&swift=WFBIUS6S&lei=KB1H1DSPRFMYMCUFXT09&domain=wellsfargo.com&iban=GB29NWBK60161331926819&state=CA&type=credit_union&status=any&country=GB&branches=true&limit=10" \
  -H "x-api-key: your_api_key_here"

Replace your_api_key_here with the key from your dashboard. When the inputs arrive as a list rather than one at a time, batch requests run up to 200 of them through this same API in a single call.

Authentication

Send your key in the x-api-key header. That is the only auth step — there is no token exchange and no per-endpoint scope to configure. Authentication covers creating, rotating and revoking keys.

401 is the only auth verdict

A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.

Parameters

Sent in the query string. Premium parameters are accepted on every plan but only take effect on plans that include them.

ParameterTypeDescription
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

Response

Every API returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape. Response format covers the envelope, the other output formats and how premium fields are withheld.

Sample response
{
  "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]
idstring"fdic-3511"Our identifier for the institution: fdic-<FDIC certificate> for banks and savings institutions, ncua-<charter> for credit unions, swift-<BIC8> for banks outside the US
namestring"Wells Fargo Bank, National Association"Legal name of the institution
aliasesarray[Crocker National Bank, ...]Former names (FDIC) or trade names (NCUA)
typestring"bank"bank, savings_institution or credit_union
charterClassstring"National bank (OCC)"Charter class in words, e.g. National bank (OCC) or Federal credit union; null for non-US banks
statusstring"active"active, merged (absorbed into another charter), failed (closed by regulators) or closed (any other closure); null for non-US banks
statusDateobjectnullDate (YYYY-MM-DD) the institution stopped operating under this charter; null while active
successorPremiumobjectnullFor a merged charter, the institution that absorbed it ({name, id}); null otherwise
establishedDatestring"1870-01-01"Date the institution was established (FDIC) or chartered (NCUA), YYYY-MM-DD
foundedYearnumber1870Year the institution was established
addressstring"3201 N 4th Ave"Street address of the headquarters or main office
citystring"Sioux Falls"City of the headquarters
statestring"SD"Two-letter state of the headquarters
zipstring"57104"Five-digit ZIP code of the headquarters
countystring"Minnehaha"County of the headquarters
countrystring"US"ISO 3166-1 alpha-2 country code
latitudenumber43.580844403981Latitude of the headquarters (FDIC geocode, or the ZIP centroid for credit unions)
longitudenumber-96.722917126828Longitude of the headquarters
coordinatesSourcestring"fdic"fdic when FDIC geocoded the address, zip_centroid when the point is the ZIP code centre
websitestring"https://www.wellsfargo.com"Primary website the institution reports to its regulator
domainstring"wellsfargo.com"Bare domain of the website, the key the domain parameter matches
phoneobjectnullMain office phone number, (XXX) XXX-XXXX; credit unions only (FDIC publishes none)
regulatorstring"OCC"Primary federal regulator: OCC, FED, FDIC, OTS (historical) or NCUA
insurerstring"FDIC"Deposit insurer: FDIC or NCUA
fdicCertnumber3511FDIC certificate number; null for credit unions
ncuaCharterobjectnullNCUA charter number; null for banks
rssdIdnumber451965Federal Reserve RSSD id
leiPremiumstring"KB1H1DSPRFMYMCUFXT09"Legal Entity Identifier the institution reports to the FDIC
holdingCompanystring"WELLS FARGO&COMPANY"Name of the top holding company, if any
routingNumbersarray[121000248]Active ABA routing numbers matched to this institution from the Federal Reserve directory
swiftCodesarray[WFBIUS6S]SWIFT/BIC codes matched to this institution
branchCountnumber4161Number of domestic offices (banks) or reported sites (credit unions)
totalAssetsPremiumnumber1907928000000Total assets in US dollars at the latest quarterly filing
totalDepositsPremiumnumber1563534000000Total deposits (banks) or shares and deposits (credit unions) in US dollars
netIncomeYtdPremiumnumber12808000000Year-to-date net income in US dollars at the latest filing (banks)
membersPremiumobjectnullNumber of members (credit unions)
financialsAsOfstring"2026-06-30"Quarter-end date (YYYY-MM-DD) the financial figures come from
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

Errors

Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change. Error handling covers the full status list and which of them are worth retrying.

StatusMeaningWhat to do
400Input was rejectedRead error; it names the parameter.
401Key missing or invalidCheck the header name and the key value.
403Key valid, but not permittedA key restriction or IP allow-list; see key scoping.
429Rate limited, or out of creditsRead error to tell them apart; see rate limits.

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 Lookup

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

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 →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Finance:

Was this page helpful?