Como validar CPF e CNPJ (inclusive o CNPJ alfanumérico)
Como funciona o dígito verificador
CPF (11 dígitos, 2 dígitos verificadores, módulo 11):
- Multiplique os 9 primeiros dígitos por
10, 9, …, 2;r = soma mod 11; o 1º DV é 0 ser < 2, senão11 − r. - Acrescente-o e multiplique os 10 dígitos por
11, 10, …, 2; mesma regra para o 2º DV. - Números com todos os dígitos iguais (ex.: 111.111.111-11) são inválidos.
CNPJ (14 caracteres; desde a IN RFB 2.229/2024 os 12 primeiros podem ser letras):
- Valor de cada caractere = código ASCII − 48 (dígitos 0–9, A = 17 … Z = 42).
- 1º DV: pesos
5,4,3,2,9,8,7,6,5,4,3,2sobre 12 caracteres; 2º:6,5,4,3,2,9,8,7,6,5,4,3,2sobre 13. - Mesma regra: 0 se
soma mod 11 < 2, senão11 − (soma mod 11). Os dois DVs são sempre numéricos.
Validar com a API
Uso direto gratuito: 50 requisições por IP por dia, sem cadastro. Endpoints: POST /validate, POST /batch, GET /generate/{doc_type} (somente para testes: dados sintéticos, não são identidades reais).
curl
curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
-d '{"type":"BR_CPF","value":"202.876.353-17"}'
curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
-d '{"type":"BR_CNPJ","value":"95.813.404/0001-00"}'
# synthetic test data only / solo para pruebas
curl "https://validalatam.ia-latam.app/generate/BR_CPF"Python
import requests
BASE = "https://validalatam.ia-latam.app"
r = requests.post(f"{BASE}/validate", json={"type": "BR_CPF", "value": "202.876.353-17"})
print(r.json()["valid"], r.json()["formatted"])
r = requests.post(f"{BASE}/validate", json={"type": "BR_CNPJ", "value": "95.813.404/0001-00"})
print(r.json()["valid"], r.json()["formatted"])
Resposta real da API (valor sintético de /generate)
202.876.353-17 (BR_CPF):
{"valid":true,"type":"BR_CPF","country":"BR","input":"202.876.353-17","normalized":"20287635317","formatted":"202.876.353-17","error":null,"details":{"fiscal_region":3}}95.813.404/0001-00 (BR_CNPJ):
{"valid":true,"type":"BR_CNPJ","country":"BR","input":"95.813.404/0001-00","normalized":"95813404000100","formatted":"95.813.404/0001-00","error":null,"details":{"branch":"0001","alphanumeric":false}}
Planos
Para produção: Basic grátis (500 req), Pro US$ 9, Ultra US$ 29 e Mega US$ 99 por mês no RapidAPI.
Para assistentes de IA (MCP)
pip install validalatam-mcpgithub.com/elmatis172/validalatam-mcp
← Todos os guias · Contato: faucolabs@gmail.com