Valida NIF, NIE, CIF e IBAN
Algoritmos oficiales para validar el NIF de personas físicas, NIE de extranjeros residentes, CIF de empresas españolas e IBAN bancario. Validación del dígito de control según normativa española.
NIF, NIE, CIF e IBAN validados en milisegundos. Integra en minutos, sin mantener algoritmos fiscales.
Algoritmos oficiales para validar el NIF de personas físicas, NIE de extranjeros residentes, CIF de empresas españolas e IBAN bancario. Validación del dígito de control según normativa española.
Cada validación devuelve el tipo detectado, si es válido o no, y el motivo del error. Estructura predecible para integración sencilla en cualquier lenguaje.
Ejemplos listos en Python, JavaScript, PHP y cURL. Sin dependencias, sin mantenimiento de algoritmos fiscales, sin sorpresas.
Implementar la validación es fácil. Mantenerla correctamente durante años, no tanto.
Los algoritmos fiscales tienen casos edge que la mayoría de implementaciones no contemplan: NIEs con formato de 8 dígitos, CIFs cuyo dígito de control puede ser letra o número según el tipo de entidad, IBANs que fallan silenciosamente en ciertos entornos. Cuando falla, acepta identificadores inválidos sin avisar.
La normativa fiscal española puede cambiar. Los formatos pueden actualizarse. Con Valix, eso es un problema nuestro, no tuyo. Con código propio, es un ticket que llega seis meses después de que el dev que lo escribió ya no está en el equipo.
Implementar, testear y mantener validación fiscal correctamente no es un problema de negocio — es fontanería. Cada hora que inviertes en eso es una hora que no estás construyendo lo que diferencia tu producto.
Valores de prueba — copia y pega
12345678Z
X1234567L
A12345674
ES9121000418450200051332
curl -X POST https://api.getvalix.io/v1/validate/trial \
-H "Content-Type: application/json" \
-d '{
"items": [
{"value": "12345678Z", "type": "AUTO"},
{"value": "X1234567L", "type": "AUTO"},
{"value": "A12345674", "type": "AUTO"},
{"value": "ES9121000418450200051332", "type": "AUTO"}
]
}'
import requests
response = requests.post(
"https://api.getvalix.io/v1/validate/trial",
json={
"items": [
{"value": "12345678Z", "type": "AUTO"},
{"value": "X1234567L", "type": "AUTO"},
{"value": "A12345674", "type": "AUTO"},
{"value": "ES9121000418450200051332", "type": "AUTO"}
]
}
)
print(response.json())
const response = await fetch(
"https://api.getvalix.io/v1/validate/trial",
{
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
items: [
{value: "12345678Z", type: "AUTO"},
{value: "X1234567L", type: "AUTO"},
{value: "A12345674", type: "AUTO"},
{value: "ES9121000418450200051332", type: "AUTO"}
]
})
}
);
const data = await response.json();
# Instala el SDK oficial
npm install @valix/sdk
import { trial } from "@valix/sdk";
// Sin API key — hasta 50 validaciones al día
const result = await trial([
{ value: "12345678Z" },
{ value: "X1234567L" },
{ value: "A12345674" },
{ value: "ES9121000418450200051332" }
]);
console.log(result.results[0].formatted); // "12345678-Z"
TypeScript incluido · Node.js 18+ · @valix/sdk en npm ↗
curl -X POST https://api.getvalix.io/v1/validate/batch \
-H "x-api-key: tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"items": [
{"value": "12345678Z", "type": "AUTO"},
{"value": "X1234567L", "type": "AUTO"},
{"value": "A12345674", "type": "AUTO"},
{"value": "ES9121000418450200051332", "type": "AUTO"}
]
}'
import requests
response = requests.post(
"https://api.getvalix.io/v1/validate/batch",
headers={"x-api-key": "tu_api_key"},
json={
"items": [
{"value": "12345678Z", "type": "AUTO"},
{"value": "X1234567L", "type": "AUTO"},
{"value": "A12345674", "type": "AUTO"},
{"value": "ES9121000418450200051332", "type": "AUTO"}
]
}
)
print(response.json())
const response = await fetch(
"https://api.getvalix.io/v1/validate/batch",
{
method: "POST",
headers: {
"x-api-key": "tu_api_key",
"Content-Type": "application/json"
},
body: JSON.stringify({
items: [
{value: "12345678Z", type: "AUTO"},
{value: "X1234567L", type: "AUTO"},
{value: "A12345674", type: "AUTO"},
{value: "ES9121000418450200051332", type: "AUTO"}
]
})
}
);
const data = await response.json();
# Instala el SDK oficial
npm install @valix/sdk
import { Valix } from "@valix/sdk";
const valix = new Valix({ apiKey: "tu_api_key" });
// Validación individual con detección automática
const result = await valix.validate("12345678Z");
console.log(result.valid); // true
console.log(result.formatted); // "12345678-Z"
// Validación en lote (hasta 100 items)
const batch = await valix.batch([
{ value: "12345678Z", type: "AUTO" },
{ value: "X1234567L", type: "AUTO" },
{ value: "A12345674", type: "AUTO" },
{ value: "ES9121000418450200051332", type: "AUTO" }
]);
console.log(batch.valid_count); // 4
TypeScript incluido · Node.js 18+ · @valix/sdk en npm ↗
Sin registro. Sin tarjeta.
Una validación es el procesamiento de un único identificador fiscal (NIF, NIE, CIF o IBAN).
IVA no incluido
10.000 validaciones/mes
IVA no incluido
100.000 validaciones/mes
IVA no incluido
1.000.000 validaciones/mes
Puedes validar NIF (personas físicas españolas), NIE (extranjeros residentes), CIF (empresas españolas) e IBAN español. La API detecta automáticamente el tipo de identificador.
No, la API solo valida el formato y el dígito de control según los algoritmos oficiales. No verifica si el identificador está registrado en bases de datos gubernamentales.
Recibirás tu API key por email automáticamente tras completar el pago. El email incluye instrucciones de uso.
Sí, puedes cambiar de plan en cualquier momento desde el portal de cliente. El coste se prorratea automáticamente en tu próxima factura.
No ofrecemos período de prueba de pago, pero puedes probar la API directamente desde esta página sin registro ni tarjeta — hasta 50 validaciones al día. Si decides suscribirte, puedes cancelar en cualquier momento sin penalización y el acceso continúa hasta el final del período pagado.