IBAN Validator API: Checksum, Country & SEPA avatar

IBAN Validator API: Checksum, Country & SEPA

Pricing

$1.00 / 1,000 iban checkeds

Go to Apify Store
IBAN Validator API: Checksum, Country & SEPA

IBAN Validator API: Checksum, Country & SEPA

Shape-only validators pass made-up numbers as valid. This one does the real mod-97 math, country and SEPA from the official registry, and names the exact reason a number fails, including the check digits it should have had. Malformed lines are free.

Pricing

$1.00 / 1,000 iban checkeds

Rating

0.0

(0)

Developer

Stas K

Stas K

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Security

Limited permissions

Share

IBAN Validator: Checksum, Country & SEPA

Most "IBAN validators" check the shape of the string and answer valid. A made-up number passes them: right country code, right length, right letters - and the money is gone when the payout batch runs. This Actor does the arithmetic a bank does.

Give it one IBAN per line, or paste a whole invoice and it finds them itself.

What the answer contains

fieldmeaning
validtrue only when the mod-97 checksum holds (and the BIC, if given, matches)
statusVALID, BAD_CHECKSUM, BAD_LENGTH, UNKNOWN_COUNTRY, BAD_CHARACTERS, BAD_FORMAT, BAD_BIC, EMPTY
expectedCheckDigitswhen the checksum fails - the pair the number should have had
country, countryCodefrom the official IBAN registry (80+ countries), not from the string alone
sepawhether that country is in the SEPA area
printedthe number the way banks print it, groups of four
bbanthe national part, for your own downstream checks

What it refuses to overclaim

  • A BIC is checked for shape and for its country: DEUTGB2L with a German IBAN is a contradiction and is reported as one. We do not claim to know which bank owns the account - the IBAN alone cannot prove that, so we say nothing.
  • A country we do not know is UNKNOWN_COUNTRY, never a guess.
  • Nothing is dropped silently: an empty line, a truncated number, a URL typed by mistake - each becomes its own row with a reason.

Pricing

$1.00 per 1,000 IBANs whose checksum was actually computed ($0.001 each), and platform usage is included in that price.

  • A malformed line, an unknown country, an empty line - free, and still reported.
  • The input is pure arithmetic: no proxy, no network calls, so a run of 10,000 numbers is a second of work, not a scraping bill.

Typical use

  • validating a payout batch before it leaves your ERP;
  • onboarding check for a B2B customer's bank details;
  • cleaning a supplier file where a typo sends money to nowhere;
  • catching O/0 and l/1 typos that pass every regex.

Example input

{
"ibans": "DE89 3704 0044 0532 0130 00\nGB82 WEST 1234 5698 7654 32\nDE89 3704 0044 0532 0130 01",
"bics": "DEUTDEFF\n\n"
}

The third number has the right shape and the wrong arithmetic - the Actor answers BAD_CHECKSUM and names the check digits it should have had.

API

curl "https://api.apify.com/v2/acts/stas_k~iban-validator/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ibans": "NL91ABNA0417164300"}'

Notes

  • Spaces and dashes are ignored, upper/lower case is normalised; characters themselves are never "corrected" - a letter O where a zero was meant is caught by arithmetic, not by silently rewriting the input.
  • Up to 10,000 IBANs per run.

Spending cap

If you do not set a spending cap, Apify applies its own default (about $4.63 per run). When that cap is reached the run stops early: the remaining items are skipped and you are charged only for what was actually delivered. For a full pass, set maxTotalChargeUsd in the run options.