Validar IBAN
Validar IBAN es una API que comprueba si un número de cuenta IBAN es válido (checksum ISO 7064), antes de guardarlo o usarlo para un pago. Le mandas el IBAN y te dice si es correcto, de qué país es y cómo se escribe bien formateado.
Cómo funciona
Le mandas el IBAN (con o sin espacios) y comprueba su dígito de control matemáticamente. No consulta ningún banco ni verifica que la cuenta exista de verdad, solo que el número está bien construido: justo lo que hace falta para pillar errores de tecleo antes de que causen un problema.
Que el IBAN no sea válido no es un error de la petición: la respuesta es 200 con "valid": false, igual que cuando sí lo es.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n (paso a paso)
En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/validate-iban - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/json - Send Body: actívalo → Body Content Type: JSON →
{ "iban": "GB82 WEST 1234 5698 7654 32" }
En Make (módulo HTTP → Make a request): mismo método y URL, Body type: Raw, Content type: JSON, con el mismo cuerpo.
Opciones (dentro del JSON)
| Opción | Por defecto | Para qué sirve |
|---|---|---|
iban | - | Obligatorio. El IBAN a validar, con o sin espacios. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/validate-iban - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: SOLO
application/json. - Algoritmo: ISO 7064 MOD 97-10, calculado en JS puro con BigInt (sin dependencia externa ni servicio de terceros).
- Límites: 30 peticiones/min por IP. 1 llamada = 1 crédito, sea el IBAN válido o no.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
iban | - | Obligatorio. String no vacío, hasta 80 caracteres antes de quitar espacios (400 si no cumple). |
Ejemplos
curl:
curl -X POST "https://api.cofferdock.com/validate-iban" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"iban":"GB82 WEST 1234 5698 7654 32"}'
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/validate-iban', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ iban: 'GB82 WEST 1234 5698 7654 32' }),
});
const { valid, country, formatted } = await r.json();
Python:
import requests
r = requests.post(
'https://api.cofferdock.com/validate-iban',
headers={'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json'},
json={'iban': 'GB82 WEST 1234 5698 7654 32'},
)
print(r.json())
Respuesta
{ "success": true, "valid": true, "country": "GB", "formatted": "GB82 WEST 1234 5698 7654 32",
"meta": { "used": 12, "remaining": 488 } }
Lo que recibes
valid (verdadero/falso), country (los 2 primeros caracteres, si son letras) y formatted (el IBAN reagrupado cada 4 caracteres, aunque no sea válido: es solo formato, no una afirmación).
Validate IBAN
Validate IBAN is an API that checks whether an IBAN account number is valid (ISO 7064 checksum) before you store it or use it for a payment. Send the IBAN and get back whether it's correct, which country it's from, and how it looks properly formatted.
How it works
You send the IBAN (with or without spaces) and it checks the check-digit mathematically. It doesn't call any bank or verify the account actually exists, only that the number is well-formed: exactly what you need to catch typos before they cause a problem.
An invalid IBAN isn't a request error: the response is 200 with "valid": false, same as when it's valid.
All you need
- Your API key. Create it in your dashboard with "+ Create key". It's shown only once, so copy and save it.
- In your automation platform, an "HTTP Request" step (n8n, Make, Zapier, Pipedream… all have one).
How to use it in n8n (step by step)
In the HTTP Request node:
- Method:
POST - URL:
https://api.cofferdock.com/validate-iban - Send Headers: on → add two:
x-api-key= your key, andContent-Type=application/json - Send Body: on → Body Content Type: JSON →
{ "iban": "GB82 WEST 1234 5698 7654 32" }
In Make (HTTP → Make a request module): same method and URL, Body type: Raw, Content type: JSON, with the same body.
Options (inside the JSON)
| Option | Default | What it does |
|---|---|---|
iban | - | Required. The IBAN to validate, with or without spaces. |
API overview
- Endpoint:
POST https://api.cofferdock.com/validate-iban - Auth: header
x-api-key: YOUR_KEY. - Input:
application/jsonONLY. - Algorithm: ISO 7064 MOD 97-10, computed in pure JS with BigInt (no external dependency or third-party service).
- Limits: 30 requests/min per IP. 1 call = 1 credit, whether the IBAN is valid or not.
Options
| Option | Default | Description |
|---|---|---|
iban | - | Required. Non-empty string, up to 80 characters before stripping spaces (400 otherwise). |
Examples
curl:
curl -X POST "https://api.cofferdock.com/validate-iban" \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"iban":"GB82 WEST 1234 5698 7654 32"}'
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/validate-iban', {
method: 'POST',
headers: { 'x-api-key': 'YOUR_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({ iban: 'GB82 WEST 1234 5698 7654 32' }),
});
const { valid, country, formatted } = await r.json();
Python:
import requests
r = requests.post(
'https://api.cofferdock.com/validate-iban',
headers={'x-api-key': 'YOUR_KEY', 'Content-Type': 'application/json'},
json={'iban': 'GB82 WEST 1234 5698 7654 32'},
)
print(r.json())
Response
{ "success": true, "valid": true, "country": "GB", "formatted": "GB82 WEST 1234 5698 7654 32",
"meta": { "used": 12, "remaining": 488 } }
What you get back
valid (true/false), country (the first 2 characters, if they're letters) and formatted (the IBAN regrouped every 4 characters, even if it's not valid: it's just formatting, not a claim of validity).