Lee este artículo en español.
How to validate an IBAN in n8n (one node)
If you automate payments or vendor onboarding with n8n, a mistyped IBAN (one digit swapped, an extra space) can slip through all the way to the bank and bounce back days later. Checking it before you trigger anything saves that round trip. With the regular HTTP Request node and the Cofferdock API, you check it instantly.
Quick note: n8n has no dedicated "validate IBAN" node. You do it with the HTTP Request node calling an API that checks the IBAN's checksum (the math check that catches transcription errors, the same one your bank uses) and tells you which country it belongs to.
What you'll get
You send the IBAN (with or without spaces) and it tells you whether it's valid, which country it belongs to, and returns it already formatted in blocks of 4. It doesn't check whether the account actually exists or has funds: it checks whether the number itself is well-formed, which is what you can know without calling the bank.
Common uses in n8n:
- Checking a vendor's IBAN before onboarding them for a SEPA payment.
- Validating the IBAN a customer types into a direct-debit form.
- Catching transcription errors at a glance before they reach the bank.
What you need
- A Cofferdock account. The free tier gives you 50 uses/month with no card.
- Your API key, from your dashboard with "+ Create key". It's shown only once.
- An HTTP Request node in your n8n flow.
Step by step in the HTTP Request node
Add an HTTP Request node and fill it in like this:
- Method:
POST - URL:
https://api.cofferdock.com/validate-iban - Send Headers: turn it on and add two:
x-api-keywith your key, andContent-Typewith the valueapplication/json. - Send Body: turn it on → Body Content Type:
JSON→ in the body:
{ "iban": "={{ $json.iban }}" }
- Under Options → Response → Response Format leave it as JSON.
The response includes valid, country and formatted (the IBAN already formatted in blocks of 4). With an IF node you decide whether the flow continues or asks for a correction.
A quick example
Say you have a vendor onboarding form:
- A trigger (a webhook from the form) with the IBAN the vendor typed.
- The HTTP Request node above, which validates it.
- An IF node that checks
{{ $json.valid }}: iftrue, the vendor gets onboarded withformattedas the stored IBAN; iffalse, they're asked to review it before continuing.
No mistyped IBAN ever reaches your accountant or your bank.
Prefer to see it in code?
The same call with curl:
curl -X POST "https://api.cofferdock.com/validate-iban" \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"iban": "GB29NWBK60161331926819"}'
How much does it cost?
Each check uses 1 credit from your plan, whether the IBAN comes back valid or not. Every Cofferdock tool draws from the same pool of credits.
FAQ
Does n8n have a native node to validate IBANs? No. You do it with the HTTP Request node calling the Cofferdock API.
Does this check that the account really exists? No. It checks the checksum (that the number is well-formed, with no transcription errors), not whether the account is open or has funds. Only the bank knows that when it processes the payment.
Can I send the IBAN with spaces? Yes. It's cleaned up automatically before being checked, so you can send it exactly as the person typed it.
Can I validate several IBANs in a loop? Yes. If the previous node returns several rows, n8n runs the HTTP Request once per row.
Related guides
Try it yourself
You'll find the full instructions, with copy-paste examples, on the IBAN validation page. And if you don't have an account yet, you can create one for free and build your first flow today.