BYTETOOLS

OpenIBAN API

Free IBAN validation API with no key: check international bank account numbers for structural and checksum validity, with bank data lookup. Tested example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the OpenIBAN API?

OpenIBAN is a free, key-free API that validates International Bank Account Numbers, checking country-specific structure and the mod-97 checksum, and optionally returning bank information for the account.

IBAN validation is more involved than it looks: each country has its own length and format, and there is a mod-97 checksum across the whole string. Getting it right catches most typos before a payment fails.

What validation cannot tell you is whether the account actually exists or who owns it — only that the number is structurally well-formed. That distinction matters: a valid IBAN can still be a closed or non-existent account, so never treat validation as verification.

Quick facts

Base URL
https://openiban.com
Authentication
No API key required.
Rate limit
No published limit; fair use expected.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the OpenIBAN API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Validate an IBAN

GET https://openiban.com/validate/DE89370400440532013000

curl
curl 'https://openiban.com/validate/DE89370400440532013000'
JavaScript (fetch)
const res = await fetch("https://openiban.com/validate/DE89370400440532013000");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://openiban.com/validate/DE89370400440532013000", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "valid": true,
  "messages": [],
  "iban": "DE89370400440532013000",
  "bankData": {
    "bankCode": "",
    "name": ""
  },
  "checkResults": {}
}

Parameters

ParameterTypeRequiredDescription
<iban>pathRequiredThe IBAN to validate, without spaces. DE89370400440532013000
getBICbooleanOptionalInclude the BIC/SWIFT code where known. true
validateBankCodebooleanOptionalAdditionally check the bank code against known banks. true

Response fields

validboolean
Whether the IBAN passes structure and checksum validation.
messagesarray
Validation error messages when invalid.
ibanstring
The normalised IBAN that was checked.
bankDataobject
Bank code and name where the country's bank directory is available.
checkResultsobject
Detail of which individual checks passed.

What you can build with the OpenIBAN API

  • Validate bank details at checkout before submitting a payment
  • Catch IBAN typos in payroll and supplier onboarding forms
  • Normalise IBANs stored in inconsistent formats
  • Look up the bank behind an account number

Common errors and how to fix them

valid: false with checksum message

The mod-97 checksum failed — usually a typo.

Fix: Ask the user to re-enter; a single transposed digit fails the checksum, which is the point.

Empty bankData

No bank directory is available for that country.

Fix: Bank lookup coverage is strongest for Germany; treat it as optional enrichment.

Spaces in the IBAN

Formatted IBANs with spaces may fail.

Fix: Strip whitespace before sending.

OpenIBAN API — frequently asked questions

Is there a free IBAN validation API?

Yes, OpenIBAN validates IBAN structure and checksum with no API key required.

Does a valid IBAN mean the account exists?

No. Validation only confirms the number is well-formed and passes its checksum. It cannot confirm the account is open or who owns it — never treat it as account verification.

Which countries are supported?

Structural and checksum validation works for all IBAN countries. Bank name lookup is only available where a bank directory exists, with the best coverage in Germany.

Should I strip spaces before validating?

Yes. IBANs are often displayed in groups of four for readability, but the API expects the continuous string.

Tools that pair with this API

OpenIBAN is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.