Checksum an IBAN. Country, bank, and account codes out.
Checksum an IBAN before you store it. You get the normalized number, the print form for display, the country, and the bank, branch, and account identifiers sitting inside it. That counts as a normal request. A string that is not an IBAN answers valid: false as a 200, never a 404.
bank and branch are codes parsed from the number, not a name. Branch is null when that country has none. 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.
curl "https://api.parseapi.com/iban/DE89370400440532013000" \
-H "X-API-Key: YOUR_API_KEY"{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"checksum": "89",
"bank": "37040044",
"branch": null,
"account": "0532013000"
}curl "https://api.parseapi.com/iban/DE89%203704%200044%200532%200130%2000" \
-H "X-API-Key: YOUR_API_KEY"{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"checksum": "89",
"bank": "37040044",
"branch": null,
"account": "0532013000"
}curl "https://api.parseapi.com/iban/hello" \
-H "X-API-Key: YOUR_API_KEY"{
"iban": "HELLO",
"valid": false,
"country": null,
"formatted": null,
"checksum": null,
"bank": null,
"branch": null,
"account": null
}curl "https://api.parseapi.com/iban/89370400440532013000?country=DE" \
-H "X-API-Key: YOUR_API_KEY"{
"iban": "DE89370400440532013000",
"valid": true,
"country": "DE",
"formatted": "DE89 3704 0044 0532 0130 00",
"checksum": "89",
"bank": "37040044",
"branch": null,
"account": "0532013000"
}Response fields
Questions? Email