IBAN validation API

Validate IBANs in forms, batches and CI.

Check country format, length and MOD-97 checksum through one authenticated API. Return deterministic validation rows, optional bank metadata and explicit quota or input errors.

Quickstart

Validate two IBAN rows

curl -X POST https://ibangen.com/api/v1/validate \
  -H 'X-API-Key: YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"ibans":["DE89370400440532013000","NO2142014370530"]}'
Response shape

Inspect the contract before integration

[
  {"iban": "DE89370400440532013000", "valid": true, "country_code": "DE"},
  {"iban": "NO2142014370530", "valid": true, "country_code": "NO"}
]
Coverage boundary

What this workflow proves — and what it does not

Deterministic checks

The same IBAN produces the same structure and checksum result, making failures reproducible in CI.

Honest semantics

A valid checksum never claims that an account exists, is owned by a person, or can receive a payment.

Integration-ready

The published OpenAPI and Postman contracts match the authenticated production endpoint and error states.

Workflows

Common QA workflows

Questions teams ask

Before you choose a workflow

What does the IBAN validation API verify?

It verifies supported country format, expected length, character structure and MOD-97 checksum. It can return bank metadata only where evidence and plan access support it.

Does a valid response prove that the account is real?

No. A checksum-valid IBAN can still be synthetic, unassigned, closed or unable to receive a payment.

Can I validate multiple IBANs in one request?

Yes. The API accepts bounded batches according to the current plan contract; the OpenAPI document defines the request and error shapes.