Banks API
The Banks API returns banks and other licensed deposit-taking institutions in over 200 countries and territories, from the largest global banks to small local lenders. Search by name in any language, look a bank up by SWIFT/BIC code, LEI, routing number, national bank code, IBAN or website domain, or list the banks in a country.
Each record includes the bank's identifiers, type, status, head office, website and logo, along with its licence, deposit insurance, payment networks, ownership, sanctions status, financials and history.
Available endpoints:
- /v1/banks - Search and look up banks
- /v1/bankslist - Banks in a country
- /v1/bankchanges - Changes since a date
From 5,869 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 427ms | 476ms | 508ms | 635ms | 1300ms |
Didn't find what you were looking for? Suggest an improvement
https://api.api-ninjas.com/v1/banks
Finds banks by name or country, or looks one up by SWIFT/BIC code, LEI, routing number, national bank code, IBAN or website domain. Name searches put the best-known match first.
Parameters
At least one parameter other than limit, offset and status is required. Combine them to narrow a search, e.g. name=first national&country=US&type=commercial_bank.
nameoptionalName of the bank, or part of it, e.g.
chaseordeutsche bank. Matches the official name, short name, local-language name and other known names; case, accents and legal suffixes such as Inc., AG and S.A. are ignored. Names in any script work, e.g.中国银行.countryoptionalTwo-letter ISO 3166 country code of the bank's home country, e.g.
USorNG.idoptional Premium onlyA bank
idfrom an earlier response. Returns that bank, whatever its status.swiftoptional Premium onlySWIFT/BIC code, 8 or 11 characters, e.g.
CHASUS33orCHASUS33XXX. A branch code returns the bank it belongs to.leioptional Premium onlyLegal Entity Identifier, 20 characters.
routing_numberoptional Premium onlyUS ABA routing number, 9 digits, e.g.
021000021. Returns the bank that owns it.bank_codeoptional Premium onlyA national bank code (see bank code types). Requires
country, e.g.country=DE&bank_code=37040044.ibanoptional Premium onlyAn IBAN, with or without spaces, e.g.
DE89 3704 0044 0532 0130 00. Returns the bank that holds the account.domainoptional Premium onlyWebsite or email domain, e.g.
chase.com. A URL or an email address also works.typeoptional Premium onlyOne or more institution types, separated by commas, e.g.
credit_unionorcommercial_bank,savings_bank.statusoptional Premium onlyactive(default),inactive(merged, failed, closed and other former banks) orall.payment_networkoptional Business tier and aboveOnly banks on this payment network, e.g.
fednow,sepa_instantorpix. See payment networks.min_assetsoptional Business tier and aboveOnly banks with total assets of at least this many US dollars, e.g.
1000000000.max_assetsoptional Business tier and aboveOnly banks with total assets of at most this many US dollars.
sanctionedoptional Business tier and abovetruefor sanctioned banks only,falseto leave them out.limitoptional Premium onlyNumber of results to return (1-100). Default
10. The free plan returns up to 5.offsetoptional Premium onlyNumber of results to skip, for paging. Default
0.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
The /v1/banks endpoint returns a JSON array of banks with the following fields (an empty array when nothing matches), or an error if the request is unsuccessful (see errors).
Every field is always present: null or an empty array when it has no value. Fields marked Premium only return This field is for premium subscribers only. on the free plan, and fields marked Business tier and above return This field is for Business tier and above. on lower plans.
idUnique API Ninjas id of the bank. It never changes; pass it as
idto fetch the bank again.nameOfficial name of the bank.
short_nameCommon short or brand name, e.g.
Chase.native_nameName in the local language or script, e.g.
中国银行, when it differs fromname.aliasesPremium onlyOther names the bank is known by: trade names, abbreviations and other spellings.
institution_typeThe kind of institution, e.g.
commercial_bankorcredit_union. See institution types.statusactivefor a bank operating today; otherwisemerged,failed,closed,license_revoked,in_liquidationorinactive. See statuses.status_datePremium onlyDate of the latest status change, e.g. the date of a merger or failure (YYYY-MM-DD).
successorPremium onlyFor a merged or failed bank: the bank that took it over, with
idandname.founded_yearYear the bank was founded.
country, country_codeCountry name and two-letter ISO 3166 code of the bank's home country, e.g.
United StatesandUS.headquartersHead office location, with the fields below.
headquarters.cityCity of the head office.
headquarters.address, headquarters.postal_codePremium onlyStreet address and postal code.
headquarters.region, headquarters.region_codePremium onlyState, province or region, and its code, e.g.
OhioandOH.headquarters.latitude, headquarters.longitudePremium onlyCoordinates of the head office.
phonePremium onlyMain phone number.
websiteOfficial website.
domainsPremium onlyWebsite and email domains of the bank, e.g.
chase.com. Search them withdomain.logoPremium onlyURL of the bank's logo at the largest size available (PNG).
logo_thumbnailURL of a small logo (PNG, up to 64 × 64 pixels), for lists and bank pickers.
brand_colorsPremium onlyThe bank's brand colors as hex codes,
primaryandsecondary, e.g.#117ACA.swift_codePremium onlyHead office SWIFT/BIC code, 11 characters, e.g.
CHASUS33XXX. Branch SWIFT codes are in the SWIFT Code API.swift_connectedPremium onlytruewhen the SWIFT code is connected to the SWIFT network;falsefor a code used only to identify the bank.leiPremium onlyLegal Entity Identifier, 20 characters.
bank_codesPremium onlyNational bank codes, e.g. US routing numbers or the German Bankleitzahl, each with
type,codeandprimary(truefor the bank's main code of that type). See bank code types.regulator_idsPremium onlyRegistration numbers with regulators and company registers, each with
typeandid, e.g. an FDIC certificate or an FCA Firm Reference Number. See regulator ID types.regulatoryPremium onlyThe bank's licence, with the fields below.
regulatory.license_typeLicence category as the regulator names it, e.g.
national_bank,credit_institutionorfederal_credit_union.regulatory.regulatorThe supervising authority, e.g.
Office of the Comptroller of the Currency.regulatory.license_statusactive,inactiveor a more specific status such assupervised_run_off.regulatory.deposit_takingtruewhen the bank may take deposits from the public.deposit_insurancePremium onlyDeposit protection, with the fields below.
deposit_insurance.insuredtruewhen the bank's deposits are covered by a deposit insurance scheme.deposit_insurance.schemeThe scheme, e.g.
Federal Deposit Insurance Corporation.deposit_insurance.coverage_limit, deposit_insurance.currencyStandard coverage per depositor and its currency, e.g.
250000andUSD.systemicPremium onlygsib:truefor a global systemically important bank (G-SIB).dsib:truefor a domestic systemically important bank (D-SIB) in its country.ownershipBusiness tier and aboveWho owns the bank, with the fields below.
ownership.ownership_typesubsidiary,cooperative,mutualorstate_owned.ownership.parent, ownership.ultimate_parentThe direct and the top-level parent company, each with
name,lei,country_codeandid(the parent's Banks API id when the parent is itself a bank).ownership.ticker, ownership.exchangeWhen the bank itself is listed: its stock ticker and the exchange it trades on, e.g.
BCGEandSIX Swiss Exchange.payment_networksBusiness tier and abovePayment networks the bank takes part in, e.g.
fedwire,fednow,sepa_instantorpix. See payment networks.complianceBusiness tier and abovesanctioned:truewhen the bank is on the US (OFAC), EU, UK or UN sanctions lists.sanctions_programs: the programs that list it, prefixed with the list, e.g.OFAC:RUSSIA-EO14024,EU:UKRorUN:DPRK.financialsBusiness tier and aboveLatest reported figures:
as_of(YYYY-MM-DD),currency,total_assets,total_deposits,total_equity,net_income_ytd(net income from the start of the year toas_of) andbranch_count.historyBusiness tier and aboveThe bank's history, with the fields below.
history.former_namesEarlier names, each with
nameanduntil(the last date it was used, YYYY-MM-DD).history.predecessorsBanks that merged into this one, each with
name,dateandevent(mergerorsuccession).history.failureFor a failed bank:
date,resolution(failure, orassistancewhen it was rescued with assistance) andacquirer, the bank that took over its deposits.updated_atDate any field of the record last changed (YYYY-MM-DD).
Institution Types
The institution_type of each bank, also accepted by the type parameter.
| institution_type | Meaning |
|---|---|
commercial_bank | A bank serving retail and business customers. |
savings_bank | A savings bank or savings institution, e.g. a German Sparkasse or a US savings association. |
cooperative_bank | A bank owned by its members, e.g. a Volksbank, Raiffeisen bank or urban cooperative bank. |
credit_union | A credit union. |
building_society | A building society. |
microfinance_bank | A microfinance bank or deposit-taking microfinance institution. |
development_bank | A development or policy bank. |
investment_bank | An investment, merchant or private bank. |
trust_company | A trust company or trust bank. |
postal_bank | A postal bank or postal savings bank. |
payment_bank | A payments bank or payment service bank. |
central_bank | A central bank or monetary authority. |
e_money_institution | An electronic money institution. |
payment_institution | A licensed payment institution. |
mobile_money_operator | A mobile money operator. |
finance_company | A licensed finance or credit company. |
foreign_bank_branch | A branch of a bank from another country. |
other | Another kind of licensed institution. |
Statuses
The status of each bank.
| status | Meaning |
|---|---|
active | Operating today. |
merged | Merged into another bank, named in successor. |
failed | Failed. history.failure has the date and how it was resolved. |
closed | Closed or voluntarily wound up. |
license_revoked | Its licence was revoked. |
in_liquidation | Being liquidated. |
inactive | No longer listed as an active institution, without a stated reason, e.g. removed from its register. |
Bank Code Types
The type of each entry in bank_codes. Search any of them with bank_code and country, and US routing numbers with routing_number.
| type | Meaning |
|---|---|
aba_routing_number | United States: ABA routing number, 9 digits. A bank can have several. E.g. 021000021. |
au_bsb_prefix | Australia: The first 3 digits of the bank's BSB numbers. E.g. 062. |
br_compe | Brazil: COMPE bank number, 3 digits. E.g. 341. |
br_ispb | Brazil: ISPB code, 8 digits, used for Pix and STR payments. E.g. 60701190. |
ca_institution_number | Canada: Institution number, 3 digits. E.g. 001. |
ch_iid | Switzerland, Liechtenstein: IID (bank clearing number), 5 digits. E.g. 00230. |
de_blz | Germany: Bankleitzahl (BLZ), 8 digits. E.g. 37040044. |
es_bank_code | Spain: Bank code (código de entidad), 4 digits. E.g. 0049. |
fr_cib | France, Monaco and French overseas territories: Bank code (code banque), 5 digits. E.g. 30003. |
hk_bank_code | Hong Kong: Bank code, 3 digits. E.g. 004. |
il_bank_code | Israel: Bank code, 2 to 3 digits. E.g. 010. |
in_ifsc_prefix | India: The first 4 characters of the bank's IFSC codes. E.g. HDFC. |
it_abi | Italy: ABI code, 5 digits. E.g. 03069. |
mx_bank_code | Mexico: Bank code, 3 digits. E.g. 012. |
mx_spei_code | Mexico: SPEI participant code, 5 digits. E.g. 40012. |
ng_cbn_code | Nigeria: Central Bank of Nigeria bank code, 3 digits. E.g. 058. |
ng_nip_code | Nigeria: NIP institution code, 6 digits, used for instant transfers. E.g. 090405. |
nl_bank_identifier | Netherlands: Bank identifier in Dutch IBANs, 4 letters. E.g. ABNA. |
Regulator ID Types
The type of each entry in regulator_ids.
| type | Meaning |
|---|---|
fdic_certificate | United States: FDIC certificate number. |
rssd_id | United States: Federal Reserve RSSD ID. |
ncua_charter | United States: NCUA credit union charter number. |
occ_charter | United States: OCC charter number. |
fca_frn | United Kingdom and Gibraltar: FCA Firm Reference Number (FRN). |
ecb_riad_code | European Union: ECB RIAD code of a monetary financial institution. |
bafin_id | Germany: BaFin institution ID. |
regafi_id | France and the EU: REGAFI register ID. |
it_albo_number | Italy: Bank of Italy register (albo) number. |
cssf_code | Luxembourg: CSSF register code. |
cnpj | Brazil: CNPJ company number (first 8 digits). |
cbn_institution_id | Nigeria: Central Bank of Nigeria institution ID. |
hkma_institution_id | Hong Kong: HKMA authorized institution ID. |
jp_corporate_number | Japan: corporate number, 13 digits. |
no_org_number | Norway: organisation number. |
is_kennitala | Iceland: kennitala. |
national_id | The company registration or tax number in the bank's home country, e.g. HRB 30000 for a German commercial register entry. |
Payment Networks
The values of payment_networks, also accepted by the payment_network parameter.
| payment_networks | Meaning |
|---|---|
fedach | United States: FedACH, the Federal Reserve's ACH service. |
fedwire | United States: Fedwire Funds Service, for same-day wire transfers. |
fednow | United States: FedNow instant payments. |
rtp | United States: RTP instant payments. |
sepa_credit_transfer | SEPA countries: SEPA Credit Transfer, euro bank transfers. |
sepa_instant | SEPA countries: SEPA Instant Credit Transfer. |
target2 | Euro area: T2 (TARGET2), the euro area's high-value payment system. |
faster_payments | United Kingdom: Faster Payments. |
bacs | United Kingdom: Bacs Direct Credit and Direct Debit. |
chaps | United Kingdom: CHAPS, for same-day high-value payments. |
sic | Switzerland: SIC, Swiss franc interbank payments. |
euro_sic | Switzerland: euroSIC, euro payments in Switzerland. |
pix | Brazil: Pix instant payments. |
str | Brazil: STR, Brazil's high-value payment system. |
spei | Mexico: SPEI interbank transfers. |
npp | Australia: New Payments Platform (NPP), including PayID and Osko. |
Errors
An invalid request returns HTTP 400 with a readable error message. Authentication and quota errors use the standard format described in error codes.
No parameter other than
limit,offsetorstatusAt least one parameter ('name' or 'country') is required.An unknown parameter
Unknown parameter 'foo'.A value that is not valid, e.g.
swift=CHASEParameter 'swift' must be an 8 or 11 character SWIFT/BIC code.bank_codewithoutcountryParameter 'bank_code' requires the 'country' parameter.A Premium-only parameter on the free plan
Parameter 'swift' is for premium subscribers only.A Business-tier parameter on a lower plan
Parameter 'payment_network' requires a Business plan or higher.
Live Demo
Code Examples
curl -X GET "https://api.api-ninjas.com/v1/banks?name=jpmorgan%20chase" \
-H "X-Api-Key: YOUR_API_KEY"https://api.api-ninjas.com/v1/bankslist
Lists the active banks in one country, the most prominent first, with compact rows for bank pickers, dropdowns and onboarding forms. The free plan gets up to 250 banks per country; paid plans page through the full list.
Parameters
countryrequiredTwo-letter ISO 3166 country code, e.g.
ISorNG.typeoptional Premium onlyOne or more institution types, separated by commas, e.g.
commercial_bank.statusoptional Premium onlyactive(default),inactiveorall.payment_networkoptional Business tier and aboveOnly banks on this payment network, e.g.
sepa_instant. See payment networks.limitoptionalNumber of banks to return (1-1000). Default
500. On the free plan, 1-250, default250.offsetoptional Premium onlyNumber of banks to skip, for paging through the full list. Default
0.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
The /v1/bankslist endpoint returns a JSON array of banks with the following fields, or an error if the request is unsuccessful (see errors).
idThe bank's id. Pass it to
/v1/banksasidfor the full record.name, short_nameOfficial name and common short name.
institution_typeSee institution types.
logo_thumbnailURL of a small logo (PNG, up to 64 × 64 pixels).
swift_codePremium onlyHead office SWIFT/BIC code.
bank_codesPremium onlyNational bank codes, as in
/v1/banks.updated_atDate the bank's record last changed (YYYY-MM-DD).
payment_networksBusiness tier and abovePayment networks the bank takes part in.
Errors
An invalid request returns HTTP 400 with a readable error message. Authentication and quota errors use the standard format described in error codes.
Live Demo
Code Examples
curl -X GET "https://api.api-ninjas.com/v1/bankslist?country=IS" \
-H "X-Api-Key: YOUR_API_KEY"Business tier and above
https://api.api-ninjas.com/v1/bankchanges
Returns changes to bank records since a date, newest first: new banks, renames, mergers, failures, closures, revoked licences, SWIFT code changes and sanctions listings. Use it to keep a copy of the data in sync or to be alerted when a bank you work with changes. Business plans can request the last 365 days; Professional and Enterprise plans have no limit.
Parameters
sincerequiredEarliest change date (YYYY-MM-DD), inclusive.
countryoptionalTwo-letter ISO 3166 country code, e.g.
US.change_typeoptionalOne or more change types, separated by commas, e.g.
merged,failed.limitoptionalNumber of changes to return (1-1000). Default
100.offsetoptionalNumber of changes to skip, for paging. Default
0.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
The /v1/bankchanges endpoint returns a JSON array of changes with the following fields, or an error if the request is unsuccessful (see errors).
dateDate the change was recorded (YYYY-MM-DD). The bank's status_date has the date a merger or failure took effect.
change_typeSee change types.
bankThe bank, with
id,nameandcountry_code.previous, currentThe value before and after the change: the old and new name, status or SWIFT code.
nullfor types without a value, such asnew.successorFor a merger or failure: the bank that took over, with
idandname.
Change Types
The change_type of each change, also accepted by the change_type parameter.
| change_type | Meaning |
|---|---|
new | A bank was added. |
renamed | The bank's name changed. |
merged | The bank merged into another bank. |
failed | The bank failed. |
closed | The bank closed. |
license_revoked | The bank's licence was revoked. |
status_changed | Another change of status, e.g. to in_liquidation. |
swift_code_added | The bank received a SWIFT code. |
swift_code_removed | The bank's SWIFT code was removed. |
swift_code_changed | The bank's head office SWIFT code changed. |
sanctioned | The bank was added to a sanctions list. |
unsanctioned | The bank was removed from every sanctions list. |
Errors
An invalid request returns HTTP 400 with a readable error message. Authentication and quota errors use the standard format described in error codes.
A plan below the Business tier
The bank changes endpoint requires a Business plan or higher.No
sinceParameter 'since' is required (YYYY-MM-DD).A
sincedate more than 365 days ago on a Business planBusiness plans can request changes from the last 365 days. Full history requires a Professional plan or higher.
Live Demo
Code Examples
curl -X GET "https://api.api-ninjas.com/v1/bankchanges?since=2026-10-01" \
-H "X-Api-Key: YOUR_API_KEY"Frequently Asked Questions
Can I use the Banks API for commercial purposes?
Yes, but you must have a premium subscription. Commercial use of the Banks API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.How do I get an API key and start using the Banks API?
Sign up for a free account to instantly get your API key, then pass it in theX-Api-Keyheader on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.What happens if I exceed my quota for the month?
Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.What happens if a request to the Banks API fails?
The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.How do I look up a bank by SWIFT code, routing number or IBAN?
On paid plans, pass the code to/v1/banks:swift=CHASUS33,routing_number=021000021,iban=DE89370400440532013000,lei=7H6GLXDRUGQFU57RNE97,domain=chase.com, or a national bank code with its country, e.g.country=DE&bank_code=37040044. Each returns the bank's full record with all of its other identifiers, so you can also turn one code into another.Which countries does the Banks API cover?
Over 200 countries and territories, including small countries that most bank datasets leave out, such as Bhutan, Fiji, Iceland, the Maldives and Seychelles./v1/bankslist?country=BTlists the active banks in a country.How do I build a bank picker for a country?
Call/v1/bankslist?country=NG. It returns the active banks in the country, the most prominent first, with each bank's id, name, short name, type and a logo thumbnail. The free plan gets up to 250 banks per country. Paid plans page through the full list withlimitandoffsetand add each bank's SWIFT code and national bank codes.How is the Banks API different from the SWIFT Code API?
The SWIFT Code API returns the SWIFT codes of individual bank branches. The Banks API returns one record per bank, including banks without a SWIFT code, with all of its identifiers (head office SWIFT code, LEI, routing numbers and national bank codes) and details such as its licence, logo, deposit insurance, payment networks and ownership.How do I keep my bank data up to date?
Store each bank by itsid, which never changes. On the Business tier and above, call/v1/bankchanges?since=2026-10-01with the date of your last sync to get new banks, renames, mergers, failures, SWIFT code changes and sanctions listings. Every record also hasupdated_at.What do the free and paid plans include?
The free plan gets each bank's name, type, status, country, head office city, website and logo thumbnail, search by name and country, and up to 250 banks per country from/v1/bankslist. Paid plans (Developer and above) add every identifier, lookups by SWIFT code, LEI, routing number, bank code, IBAN and domain, the full address, logo, brand colors, licence, deposit insurance and systemic importance. Business, Professional and Enterprise plans add ownership, payment networks, sanctions, financials, history and/v1/bankchanges.
Explore API integration use cases for recommended APIs and workflow examples.