Validar NIF, NIE o CIF
Validar NIF/NIE/CIF es una API que comprueba la letra o dígito de control de un identificador fiscal español, antes de guardarlo en una factura o un formulario. Alcance: solo España, a diferencia de un VAT number de cualquier país de la UE.
Cómo funciona
Le mandas el identificador (con o sin espacios/guiones) y detecta si es un NIF (8 dígitos + letra), un NIE (X/Y/Z + 7 dígitos + letra) o un CIF (letra + 7 dígitos + dígito o letra de control), y comprueba matemáticamente si el control coincide. No consulta la Agencia Tributaria ni ningún registro: solo la aritmética del propio número.
Que 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.
Aviso honesto sobre el CIF
Qué letras de organización del CIF exigen dígito de control y cuáles exigen letra varía según la fuente. En vez de arriesgar una regla incorrecta, esta herramienta acepta cualquiera de las dos formas matemáticamente válidas del control. Comprueba el checksum, no si la empresa está registrada de verdad.
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-tax-id - 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 →
{ "tax_id": "12345678Z" }
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 |
|---|---|---|
tax_id | - | Obligatorio. El NIF, NIE o CIF a validar, con o sin espacios/guiones. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/validate-tax-id - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: SOLO
application/json. - Algoritmo: letra de control NIF/NIE (módulo 23) y checksum CIF, JS puro (sin dependencia externa ni servicio de terceros, sin consultar la AEAT).
- Límites: 30 peticiones/min por IP. 1 llamada = 1 crédito, sea válido o no.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
tax_id | - | Obligatorio. String no vacío, hasta 20 caracteres (400 si no cumple). |
Ejemplos
curl:
curl -X POST "https://api.cofferdock.com/validate-tax-id" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"tax_id":"12345678Z"}'
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/validate-tax-id', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ tax_id: '12345678Z' }),
});
const { valid, type } = await r.json();
Respuesta
{ "success": true, "valid": true, "type": "nif", "formatted": "12345678Z",
"meta": { "used": 12, "remaining": 488 } }
Lo que recibes
valid (verdadero/falso), type (nif/nie/cif, o null si no coincide con ningún formato español) y formatted (el identificador en mayúsculas y sin espacios).