Docs/Skills/Routing Number Lookup Skill

Routing Number Lookup Skill

Lookup Routing Number Bank

OperationalCredits 10 per callp50 127msFinance

Overview

An ABA routing number lookup API: use it as a routing number checker or routing number validation API in ACH payment forms, payroll and payout onboarding. Send a nine-digit US routing number: input that fails the ABA mod-10 check digit is rejected with a 400 before any lookup, and a valid number returns the bank name from a routing number database that is refreshed on a weekly cycle. Each match includes the routing type (primary, thrift, electronic or government), the Federal Reserve district by name and number, whether the number is a FedACH participant and whether it can receive Fedwire Funds transfers, and, for banks that publish a routing number list by state, the states the bank assigns the number to. Paid plans add the registered street address, city and ZIP code, office and record-type codes, the successor routing number when a bank has retired one, the Fedwire telegraphic name with funds and book-entry eligibility, and the servicing Federal Reserve office and change date from the FedACH directory.

Live Test Routing Number Lookup Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as RoutingNumberLookupSkill. 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": "RoutingNumberLookupSkill",
  "arguments": {
    "routing": "121000358"
  }
}

You do not name the tool yourself; the model picks it. Asking about 121000358 in the terms this skill covers is enough for it to reach for RoutingNumberLookupSkill on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill 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": {
    "vervekit": {
      "url": "https://api.vervekit.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
routingRequiredstringThe routing number to lookup information about
length 9–9

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": {
    "routing_number": "121000358",
    "office_code": "O",
    "record_type_code": "1",
    "new_routing_number": "000000000",
    "bank": "BANK OF AMERICA, N.A.",
    "address": "8001 VILLA PARK DRIVE",
    "city": "HENRICO",
    "state": "VA",
    "zip": "23228",
    "zip_extension": "0000",
    "country": "US",
    "federal_reserve_district": "San Francisco",
    "federal_reserve_district_number": 12,
    "federal_reserve_states": [
      "AK",
      "AS",
      "AZ",
      "CA",
      "GU",
      "HI",
      "ID",
      "MP",
      "NV",
      "OR",
      "UT",
      "WA"
    ],
    "address_in_district": false,
    "states_served": [
      "CA"
    ],
    "latitude": 37.621745,
    "longitude": -77.48896,
    "timezone": "America/New_York",
    "routing_type": "primary",
    "is_valid_checksum": true,
    "routing_analysis": {
      "is_head_office": true,
      "is_branch": false,
      "is_federal_reserve_bank": false,
      "is_active": true,
      "replaced_by": 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
routing_numberstring121000358The ABA routing number for the bank
office_codePremiumstringOOffice code designating the main office or branch location
record_type_codePremiumstring1Record type code indicating transaction type classification
new_routing_numberPremiumstring000000000New routing number if the bank has been updated
bankstringBANK OF AMERICA, N.A.Name of the financial institution or bank
addressPremiumstring8001 VILLA PARK DRIVEStreet address the bank registered with the Federal Reserve for this routing number; national banks often use one central office for numbers in many states
cityPremiumstringHENRICOCity of the bank's registered address for this routing number
statestringVATwo-letter state of the bank's registered address; can differ from where the routing number is used (see address_in_district)
zipPremiumstring23228Five-digit postal code of the bank's registered address
zip_extensionPremiumstring0000Four-digit ZIP code extension for more precise location
countrystringUSCountry code (ISO 3166-1 alpha-2 format)
federal_reserve_districtstringSan FranciscoFederal Reserve district (e.g. San Francisco) derived from the routing number's first two digits; null for government or traveler's-cheque prefixes
federal_reserve_district_numbernumber12Federal Reserve district number (1 Boston to 12 San Francisco) from the routing number's first two digits, with thrift and electronic prefixes folded back to their district; null for government or traveler's-cheque prefixes
federal_reserve_statesarray["AK","AS","AZ"]Two-letter codes of the states and territories in the routing number's Federal Reserve district, i.e. where the number is issued; null for government or traveler's-cheque prefixes
address_in_districtbooleanfalseFalse when the registered address is outside the routing number's Federal Reserve district, typically a national bank's central office; null when there is no district or state
states_servedarray["CA"]States where the bank itself tells customers to use this number for checking, ACH and direct deposit, from the bank's published routing-number list; null when the bank publishes no by-state list or the number is not on it (e.g. a wire-only number)
latitudePremiumnumber37.621745Latitude of the bank office: the centre of its ZIP code, or of its city when the ZIP is one a large bank uses only for its own mail; null when neither can be placed
longitudePremiumnumber-77.48896Longitude of the centre of the bank office's ZIP code; null whenever latitude is null
timezonestringAmerica/New_YorkIANA time zone of the bank office (e.g. America/Chicago), useful for cut-off times; null whenever latitude is null
routing_typestringprimaryRouting category derived from the routing number prefix: primary, thrift, electronic, government, or travelers_cheque
is_valid_checksumbooleantrueWhether the routing number passes the ABA mod-10 checksum
routing_analysisPremiumobject{…}Plain-language interpretation of the FRB office and record-type codes: head office vs branch, whether it is a Federal Reserve Bank, active vs superseded, and the replacement routing number if the institution was reassigned
routing_analysis.is_head_officePremiumbooleantrueThe routing number belongs to the institution's head office (office code O)
routing_analysis.is_branchPremiumbooleanfalseThe routing number belongs to a branch office (office code B)
routing_analysis.is_federal_reserve_bankPremiumbooleanfalseThe routing number belongs to a Federal Reserve Bank itself (record type 0)
routing_analysis.is_activePremiumbooleantrueThe routing number is in use; false when it has been superseded (record type 2)
routing_analysis.replaced_byPremiumobjectnullThe routing number to use instead when this one has been superseded; null while it is active

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 skill is not part of VerveKit. 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

Direct Deposit Setup
When onboarding new hires, payroll systems validate the entered routing number and auto-fill the financial institution name before issuing paychecks.
ACH Transfer Verification
To prevent transfer rejections, payment processors test mod-10 checksums and confirm the receiving bank matches customer paperwork before scheduling debits.
Accounting Vendor Onboarding
Procurement teams verify supplier banking details during vendor registration to catch typos and detect obsolete routing numbers before sending disbursements.
Merchant Account Enrollment
Reject mistyped routing numbers during merchant signup and show the bank name back to the applicant, so a wrong digit is caught before the first settlement instead of after a returned payment.

Other ways to use Routing Number Lookup Skill

Set up Routing Number Lookup Skill on VerveKit, or reach the same source a different way. Your VerveKit 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 →
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?