API para validar CUIT en Argentina
Validá CUIT y CUIL por API REST con un solo endpoint. Formato + dígito verificador (módulo 11) sobre la especificación pública de AFIP. Respuesta inmediata, schema consistente con el resto de LatAm.
POST /v1/verify/validate
$ curl -X POST https://api.normadata.io/v1/verify/validate \
-H "X-API-Key: nd_your_key" \
-d '{"country":"AR","type":"cuit","value":"20-12345678-9"}'
{
"valid": true,
"normalized": "20123456789",
"formatted": "20-12345678-9",
"type": "CUIT",
"category": "tax_id"
}¿Qué hace la validación de CUIT?
El CUIT (Clave Única de Identificación Tributaria) es el identificador fiscal que AFIP asigna a personas físicas y jurídicas en Argentina. Tiene formato XX-XXXXXXXX-X — 11 dígitos divididos en tres bloques: prefijo (2 dígitos según tipo: 20/23/24 masculino, 27 femenino, 30/33/34 empresas), número (8 dígitos), y dígito verificador (1 dígito calculado por módulo 11).
Validar el CUIT significa dos cosas:
- Formato correcto: 11 dígitos, prefijo válido (20/23/24/27/30/33/34).
- Dígito verificador correcto: el último dígito tiene que coincidir con el resultado del algoritmo módulo 11 sobre los primeros 10.
Implementar esto en código propio significa: leer la especificación de AFIP, hacer el algoritmo, escribir tests para los edge cases (prefijos inválidos, formato con/sin guiones, ceros a la izquierda), mantenerlo cuando AFIP actualiza. Una API resuelve esto en una llamada REST: enviás el valor, te devuelve valid: true/false + formato normalizado.
Qué hace y qué NO hace esta API
Sí hace
- Valida formato del CUIT/CUIL
- Valida dígito verificador (módulo 11)
- Normaliza el valor (sin guiones)
- Devuelve el valor formateado (con guiones)
- Detecta automáticamente CUIT vs CUIL
NO hace
- NO consulta el padrón de AFIP
- NO confirma que el CUIT pertenezca a alguien específico
- NO devuelve razón social ni nombre
- NO devuelve estado fiscal ni deuda
- NO da scoring crediticio ni señales de fraude
Si necesitás registry-lookup (CUIT → razón social) o KYC (verificar identidad), necesitás un proveedor regulado por encima de esta capa. Esta API va antes: rechaza basura malformada antes de que llegue a tu base de datos.
Casos de uso típicos
- Onboarding de usuarios en apps fintech/marketplaces — validar CUIT antes de crear el registro.
- Facturación electrónica — validar CUIT del cliente antes de emitir.
- Importación de bases heredadas — limpiar CUITs malformados o con errores de tipeo.
- Formularios B2B con cliente corporativo — validar CUIT empresarial antes de submit.
- Validación en sistemas de RRHH/nómina al cargar nuevos empleados.
- Apps multi-país que necesitan el mismo schema para AR (CUIT), BR (CPF), MX (RFC), CL (RUT), etc. — usás el mismo endpoint, solo cambiás el campo
country.
¿Y CUIL? ¿Y DNI?
CUIL usa el mismo algoritmo y formato que CUIT, solo cambia el contexto (CUIL para empleados en relación de dependencia, CUIT para autónomos y empresas). La misma API valida ambos pasándole type: "cuil" o type: "cuit".
DNI es solo formato (7-8 dígitos, sin DV). La API también lo valida con type: "dni". Para validar cuentas bancarias asociadas, ver API para validar CBU en Argentina.
FAQ
Preguntas frecuentes sobre la API de validación de CUIT
¿Es gratis?
Normadata está en beta privada. Los beta testers tienen acceso gratuito durante la beta. Al lanzamiento público va a tener planes con cuotas mensuales según volumen de calls (todavía sin precios anunciados).
¿Cuál es el rate limit?
Durante la beta hay límites suaves por API key (típicamente 1.000-10.000 calls/día según el caso). Para volúmenes altos en producción, hablás directamente con el equipo para definir SLA.
¿Qué pasa si el CUIT no existe en AFIP pero el dígito verificador es correcto?
La API devuelve valid: true porque el formato y DV son correctos. Esta API NO consulta AFIP — solo valida la estructura matemática del identificador. Si necesitás confirmar que el CUIT existe en el padrón AFIP, necesitás un proveedor de registry-lookup separado.
¿Soporta validación batch?
Sí, hay un endpoint para validar arrays de hasta 100 identificadores en una sola call. Útil para limpieza de bases. Detalles en la documentación.
¿Cómo obtengo una API key?
Solicitando acceso a la beta en normadata.io. El equipo revisa cada solicitud manualmente y prioriza casos con tracción real (apps fintech, marketplaces multi-país, herramientas de operaciones).
¿Puedo implementar la validación en código propio sin la API?
Sí, el algoritmo módulo 11 para CUIT es público. Si solo necesitás validar CUIT en Argentina (un solo país, un solo identificador), implementarlo en tu stack puede tener sentido. La ventaja de Normadata aparece cuando necesitás validar múltiples identificadores en múltiples países con schema consistente y un solo endpoint.
Validá CUIT y otros identificadores con Normadata
Beta privada. Sumate a la lista de espera para recibir tu API key.