deterministic
no-api-key
id
identifiers
banking
validation

IBAN validator: length, mod-97 check digits, bank/branch/account breakdown (89 countries)

IBAN validator: validate an IBAN's length for its country, permitted character classes per field, and the ISO 7064 mod-97-10 check digits. Returns the verdict with a specific failure reason, the electronic and print formats, and the decomposed bank code, branch code and account number according to that country's registered layout. Covers the 89 countries of the SWIFT IBAN registry. Structure and checksum only, it does not confirm the account exists.

Output (data): valid (boolean), iban (electronic format, no spaces, uppercase), iban_print (grouped in fours), country (first two characters), check_digits, bban, parts ({bank, branch, account}, each string|null per the registry layout for the country; all null when the length, structure or country is wrong), length (actual), expected_length (registry length, null for an unknown country), reason (null | country_unknown | length | charset | structure | checksum, checked in that order), algorithm (always mod-97-10). A failed verdict is a 200, never a 400.

Deterministic: identical input returns identical output, so the response is served with Cache-Control: private, max-age=31536000, immutable (the paying client may cache it indefinitely; shared caches must not, because the response is paid).

Sources: iban-registry ibantools 4.5.4, field layout schwifty 2026.7.3 (published 2026-04-10, MIT). Echoed in meta.sources.

Price: $0.05 USDC per call (x402, Base). Route contract version 1.0.0. Docs: https://api.duoleads.com/docs#id-iban

get/v1/id/iban

Request

  • Base URL: https://api.duoleads.com
  • URL: https://api.duoleads.com/v1/id/iban
  • Auth: none declared

Query parameters

ibanstring required

The IBAN. Spaces and non-breaking spaces are stripped; lowercase is accepted and uppercased. Accepted: an IBAN of at most 64 characters.

Response

Paid and settled. data is route-specific; a route that judges its input returns 200 with data.valid: false for a bad value.

okunknown required
route'/v1/id/iban' required
version'1.0.0' required

Changes

No recorded changes to this operation across all 1 revision of this API.