GET /iban/{iban}
IBAN validation API
Validate an IBAN. Bank details in 100 countries and territories.
Try it
{
"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
| Country or territory | Bank name | BIC |
|---|---|---|
| AL Albania | Available | Available |
| AD Andorra | Available | Not listed |
| AT Austria | Available | Available |
| AZ Azerbaijan | Available | Available |
| BH BahrainSelected banks | Available | Available |
| BY Belarus | Available | Available |
| BE Belgium | Available | Available |
| BA Bosnia & HerzegovinaSelected banks | Available | Available |
| BR Brazil | Available | Not listed |
| BG Bulgaria | Available | Available |
| BI BurundiSelected banks | Available | Available |
| CR Costa Rica | Available | Not listed |
| HR Croatia | Available | Available |
| CY Cyprus | Available | Available |
| CZ Czechia | Available | Available |
| DK Denmark | Available | Available |
| DJ DjiboutiSelected banks | Available | Available |
| DO Dominican Republic | Available | Available |
| EG EgyptSelected banks | Available | Not listed |
| SV El Salvador | Available | Available |
| EE Estonia | Available | Available |
| FK Falkland IslandsSelected banks | Available | Available |
| FO Faroe Islands | Available | Available |
| FI Finland | Available | Available |
| FR France | Available | Not listed |
| GF French GuianaShared French directory | Available | Not listed |
| PF French PolynesiaShared French directory | Available | Not listed |
| TF French Southern TerritoriesShared French directory | Available | Not listed |
| GE Georgia | Available | Available |
| DE Germany | Available | Available |
| GI GibraltarXapo only | Available | Not listed |
| GR Greece | Available | Not listed |
| GL Greenland | Available | Available |
| GP GuadeloupeShared French directory | Available | Not listed |
| GT Guatemala | Available | Available |
| HN Honduras | Available | Available |
| HU Hungary | Available | Available |
| IS IcelandSelected banks | Available | Not listed |
| IQ IraqSelected banks | Available | Available |
| IE Ireland | Available | Not listed |
| IL Israel | Available | Not listed |
| IT Italy | Available | Not listed |
| JO JordanSelected banks | Available | Available |
| KZ Kazakhstan | Available | Available |
| XK KosovoSelected banks | Available | Available |
| KW KuwaitSelected banks | Available | Available |
| LV Latvia | Available | Available |
| LB LebanonSelected banks | Available | Not listed |
| LY LibyaSelected banks | Available | Not listed |
| LI Liechtenstein | Available | Available |
| LT Lithuania | Available | Available |
| LU Luxembourg | Available | Available |
| MT Malta | Available | Available |
| MQ MartiniqueShared French directory | Available | Not listed |
| MR MauritaniaSelected banks | Available | Available |
| MU MauritiusSelected banks | Available | Not listed |
| YT MayotteShared French directory | Available | Not listed |
| MD Moldova | Available | Not listed |
| MC Monaco | Available | Not listed |
| MN MongoliaSelected banks | Available | Available |
| ME Montenegro | Available | Available |
| NL Netherlands | Available | Available |
| NC New CaledoniaShared French directory | Available | Not listed |
| NI Nicaragua | Available | Available |
| MK North Macedonia | Available | Not listed |
| NO Norway | Available | Available |
| OM Oman | Available | Not listed |
| PK PakistanSelected banks | Available | Available |
| PS PalestineSelected banks | Available | Available |
| PL Poland | Available | Available |
| PT PortugalSelected banks | Available | Available |
| QA QatarSelected banks | Available | Available |
| RE RéunionShared French directory | Available | Not listed |
| RO Romania | Available | Available |
| RU Russia | Available | Not listed |
| LC Saint LuciaSelected banks | Available | Available |
| SM San Marino | Available | Available |
| ST São Tomé & PríncipeSelected banks | Available | Available |
| SA Saudi ArabiaSelected banks | Available | Available |
| RS Serbia | Available | Available |
| SC SeychellesSelected banks | Available | Available |
| SK Slovakia | Available | Available |
| SI Slovenia | Available | Available |
| SO SomaliaSelected banks | Available | Available |
| ES Spain | Available | Not listed |
| BL St. BarthélemyShared French directory | Available | Not listed |
| MF St. MartinShared French directory | Available | Not listed |
| PM St. Pierre & MiquelonShared French directory | Available | Not listed |
| SD SudanSelected banks | Available | Not listed |
| SE Sweden | Available | Available |
| CH Switzerland | Available | Available |
| TL Timor-Leste | Available | Available |
| TN TunisiaSelected banks | Available | Not listed |
| TR Türkiye | Available | Not listed |
| UA Ukraine | Available | Not listed |
| AE United Arab EmiratesSelected banks | Available | Available |
| GB United Kingdom | Available | Not listed |
| VA Vatican CitySelected banks | Available | Available |
| WF Wallis & FutunaShared French directory | Available | Not listed |
| YE YemenSelected banks | Available | Not 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
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.