API para validar CPF y CNPJ en Brasil
Validá CPF (pessoa física) y CNPJ (pessoa jurídica) por API REST con un solo endpoint. Formato + doble dígito verificador (módulo 11) sobre la especificación pública de Receita Federal. Mismo schema que el resto de LatAm.
Validar CPF
$ curl -X POST https://api.normadata.io/v1/verify/validate \
-H "X-API-Key: nd_your_key" \
-d '{"country":"BR","type":"cpf","value":"123.456.789-09"}'
{
"valid": true,
"normalized": "12345678909",
"formatted": "123.456.789-09",
"type": "CPF",
"category": "tax_id"
}Validar CNPJ
$ curl -X POST https://api.normadata.io/v1/verify/validate \
-H "X-API-Key: nd_your_key" \
-d '{"country":"BR","type":"cnpj","value":"11.222.333/0001-81"}'
{
"valid": true,
"normalized": "11222333000181",
"type": "CNPJ",
"category": "tax_id"
}CPF vs CNPJ: la diferencia
Brasil tiene dos identificadores fiscales según el tipo de persona:
- CPF (Cadastro de Pessoas Físicas) — 11 dígitos. Identificador para personas físicas. Formato:
XXX.XXX.XXX-XX. Tiene dos dígitos verificadores calculados por módulo 11 con pesos decrecientes. - CNPJ (Cadastro Nacional da Pessoa Jurídica) — 14 dígitos. Identificador para empresas. Formato:
XX.XXX.XXX/XXXX-XX. Los 4 dígitos en el medio (después de la barra) representan la filial (0001 = matriz). También tiene doble DV módulo 11.
Cómo se valida un CPF
El algoritmo del CPF tiene una particularidad: se calculan los dos dígitos verificadores en secuencia, el segundo depende del primero.
- Verificar formato: 11 dígitos numéricos, no todos iguales (CPFs como
11111111111son rechazados aunque pasen el checksum). - Primer DV: sumar los primeros 9 dígitos multiplicados por pesos decrecientes desde 10: 10·d1 + 9·d2 + ... + 2·d9. Módulo 11. Si el resto es 0 o 1, DV = 0; sino DV = 11 − resto.
- Segundo DV: mismo cálculo pero sobre los primeros 10 dígitos (los 9 originales + el primer DV calculado), con pesos desde 11 a 2.
- Comparar ambos DVs calculados con los dos últimos dígitos del CPF ingresado.
Cómo se valida un CNPJ
Similar al CPF pero con 14 dígitos y pesos distintos:
- Verificar formato: 14 dígitos numéricos, no todos iguales.
- Primer DV: primeros 12 dígitos multiplicados por pesos
[5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]. Módulo 11. Resto 0 o 1 → DV = 0; sino DV = 11 − resto. - Segundo DV: primeros 13 dígitos multiplicados por pesos
[6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]. - Comparar con los dos últimos dígitos del CNPJ ingresado.
Qué hace y qué NO hace esta API
Sí hace
- Valida formato del CPF/CNPJ
- Valida ambos dígitos verificadores (módulo 11)
- Rechaza casos triviales (todos iguales)
- Normaliza y formatea el valor
- Detecta automáticamente CPF vs CNPJ
NO hace
- NO consulta el padrão de Receita Federal
- NO confirma que el CPF/CNPJ pertenezca a alguien
- NO devuelve razão social ni nombre
- NO devuelve situación cadastral ni deuda fiscal
- NO realiza KYC
Casos de uso típicos en Brasil
- Onboarding em apps fintech, marketplaces, gateways de pagamento.
- Faturação eletrônica (NFe) — validar CPF/CNPJ do destinatário antes de emitir.
- Cadastro de clientes em sistemas CRM/ERP multi-cliente.
- Validação em larga escala de bases legadas — detectar CPFs malformados.
- Apps multi-país LatAm que precisam de schema consistente para BR (CPF/CNPJ), AR (CUIT), MX (RFC), CL (RUT) etc. — mesmo endpoint, troca o campo
country.
FAQ
Preguntas frecuentes sobre la API de validación CPF/CNPJ
¿La API consulta Receita Federal?
No. Solo valida formato y los dos dígitos verificadores según especificación pública. NO consulta Receita Federal, no devuelve situação cadastral, razão social ni deuda. Para registry-lookup necesitás un proveedor regulado por encima.
¿Qué hace con CPFs trivialmente "válidos" como 11111111111?
Los rechaza. Un CPF con todos los dígitos iguales (000.000.000-00, 111.111.111-11, etc.) pasa matemáticamente el checksum pero no es un CPF real. La API filtra estos casos automáticamente.
¿Diferencia automáticamente entre CPF y CNPJ?
Sí. Si pasás 11 dígitos, valida como CPF; si pasás 14, como CNPJ. Podés ser explícito pasando type: "cpf" o "cnpj", o dejar que la API infiera por longitud.
¿Tiene rate limits altos para Brasil?
Brasil tiene volúmenes altos por la cantidad de cadastros y nota fiscal eletrônica. Durante la beta, los límites son configurables por cuenta según el caso de uso. Para producción a escala, hablás directamente con el equipo.
¿Soporta los formatos con y sin máscara?
Sí. Acepta con puntos/guiones (123.456.789-09), sin puntos/guiones (12345678909), con espacios, en cualquier combinación. La normalización es automática.
¿Vale la pena usar esta API en vez de implementarlo en código?
Si solo necesitás validar CPF/CNPJ en Brasil, el algoritmo es público y podés implementarlo en cualquier stack. La ventaja de Normadata aparece cuando necesitás validar múltiples identificadores en múltiples países con schema consistente y sin mantener N libs distintas.
Validá CPF, CNPJ y más con Normadata
Beta privada. Sumate a la lista de espera para recibir tu API key.