Search by task, endpoint, field, or error.
IBAN API
Validate an IBAN. Bank details in 100 countries and territories.
Structure and checksum validation covers 101 countries and territories. Bank names in 100 countries and territories; BICs in 62. See the country coverage table.
Checksum an IBAN before you store it. You get the normalized number, the print form for display, the country and bank identifier, plus the official bank name and BIC when we hold that country's directory. That counts as a normal request. A string that is not an IBAN answers valid: false as a 200, never a 404.
bank is the code parsed from the number. bank_name and bic come from the national file. They are null when a match is missing or ambiguous. This does not prove the account exists. Pass ?country= when the value has no prefix. A prefix on the value wins. SEPA membership is a country fact: GET /bloc/sepa/countries lists the members.
Validate
Parameters 3
- ibanstring · path · required
IBAN, with or without spaces, with or without the country prefix
- countrystring · query · optional
ISO 3166-1 alpha-2 when the number has no prefix
- deepboolean · query · optional
Checksum digits and branch/account decomposition. Included on every plan, with no additional charge.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.iban("DE89370400440532013000");
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"bank": "37040044",
"bank_name": "Commerzbank",
"bic": "COBADEFFXXX"
}import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.iban("DE89 3704 0044 0532 0130 00");
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"bank": "37040044",
"bank_name": "Commerzbank",
"bic": "COBADEFFXXX"
}import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.iban("hello");
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"iban": "HELLO",
"valid": false,
"country": null,
"formatted": null,
"bank": null,
"bank_name": null,
"bic": null
}import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.iban("89370400440532013000", { country: "DE" });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"bank": "37040044",
"bank_name": "Commerzbank",
"bic": "COBADEFFXXX"
}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
?deep=true Checksum digits and branch/account decomposition. Included on every plan, with no additional charge.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.iban("DE89370400440532013000", { deep: true });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"bank": "37040044",
"bank_name": "Commerzbank",
"bic": "COBADEFFXXX",
"deep": {
"checksum": "89",
"branch": null,
"account": "0532013000"
}
}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? Email