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).