apyhub
Back

US Bank Directory & Lookup API

What it does

US Bank Routing Numbers looks up US banks from the Federal Reserve's FedACH (Automated Clearing House) and Fedwire (wire transfer) directories. You send a nine-digit routing number, a bank name or a transfer type, and get back the bank's name, city, state and whether it supports ACH, Wire or both.

USA BANK INFORMATION lists the whole directory, 10,795 institutions, page by page with limit and offset. US Bank Lookup by Routing Number returns one bank for a routing number, and its transfer_type parameter picks the ACH or Wire directory. US Bank Search by Name finds banks by a full or partial name.

US Bank Routing Numbers is a good fit when you need to validate a routing number before a payment, fill in a bank's name and location from a routing number in a payout form, or find the routing number for a named US bank.

▣ ENDPOINT 01 / 03
GET
USA Bank information of specific routing number
https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information

QUICKSTART

GUIDE

Quickstart

List US banks from the Federal Reserve routing directories, a page at a time.

curl -X GET "https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information?transfer_type=ALL&limit=2" \
  -H "apy-token: $APY_TOKEN"

Add &offset=2 for the next page. transfer_type can be ACH, WIRE or ALL.

What you'll get back

{
  "success": true,
  "transfer_type": "ALL",
  "total_records": 10795,
  "offset": 0,
  "limit": 2,
  "returned": 2,
  "banks": [
    {
      "routing_number": "021001033",
      "routing_number_formatted": "021-001-033",
      "name": "DEUTSCHE BANK TRUST CO AMERICAS",
      "city": "JERSEY CITY",
      "state": "NJ",
      "transfer_type": "ACH",
      "transfer_types": ["ACH", "Wire"]
    },
    {
      "routing_number": "021001208",
      "routing_number_formatted": "021-001-208",
      "name": "FEDERAL RESERVE BANK",
      "city": "EAST RUTHERFORD",
      "state": "NJ",
      "transfer_type": "ACH",
      "transfer_types": ["ACH"]
    }
  ],
  "database_info": {
    "database": "FedACH + Fedwire (Combined)",
    "records": 10795,
    "coverage": "US Only",
    "updated": "Daily",
    "source": "Federal Reserve"
  },
  "next_url": "/us-bank-information?transfer_type=ALL&limit=2&offset=2"
}
TRY ITLIVE · 2000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Maximum number of banks to return in one response.
Number of banks to skip, for paging through the directory.
Which Federal Reserve directory to list: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive. Defaults to ACH; an unrecognised value is treated as ACH.

About this endpoint

What it does

Lists banks from the Federal Reserve's FedACH (Automated Clearing House) and Fedwire (wire transfer) directories, a page at a time. 9,023 banks are in the ACH directory, 3,621 in the Fedwire directory, and 10,795 distinct entries in the combined ALL list.

Query Parameter(s)

ParameterTypeMandatoryDescription
transfer_typeStringNoDirectory to list: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive, defaults to ACH.
limitIntegerNoMaximum number of banks to return in one response.
offsetIntegerNoNumber of banks to skip, for paging. Defaults to 0.

Response

Returns one JSON object with the page of banks and paging fields.

ParameterTypeDescription
successBooleantrue when the request succeeded.
transfer_typeStringDirectory listed: ACH, WIRE or ALL.
total_recordsIntegerTotal number of banks in the chosen directory.
offsetIntegerNumber of banks skipped before this page.
limitIntegerPage size that was applied.
returnedIntegerNumber of banks in this response.
banks[].routing_numberStringNine-digit ABA routing number.
banks[].routing_number_formattedStringRouting number with hyphens, for example 021-001-033.
banks[].nameStringFull bank name. Present on ACH records; Wire-only records have short_name instead.
banks[].short_nameStringAbbreviated bank name. Present on Wire-only records.
banks[].cityStringCity where the bank is located.
banks[].stateStringTwo-letter US state code.
banks[].transfer_typeStringDirectory the record is from: ACH or Wire (Fedwire).
banks[].transfer_typesArray of stringsEvery service the routing number supports: ACH, Wire or both.
banks[].funds_transfer_eligibleBooleanWire records only: whether the bank can send and receive Fedwire funds transfers.
banks[].book_entry_securities_eligibleBooleanWire records only: whether the bank can send and receive Fedwire book-entry securities transfers.
database_info.databaseStringDirectory name, for example FedACH + Fedwire (Combined).
database_info.recordsIntegerNumber of records in the directory.
database_info.coverageStringGeographic coverage, US Only.
database_info.updatedStringHow often the data is refreshed.
database_info.sourceStringPublisher of the data: Federal Reserve. Credit it wherever you show this data.
next_urlStringLink to the next page, relative to the provider's server. Use offset instead.
▣ ENDPOINT 02 / 03
GET
USA BANK INFORMATION
https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information/lookup

QUICKSTART

GUIDE

Quickstart

Look up a US bank by its nine-digit routing number.

curl -X GET "https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information/lookup?routing_number=021001033" \
  -H "apy-token: $APY_TOKEN"

Add &transfer_type=WIRE to search the Fedwire directory, which also holds routing numbers that are not in the ACH directory.

What you'll get back

{
  "success": true,
  "routing_number": "021001033",
  "transfer_type": "ACH",
  "bank": {
    "routing_number": "021001033",
    "routing_number_formatted": "021-001-033",
    "name": "DEUTSCHE BANK TRUST CO AMERICAS",
    "short_name": "",
    "city": "JERSEY CITY",
    "state": "NJ",
    "transfer_type": "ACH",
    "funds_transfer_eligible": null,
    "book_entry_securities_eligible": null
  },
  "message": "Routing number found.",
  "database_info": {
    "database": "FedACH",
    "records": 9023,
    "coverage": "US Only",
    "updated": "Daily",
    "source": "Federal Reserve"
  }
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Nine-digit ABA routing number of the bank, digits only.
Which Federal Reserve directory to search: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive. Defaults to ACH. Use WIRE for routing numbers that are only in the Fedwire directory.

About this endpoint

What it does

Returns the bank registered under a US routing number (ABA number) from the Federal Reserve's FedACH (Automated Clearing House) or Fedwire (wire transfer) directory. A routing number that is not found returns HTTP 404 with success set to false and bank set to null.

Query Parameter(s)

ParameterTypeDescription
routing_numberStringNine-digit ABA routing number of the bank, digits only.
transfer_typeStringDirectory to search: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive, defaults to ACH. Use WIRE for routing numbers that are only in the Fedwire directory.

Response

Returns one JSON object with the matching bank and the directory it came from.

ParameterTypeDescription
successBooleantrue when the routing number was found.
routing_numberStringThe routing number that was looked up.
transfer_typeStringDirectory searched: ACH, WIRE or ALL.
bankObject / nullThe matching bank, or null when not found.
bank.routing_numberStringNine-digit ABA routing number.
bank.routing_number_formattedStringRouting number with hyphens, for example 021-001-033.
bank.nameStringFull name of the bank.
bank.short_nameStringAbbreviated bank name; empty for ACH records.
bank.cityStringCity where the bank is located.
bank.stateStringTwo-letter US state code.
bank.transfer_typeStringDirectory the record is from: ACH or Wire (Fedwire).
bank.funds_transfer_eligibleBoolean / nullWire records only: whether the bank can send and receive Fedwire funds transfers.
bank.book_entry_securities_eligibleBoolean / nullWire records only: whether the bank can send and receive Fedwire book-entry securities transfers.
messageStringResult message, for example Routing number found..
database_info.databaseStringDirectory name: FedACH or Fedwire.
database_info.recordsIntegerNumber of records in that directory.
database_info.coverageStringGeographic coverage, US Only.
database_info.updatedStringHow often the data is refreshed.
database_info.sourceStringPublisher of the data: Federal Reserve. Credit it wherever you show this data.
▣ ENDPOINT 03 / 03
GET
Us Routing number by providing Bank Name
https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information/search

QUICKSTART

GUIDE

Quickstart

Find US banks and their routing numbers by name. A partial name works too.

curl -X GET "https://api.eu.apyhub.com/werouteapi/us-bank-directory-lookup-api/us-bank-information/search?name=DEUTSCHE+BANK+TRUST+CO+AMERICAS" \
  -H "apy-token: $APY_TOKEN"

Spaces can be sent as + or %20. Add &transfer_type=WIRE to search only the Fedwire directory.

What you'll get back

{
  "success": true,
  "search_query": "DEUTSCHE BANK TRUST CO AMERICAS",
  "transfer_type": "ALL",
  "total_matches": 1,
  "returned": 1,
  "limit": 50,
  "banks": [
    {
      "routing_number": "021001033",
      "routing_number_formatted": "021-001-033",
      "name": "DEUTSCHE BANK TRUST CO AMERICAS",
      "city": "JERSEY CITY",
      "state": "NJ",
      "transfer_type": "ACH",
      "transfer_types": ["ACH", "Wire"]
    }
  ],
  "database_info": {
    "database": "FedACH + Fedwire (Combined)",
    "coverage": "US Only",
    "updated": "Daily",
    "source": "Federal Reserve"
  }
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Full or partial bank name to search for.
Maximum number of matches to return. Defaults to 50.
Which Federal Reserve directory to search: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive. Defaults to ALL.

About this endpoint

What it does

Searches the Federal Reserve's FedACH (Automated Clearing House) and Fedwire (wire transfer) directories by bank name and returns the matching banks with their routing numbers. The name can be a full name or just part of one. Calling it without name returns HTTP 422.

Query Parameter(s)

ParameterTypeMandatoryDescription
nameStringYesFull or partial bank name to search for. Spaces can be sent as + or %20.
transfer_typeStringNoDirectory to search: ACH (Automated Clearing House), WIRE (Fedwire) or ALL. Case-insensitive, defaults to ALL.
limitIntegerNoMaximum number of matches to return. Defaults to 50.

Response

Returns one JSON object with the matching banks.

ParameterTypeDescription
successBooleantrue when the search ran.
search_queryStringThe name that was searched for.
transfer_typeStringDirectory searched: ACH, WIRE or ALL.
total_matchesIntegerTotal number of banks matching the name.
returnedIntegerNumber of banks in this response.
limitIntegerMaximum number of matches that was applied.
banks[].routing_numberStringNine-digit ABA routing number.
banks[].routing_number_formattedStringRouting number with hyphens, for example 021-001-033.
banks[].nameStringFull bank name. Present on ACH records; Wire-only records have short_name instead.
banks[].short_nameStringAbbreviated bank name. Present on Wire-only records.
banks[].cityStringCity where the bank is located.
banks[].stateStringTwo-letter US state code.
banks[].transfer_typeStringDirectory the record is from: ACH or Wire (Fedwire).
banks[].transfer_typesArray of stringsEvery service the routing number supports: ACH, Wire or both.
banks[].funds_transfer_eligibleBooleanWire records only: whether the bank can send and receive Fedwire funds transfers.
banks[].book_entry_securities_eligibleBooleanWire records only: whether the bank can send and receive Fedwire book-entry securities transfers.
database_info.databaseStringDirectory name, for example FedACH + Fedwire (Combined).
database_info.recordsIntegerNumber of records in the directory. Not always present.
database_info.coverageStringGeographic coverage, US Only.
database_info.updatedStringHow often the data is refreshed.
database_info.sourceStringPublisher of the data: Federal Reserve. Credit it wherever you show this data.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.