IBAN

GET/v0/iban

Validates an International Bank Account Number (IBAN) as defined by ISO 13616. Supports 80+ countries. Verification includes format check, country-specific length validation and the MOD-97 checksum algorithm. Spaces and hyphens in the input are stripped automatically; lowercase letters are accepted.

For valid IBANs the response includes bank identification — the national bank code extracted from the BBAN and the bank name looked up from official central bank registries. Bank name and BIC lookup is available for 40+ countries including PL, DE, AT, CZ, CH, LI, BE, ES, GB, IE, NL, FR, SE, DK, FI, NO, HU, SK, LU, RO, BG, LV, EE, SI, PT, LT, HR, TR, SA, AE, IL, GE, RS, BA, ME, MK, AL, MD, IS, AD, XK, GI and VA. Bank code extraction rules are available for 45 countries.

Guides: Node.js · Python

Try it

Query Parameters

ParameterTypeRequiredDescription
valuestringYesFull IBAN (e.g. PL61 1090 1014…) or just the numeric part without the country code prefix when countryCode is provided
countryCodestringNoISO 3166-1 alpha-2 country code (e.g. PL). Required when value does not include the country code prefix. When provided and value already starts with the same code, it is used as-is

Example Requests

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/iban?value=PL61109010140000071219812874"

Response Fields

FieldTypeDescription
validbooleanWhether the IBAN passed all validation checks
countryCodestringISO 3166-1 alpha-2 country code (e.g. PL)
countryNamestringFull country name (e.g. Poland)
bbanstringBasic Bank Account Number — the country-specific part after the 4-character IBAN header
isEUbooleanWhether the issuing country is an EU member state
formattedstringIBAN formatted in canonical groups of 4 characters (e.g. PL61 1090 1014 0000 0712 1981 2874)
bankCodestring | nullNational bank code extracted from the BBAN. Structure varies by country (e.g. 8-digit numer rozliczeniowy for PL, 8-digit Bankleitzahl for DE). null for unsupported countries
bankNamestring | nullName of the bank identified by the bank code. null if not found in the registry
bankBicstring | nullBIC/SWIFT code of the bank if available from the national registry. null otherwise

Example Response

{
  "valid": true,
  "countryCode": "PL",
  "countryName": "Poland",
  "bban": "109010140000071219812874",
  "isEU": true,
  "formatted": "PL61 1090 1014 0000 0712 1981 2874",
  "bankCode": "10901014",
  "bankName": "Powszechna Kasa Oszczędności Bank Polski SA",
  "bankBic": "BPKOPLPW"
}

Example Response — invalid

{
  "valid": false
}