GET /iban/{iban}

IBAN validation API

Validate an IBAN. Bank details in 100 countries and territories.

Try it

Example response/iban/DE89370400440532013000
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country": "DE",
  "formatted": "DE89 3704 0044 0532 0130 00",
  "bank": "37040044",
  "bank_name": "Commerzbank",
  "bic": "COBADEFFXXX",
  ?deep=true
}

1M requests · $20/mo. Get started

What comes back.

iban

Normalized IBAN, uppercase, no spaces. null when empty

valid

Structure, ISO checksum, and the national BBAN check when that country publishes one

country

ISO 3166-1 alpha-2 from the prefix, or null when it is not an IBAN country

formatted

Print form in groups of four, for display. null when invalid

deep.checksum

The two check digits as a string, keeping a leading zero

bank

Bank identifier parsed from the number, not a name. null when length is wrong

bank_name

Institution name from published bank-code sources. null when that country is not sourced, or the code is unknown

bic

BIC from the same published sources. null when unsourced or missing

deep.branch

Branch identifier when that country has one. null when it does not, or length is wrong

deep.account

Account identifier, the rest of the number after bank and branch

1

Pass the number

Spaces, mixed case, missing prefix with country. Junk is valid false, never a 404.

2

Get the parts

Country, bank, and print form for display. Add deep=true for checksum digits, branch, and account, included on every plan.

3

Identify the bank

Bank names in 100 countries and territories; BICs in 62. bank stays the code from the number. Unmatched names and BICs are null.

Coverage

Structure, ISO checksum, and published national BBAN checks across 101 countries and territories. Bank names in 100 countries and territories.

Bank directories

Find bank-name and BIC fields by country. Each field comes from a matching published bank record. Missing or ambiguous matches return null. Twelve accepted French territory prefixes share France's directory.

100 of 100 countries and territories

Bank name and BIC fields by country or territory, with individual bank scope in the country notes.
Country or territoryBank nameBIC
AL AlbaniaAvailableAvailable
AD AndorraAvailableNot listed
AT AustriaAvailableAvailable
AZ AzerbaijanAvailableAvailable
BH BahrainSelected banksAvailableAvailable
BY BelarusAvailableAvailable
BE BelgiumAvailableAvailable
BA Bosnia & HerzegovinaSelected banksAvailableAvailable
BR BrazilAvailableNot listed
BG BulgariaAvailableAvailable
BI BurundiSelected banksAvailableAvailable
CR Costa RicaAvailableNot listed
HR CroatiaAvailableAvailable
CY CyprusAvailableAvailable
CZ CzechiaAvailableAvailable
DK DenmarkAvailableAvailable
DJ DjiboutiSelected banksAvailableAvailable
DO Dominican RepublicAvailableAvailable
EG EgyptSelected banksAvailableNot listed
SV El SalvadorAvailableAvailable
EE EstoniaAvailableAvailable
FK Falkland IslandsSelected banksAvailableAvailable
FO Faroe IslandsAvailableAvailable
FI FinlandAvailableAvailable
FR FranceAvailableNot listed
GF French GuianaShared French directoryAvailableNot listed
PF French PolynesiaShared French directoryAvailableNot listed
TF French Southern TerritoriesShared French directoryAvailableNot listed
GE GeorgiaAvailableAvailable
DE GermanyAvailableAvailable
GI GibraltarXapo onlyAvailableNot listed
GR GreeceAvailableNot listed
GL GreenlandAvailableAvailable
GP GuadeloupeShared French directoryAvailableNot listed
GT GuatemalaAvailableAvailable
HN HondurasAvailableAvailable
HU HungaryAvailableAvailable
IS IcelandSelected banksAvailableNot listed
IQ IraqSelected banksAvailableAvailable
IE IrelandAvailableNot listed
IL IsraelAvailableNot listed
IT ItalyAvailableNot listed
JO JordanSelected banksAvailableAvailable
KZ KazakhstanAvailableAvailable
XK KosovoSelected banksAvailableAvailable
KW KuwaitSelected banksAvailableAvailable
LV LatviaAvailableAvailable
LB LebanonSelected banksAvailableNot listed
LY LibyaSelected banksAvailableNot listed
LI LiechtensteinAvailableAvailable
LT LithuaniaAvailableAvailable
LU LuxembourgAvailableAvailable
MT MaltaAvailableAvailable
MQ MartiniqueShared French directoryAvailableNot listed
MR MauritaniaSelected banksAvailableAvailable
MU MauritiusSelected banksAvailableNot listed
YT MayotteShared French directoryAvailableNot listed
MD MoldovaAvailableNot listed
MC MonacoAvailableNot listed
MN MongoliaSelected banksAvailableAvailable
ME MontenegroAvailableAvailable
NL NetherlandsAvailableAvailable
NC New CaledoniaShared French directoryAvailableNot listed
NI NicaraguaAvailableAvailable
MK North MacedoniaAvailableNot listed
NO NorwayAvailableAvailable
OM OmanAvailableNot listed
PK PakistanSelected banksAvailableAvailable
PS PalestineSelected banksAvailableAvailable
PL PolandAvailableAvailable
PT PortugalSelected banksAvailableAvailable
QA QatarSelected banksAvailableAvailable
RE RéunionShared French directoryAvailableNot listed
RO RomaniaAvailableAvailable
RU RussiaAvailableNot listed
LC Saint LuciaSelected banksAvailableAvailable
SM San MarinoAvailableAvailable
ST São Tomé & PríncipeSelected banksAvailableAvailable
SA Saudi ArabiaSelected banksAvailableAvailable
RS SerbiaAvailableAvailable
SC SeychellesSelected banksAvailableAvailable
SK SlovakiaAvailableAvailable
SI SloveniaAvailableAvailable
SO SomaliaSelected banksAvailableAvailable
ES SpainAvailableNot listed
BL St. BarthélemyShared French directoryAvailableNot listed
MF St. MartinShared French directoryAvailableNot listed
PM St. Pierre & MiquelonShared French directoryAvailableNot listed
SD SudanSelected banksAvailableNot listed
SE SwedenAvailableAvailable
CH SwitzerlandAvailableAvailable
TL Timor-LesteAvailableAvailable
TN TunisiaSelected banksAvailableNot listed
TR TürkiyeAvailableNot listed
UA UkraineAvailableNot listed
AE United Arab EmiratesSelected banksAvailableAvailable
GB United KingdomAvailableNot listed
VA Vatican CitySelected banksAvailableAvailable
WF Wallis & FutunaShared French directoryAvailableNot listed
YE YemenSelected banksAvailableNot listed

Structure and checksum validation also covers the British Virgin Islands. Its bank_name field returns null. Bank-name and BIC matches are separate from the validation result.

Source data for Spain, Cyprus, and Slovenia is also available free from Banco de España, Central Bank of Cyprus, and Banka Slovenije.

101
countries & territories validated
100
countries & territories with bank names

Pass an IBAN. Spaces and mixed case are fine. Pass country when the prefix is missing. Get the normalized number, the print form for display, validity, the bank code, and the bank name and BIC when known.

Add deep=true for checksum digits, branch, and account decomposition, included on every plan. Junk answers valid: false as a 200. Missing or ambiguous bank names stay null. This does not prove the account exists.

SPEED

How long /iban takes.

Median time to first byte over the last seven days. Warm requests, measured every 30 minutes. Live verification and other request variants can take longer.

US

18ms

EU

20ms

APAC

38ms

LatAm

38ms

ME

88ms

See live status →

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/iban/DE89370400440532013000" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country": "DE",
  "formatted": "DE89 3704 0044 0532 0130 00",
  "bank": "37040044",
  "bank_name": "Commerzbank",
  "bic": "COBADEFFXXX"
}

API referenceSDKsKeys and authentication

Every response field

Response fields

iban
Normalized IBAN, uppercase, no spaces. null when empty
valid
Structure, ISO checksum, and the national BBAN check when that country publishes one
country
ISO 3166-1 alpha-2 from the prefix, or null when it is not an IBAN country
formatted
Print form in groups of four, for display. null when invalid
bank
Bank identifier parsed from the number, not a name. null when length is wrong
bank_name
Institution name from published bank-code sources. null when that country is not sourced, or the code is unknown
bic
BIC from the same published sources. null when unsourced or missing

Deep fields

deep.checksum
The two check digits as a string, keeping a leading zero
deep.branch
Branch identifier when that country has one. null when it does not, or length is wrong
deep.account
Account identifier, the rest of the number after bank and branch

Build with IBAN

All tutorials →

QUESTIONS

Which countries can I validate IBANs from?
Structure, ISO checksum, and published national BBAN checks cover 101 countries and territories. Bank names in 100 countries and territories; BICs in 62. A null bank_name or bic does not mean the IBAN is invalid. Check valid for the validation result.
What if it is not an IBAN?
valid: false as a 200. iban still echoes the cleaned-up value. Same as a typo in a form field.
What are bank and branch?
bank is the code parsed from the number. Optional deep adds branch and account decomposition plus checksum digits, included on every plan. bank_name and bic stay in core and are null when unknown or ambiguous.
Which countries have bank names and BICs?
The directory table above shows bank-name and BIC fields by country, with notes for individual banks. Gibraltar covers Xapo. Each field comes from a matching bank record. A missing or ambiguous match returns null without changing the checksum result.
Can I skip the country prefix?
Pass country= and we fill it. A prefix already on the value wins.
Does this prove the account exists?
No. Structure, ISO checksum, the national BBAN check when published, and the issuing bank from the directory. Whether the account is open is a name check at the bank, a different product.
Is the country in SEPA?
GET /bloc/sepa/countries lists the members on every plan. Paid country detail also includes deep.blocs.
What about spaces?
Fine. Spaces and punctuation are stripped. The response iban is uppercase with no spaces. formatted carries the print form in groups of four for display.

Check one number in the IBAN checker. Format, checksum, and available bank details.

Check before transfer.

IBAN format, checksums, and bank details when known. Every plan.

Start includes 1M API requests a month for $20/mo.