IBANdb

Bank details for any IBAN, with the receipts.

IBANdb checks an IBAN and returns the bank behind it: BIC, name, address, LEI and the SEPA schemes it has joined. The data comes only from official publishers (central banks, national payment associations, SWIFT, GLEIF and the European Payments Council), and every record names its source.

  • Country
  • Check digits
  • Bank code
  • Branch code
  • Account
Examples:

The demo is free and needs no key: 10 lookups a minute per visitor.

Every field has a publisher you can name.

There are no scraped directories, resold databases or guessed values in IBANdb. Each part of a response comes from the organisation that is officially responsible for it.

PublisherWhat it providesResponse fields
National publishersCentral banks, supervisors and payment associations, such as Deutsche Bundesbank, Banca d'Italia, Narodowy Bank Polski and SIX Interbank Clearing The official register of bank codes and branch codes for their country, usually with BIC, name and address bank_code, branch_code, bic, name, short_name, address, city, postal_code
SWIFT IBAN RegistrySWIFT, as the ISO 13616 registration authority IBAN length and structure for each country, and where the bank and branch codes sit inside it valid, errors, country, bban, bank_code, branch_code
GLEIFGlobal Legal Entity Identifier Foundation, CC0 licence LEI records and the official BIC-to-LEI mapping lei, legal_name, bic when bic_source is gleif_lei
European Payments CouncilRegisters of Participants in the EPC payment schemes Which institutions have joined SEPA Credit Transfer, SCT Inst, SEPA Direct Debit Core and B2B, Verification of Payee and other schemes sepa_schemes, sepa_schemes_match

Sources on every record

Each bank in a response lists the sources it was built from. The download URL and SHA-256 of every file we ingest are kept, so any value can be traced back to a specific publication.

Refreshed daily, staleness flagged

Every source is re-fetched each day and published on its own cadence. If a source falls behind by more than twice its usual cadence, responses that use it say so in stale_sources.

Nothing guessed

BICs are copied from the publisher. When a national file has none, one is filled in only if GLEIF's BIC-to-LEI mapping points to exactly one institution, and the response marks it with "bic_source": "gleif_lei". No fuzzy name matching.

Conflicts surfaced, not hidden

When two publishers disagree on a BIC, the national source wins and the disagreement goes into our build report. An update that suddenly loses more than a quarter of a source's records is rejected rather than shipped.

Source registerLoading the list of sources…
PublisherDatasetCountriesRecordsPublishedFetchedStatus

Coverage, country by country.

IBAN validation (length, structure and mod-97 check) works for every country in the SWIFT IBAN Registry. Bank details depend on what each country publishes; these figures are live from the current dataset.

Sources
Loading coverage…
  • Percentages are measured on bank-level codes. "With SEPA schemes" is the share of banks found in the EPC Register of Participants; banks that reach SEPA through another provider show no schemes.
  • United Kingdom and Ireland resolve at bank level: sort-code directories are licensed and cannot be republished.
  • Denmark's official register of bank registration numbers publishes no BIC.

Pay for lookups, not for features.

Every plan gets the same data and every endpoint. Plans differ only in monthly lookups. Pay by card through Stripe; your API key is shown right after checkout.

Loading plans…

Prices are per month, cancel any time from the billing portal. When the monthly quota is used up, requests return 429 until the next month or until you upgrade.

One request, one answer.

Send the IBAN in the path and your key in the Authorization header. Spaces and lowercase are accepted. See the API reference for every field and error.

curl -H "Authorization: Bearer $IBANDB_KEY" \
  https://iban.trekle.space/v1/iban/DE89370400440532013000
Response200 OK, application/json
{"iban":"DE89370400440532013000","valid":true,"country":"DE","country_name":"Germany","sepa":true,"check_digits":"89","bban":"370400440532013000","bank_code":"37040044","bank":{"country":"DE","bank_code":"37040044","branch_code":null,"bic":"COBADEFFXXX","bic_source":"source","name":"Commerzbank","short_name":"Commerzbank Köln","city":"Köln","postal_code":"50447","address":null,"lei":"851WYGNLUQLFZBSYGB56","legal_name":"COMMERZBANK Aktiengesellschaft","sepa_schemes":["SCT","SCT_INST","SDD_B2B","SDD_CORE","VOP"],"sepa_schemes_match":"bic","sources":["de_bundesbank"]},"data_version":"2026-09-24T07:51:20+00:00"}

Questions.

What happens when the IBAN is valid but the bank isn't known?

You still get the full validation result, the country and the bank and branch codes parsed from the IBAN, with "bank": null. That happens when a country's official register doesn't include that code, or when we have no official source for the country yet. Check the coverage table above.

Does a valid IBAN mean the account exists?

No. Validation confirms the length, structure and check digits, and the lookup confirms the bank code belongs to a registered institution. Only the bank can confirm an account; for euro payments, that's what Verification of Payee is for.

How fresh is the data?

We fetch every source daily. Publishers update on their own schedule, from daily to a few times a year; the source register above shows when each one last published. Each response includes a data_version timestamp.

What does bic_source: "gleif_lei" mean?

The national register didn't state a BIC for that bank, so we used GLEIF's official BIC-to-LEI mapping, which gave exactly one BIC for the bank's LEI. When the register does state a BIC, the value is "source".

Can I republish the data?

Your subscription covers using lookup results in your own product. The underlying data keeps its publishers' terms: some national registers and the EPC register restrict commercial redistribution of the dataset as such. Don't resell or republish the data in bulk.

Do you store the IBANs I look up?

IBANs are not written to our telemetry. Usage is counted per API key for billing. The privacy policy has the details.

How do I manage my key and subscription?

With the API itself: GET /v1/account shows your plan and usage, POST /v1/account/rotate issues a new key and disables the old one, and POST /v1/account/portal returns a link to the Stripe billing portal for invoices, plan changes and cancellation. See the docs.