IBAN Validator API
Pricing
$0.90 / 1,000 iban checks
IBAN Validator API
Validate IBANs in one run with country structure checks and the ISO 13616 MOD-97 checksum. Get the submitted value, normalized formats, country details when available, SEPA membership, and a clear diagnostic status for each row.
Pricing
$0.90 / 1,000 iban checks
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
✅ IBAN checks for payment and data teams
Finance teams, accounts-payable staff, and developers can check a list of IBANs in one run. The Actor returns the submitted value, machine-ready and grouped formats, country details when available, separate structure and checksum checks, SEPA membership, and a diagnostic status for each IBAN. Use these rows to catch malformed bank details before they enter a payment or data workflow.
- Check a list of IBANs with IBAN Validator and review one validation row per submitted value.
- Catch check-digit mistakes with IBAN Checksum Validator before using an IBAN in a payment file.
- Review country structure and length with IBAN Format Checker for each submitted value.
- Use IBAN Validation to separate valid IBANs from clear diagnostic statuses.
- Test an example value with IBAN Number Example and see its normalized forms and checks.
📦 IBAN validation rows at a glance
Each submitted IBAN creates one dataset row. The row keeps the original value and adds electronic and print formats, validity flags, parsed country details when available, length checks, check digits, BBAN data, SEPA membership, and a diagnostic status.
▶️ Run an IBAN list step by step
- Open the Actor and add one or more values to IBANs.
- Put each value in its own list item.
- Start the run.
- Open the output link or dataset to review and export the rows.
⚙️ Input
The ibans field is required. Add one or more IBAN values; each value is checked separately, and invalid values are returned too.
Input fields
| Field | Type | What it does |
|---|---|---|
ibans | array of strings | Lists the IBAN values to validate. Each value produces its own output row, including when it is invalid. |
Example input
This is the public input from a successful current-beta default-input run:
{"ibans": ["GB29 NWBK 6016 1331 9268 19"]}
🧾 Output
The output link opens the default dataset. It contains one object for each submitted IBAN. Optional fields are left out when the country or parsed account parts cannot be read, or when no bank code is recognized.
Output fields
| Field | Type | What it does |
|---|---|---|
submittedIban | string | Keeps the IBAN exactly as submitted. |
electronicFormat | string | Gives the normalized IBAN for machine use. |
printFormat | string | Gives the normalized IBAN grouped for people to read. |
isValid | boolean | Says whether the country structure and checksum checks pass. |
diagnosticStatus | string | Gives the standard status, such as VALID, INVALID_LENGTH, or INVALID_CHECKSUM. |
countryCode | string | Gives the two-letter country code when it can be read. |
countryName | string | Gives the country name when the country code is known. |
structureValid | boolean | Says whether the IBAN matches the country's structure and expected length. |
checksumValid | boolean | Says whether the IBAN passes the ISO 13616 MOD-97 checksum. |
observedLength | integer | Counts characters in the normalized IBAN. |
expectedLength | integer | Gives the required length when the country format is known. |
checkDigits | string | Gives the two check digits when they can be read. |
bban | string | Gives the parsed Basic Bank Account Number when available. |
isSepaMember | boolean | Says whether the detected country takes part in SEPA. |
bankName | string | Gives a mapped bank name when a bank code is recognized. |
Example validation row
This complete row is from a successful current-beta run:
{"submittedIban": "GB29 NWBK 6016 1331 9268 19","electronicFormat": "GB29NWBK60161331926819","printFormat": "GB29 NWBK 6016 1331 9268 19","isValid": true,"diagnosticStatus": "VALID","countryCode": "GB","structureValid": true,"checksumValid": true,"observedLength": 22,"expectedLength": 22,"checkDigits": "29","bban": "NWBK60161331926819","isSepaMember": true,"countryName": "United Kingdom"}
💳 Pricing
This Actor uses pay-per-event pricing. One IBAN check is charged for each submitted value saved to the dataset, including invalid values. The current price is shown in the Actor's pricing panel.
🔌 Integrations
Run the Actor from Apify Console or the Apify API, then export the dataset in the format your workflow needs. You can also schedule runs and pass the finished dataset to Apify integrations.
❓ FAQ
Is this an IBAN calculator, or can it find an IBAN from an account number?
No. This Actor checks IBANs that you provide; it does not create one or show how to find an IBAN number from an account number. Ask the bank or account holder for the correct value.
Does a valid IBAN prove that the account exists?
No. A valid status means the IBAN matches its country structure and passes the ISO 13616 MOD-97 checksum. It does not confirm that the account is open, belongs to a person, or can receive a payment.
Does the Actor look up a bank or payment provider?
No. Live bank, branch, account, ownership, and payment checks are outside this Actor's contract. It validates the structure and checksum of the submitted IBAN.
What does a diagnostic status mean?
VALID means all checks pass. INVALID_INPUT means the value cannot be read as an IBAN. INVALID_COUNTRY means the country code is not supported. INVALID_LENGTH means the length is wrong. INVALID_STRUCTURE means the value has the wrong country pattern. INVALID_CHECKSUM means the structure is right but the MOD-97 checksum fails.
Can I check several IBANs in one run?
Yes. Add the values to ibans, one per list item. The Actor checks each submitted value independently and saves one row for each value, including invalid values.
Why are some output fields missing?
Country details, expected length, check digits, BBAN data, and bank name are optional. They are omitted when the country or account parts cannot be read; the bank name is also omitted when no bank code is recognized.
What is the difference between electronic and print format?
Electronic format has no spaces and is suited to machine use. Print format groups the same normalized value for easier reading.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Phone Number Validation API — format phone numbers for customer or supplier contact lists.
- Email MX Verifier — check email syntax and MX records before importing a contact list.
- Sanctions & Watchlist Screening — Risk-Scored Decisions — screen names during supplier or counterparty onboarding.
- IBAN Validator & Parser — parse IBAN country, check digits, and BBAN data for payment-data cleanup.
- TR IBAN Validator API — check Turkish IBAN structure and MOD-97 checksum for local payment flows.
Made with ❤️ by Maxime Dupré