SEPA IBAN validation API

Validate IBANs and check SEPA bank participation

Check an IBAN and the bank’s participation in SEPA Credit Transfer, Instant Credit Transfer, Direct Debit Core and B2B. Get a separate result for each scheme in one JSON response, using bank data and EPC participant registers.

Start with 10 free API requests every 24 hours.

Is the IBAN valid — and does the bank support your SEPA scheme?

These are separate checks. An IBAN can pass its format and checksum checks while the bank’s participation in a particular payment scheme remains unconfirmed. Check both when collecting payment details or preparing a payment run.

Validate the IBAN

Check country format, length and check digits before storing customer payment details.

Identify the bank

Use available bank-directory data to resolve the bank and BIC. Directory checks are available for 40 countries.

Check the required scheme

Read the individual result for your credit transfer, instant payment or direct debit workflow.

Four SEPA schemes, four independent results

SCT

Credit Transfer

details.sepa.sct

Reports the bank’s participation in the standard SEPA credit transfer scheme.

SCT Inst

Instant Credit Transfer

details.sepa.sctInst

Reports participation in the instant credit transfer scheme. It is not a live RT1/TIPS reachability check or a guarantee of instant execution.

SDD Core

Direct Debit Core

details.sepa.sddCore

Reports participation in the SEPA Direct Debit Core scheme.

SDD B2B

Direct Debit B2B

details.sepa.sddB2b

Reports participation in the Business-to-Business scheme. Do not infer this result from the Core result.

Participant data comes from the European Payments Council’s separate scheme registers. A confirmed result requires an unambiguous bank mapping and a current participant match in fresh register data.

SEPA API request and JSON response

Use the IBAN validation endpoint with your API key. The SEPA results are included when bank details are returned; no separate scheme-check request is needed.

curl --get "https://www.iban-test.eu/api/v2/iban/validate" \
  --header "Authorization: Bearer YOUR_API_TOKEN" \
  --data-urlencode "iban=DE89370400440532013000"

Example response excerpt showing only the SEPA fields. Actual results depend on the IBAN and available register data.

{
  "details": {
    "sepa": {
      "sct": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sctInst": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sddCore": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sddB2b": {
        "status": "confirmed",
        "reason": "matched"
      }
    }
  }
}

Read the complete SEPA field and reason reference.

For a step-by-step example, follow the guide to checking SEPA bank participation. It includes a Python response interpreter, an illustrative JSON file and instructions for reading each scheme’s status and reason.

Handle confirmed and unknown results correctly

1. Check the validation result

Handle invalid IBAN input first. SEPA participation is additional information and does not change the IBAN validation result.

2. Read your scheme’s status

confirmed with reason matched confirms bank participation in that scheme. Each scheme must be evaluated separately.

3. Keep unknown distinct from unsupported

unknown means participation could not be confirmed. Check the reason and use a review or fallback step instead of automatically marking the bank unsupported.

For example, missing_bic means the bank BIC was unavailable, no_match means no matching participant was found, and stale_data means the register data is outdated.

This is a validation and bank-participation API. It does not initiate payments, verify account ownership or existence, confirm a direct debit mandate, or guarantee settlement. Account eligibility and live payment routing must be handled by your payment provider.

Add SEPA checks to your payment workflow

Use these results in customer onboarding, direct debit setup and payment preparation. Start with a free API key, inspect a response and handle the required scheme in your application.

For general format, checksum and bank-directory validation, see the IBAN validation API.

Bank data validation

Bank directory checks for 40 countries

IBAN-Test goes beyond checksum-only validation. For these countries, we check the bank identifier against available bank directories and return bank details such as institution, city and BIC when available. See how IBAN validation works.

ALAlbania ADAndorra ATAustria BEBelgium BGBulgaria HRCroatia CYCyprus CZCzech Republic DKDenmark EEEstonia FIFinland FRFrance DEGermany GIGibraltar GRGreece HUHungary ISIceland IEIreland ITItaly LVLatvia LILiechtenstein LTLithuania LULuxembourg MTMalta MDMoldova MEMontenegro NLNetherlands MKNorth Macedonia NONorway PLPoland PTPortugal RORomania SMSan Marino RSSerbia SKSlovakia SISlovenia ESSpain SESweden CHSwitzerland VAVatican City

IBAN syntax check

Format checks for 115 IBAN formats

Check IBANs for a valid structure, correct length and checksum. This helps you catch typos and transposed digits before a payment fails. Additional bank validation against real bank directories is available for the countries listed above.

MCP Server for AI Agents – Connect AI clients to IBAN validation tools – https://www.iban-test.eu/mcp – API documentation