apyhub
Back
DATA VALIDATION · FINANCE

Validate IBAN API

Hosted on ApyHub

What it does

The IBAN Validation API checks whether an IBAN is real and gives you back its parts. Send the IBAN, get back the country code, the BBAN, whether it belongs to a SEPA country, and a printable format for showing back to the user.

Validation runs two checks. The structure has to match the format that country uses, and the check digits have to pass the mod-97 calculation. Together they catch typos, transposed characters and made-up numbers before a payment leaves your system.

Use it on payment forms, supplier onboarding, payout setup and back-office cleanup of stored bank details. A failed transfer costs a fee and a support ticket. A rejected form field costs nothing.

The sepa_country flag tells you which payment rules apply, so you can branch between SEPA and international transfer logic in the same code path.

One limitation worth stating plainly: a valid IBAN is a well-formed IBAN. It does not confirm the account is open, or that it belongs to the person who typed it. For that, use the Advanced IBAN Validation API from Quadlem. For SWIFT and BIC codes, use the Validate SWIFT/BIC API.

POST
Validate an IBAN
https://api.eu.apyhub.com/apyhub/validate-iban

QUICKSTART

GUIDE

Quickstart

Validate an IBAN by sending it in a simple JSON body.

curl -X POST "https://api.eu.apyhub.com/apyhub/validate-iban" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"iban":"FR7630006000011234567890189"}'

What you'll get back

Returns a JSON object with a data field. data can be either an object with IBAN details and a valid flag, or a boolean false when the IBAN is invalid.

{
  "data": {
    "bban": "30006000011234567890189",
    "iban": "FR7630006000011234567890189",
    "valid": true,
    "country_code": "FR",
    "sepa_country": true,
    "printable_format": "FR76 3000 6000 0112 3456 7890 189"
  }
}
TRY ITLIVE · 5 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
The IBAN to validate.

About this endpoint

What it does

Validates an IBAN submitted in the request body and returns a JSON object under data. When the IBAN is valid, data contains IBAN details; when it is invalid, data is false.

Request Body

ParameterTypeMandatoryDescription
ibanStringYesThe IBAN to validate.

Response

Returns a JSON object with a required data field. data is either an object containing IBAN details or the boolean false when the IBAN is invalid.

ParameterTypeMandatoryDescription
dataObject / BooleanYesEither an object with bban, iban, valid, country_code, sepa_country, and printable_format fields, or false when the IBAN is invalid.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.