API para validar CPF e CNPJ — inclusive o CNPJ alfanumérico
ValidaLatam é uma API REST que valida e formata documentos da América Latina: 19 tipos, incluindo
BR_CPF e BR_CNPJ com suporte ao novo CNPJ alfanumérico da Receita Federal
(letras e números nas 12 primeiras posições). Validação determinística pelo dígito verificador, sem armazenar dados.
Ver planos no RapidAPI Documentação (OpenAPI)
Comece em 10 segundos
O uso direto é gratuito até 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), /types e /health.
curl
# CPF
curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
-d '{"type":"BR_CPF","value":"529.982.247-25"}'
# CNPJ numérico
curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
-d '{"type":"BR_CNPJ","value":"11.222.333/0001-81"}'
# CNPJ alfanumérico
curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
-d '{"type":"BR_CNPJ","value":"12.ABC.345/01DE-35"}'
Python
import requests
BASE = "https://validalatam.ia-latam.app"
r = requests.post(f"{BASE}/validate", json={"type": "BR_CPF", "value": "529.982.247-25"})
print(r.json()["valid"]) # True
r = requests.post(f"{BASE}/validate", json={"type": "BR_CNPJ", "value": "12.ABC.345/01DE-35"})
print(r.json()["formatted"]) # 12.ABC.345/01DE-35
JavaScript (Node 18+ / navegador)
const BASE = "https://validalatam.ia-latam.app";
const cpf = await fetch(`${BASE}/validate`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ type: "BR_CPF", value: "529.982.247-25" }),
}).then(r => r.json());
console.log(cpf.valid); // true
const cnpj = await fetch(`${BASE}/validate`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ type: "BR_CNPJ", value: "12.ABC.345/01DE-35" }),
}).then(r => r.json());
console.log(cnpj.details.alphanumeric); // true
Respostas reais da API
CPF 529.982.247-25:
{"valid":true,"type":"BR_CPF","country":"BR","input":"529.982.247-25","normalized":"52998224725","formatted":"529.982.247-25","error":null,"details":{"fiscal_region":7}}
CNPJ numérico 11.222.333/0001-81:
{"valid":true,"type":"BR_CNPJ","country":"BR","input":"11.222.333/0001-81","normalized":"11222333000181","formatted":"11.222.333/0001-81","error":null,"details":{"branch":"0001","alphanumeric":false}}
CNPJ alfanumérico 12.ABC.345/01DE-35 (exemplo oficial da Receita):
{"valid":true,"type":"BR_CNPJ","country":"BR","input":"12.ABC.345/01DE-35","normalized":"12ABC34501DE35","formatted":"12.ABC.345/01DE-35","error":null,"details":{"branch":"01DE","alphanumeric":true}}
CNPJ com dígito verificador errado 11.222.333/0001-80:
{"valid":false,"type":"BR_CNPJ","country":"BR","input":"11.222.333/0001-80","normalized":"11222333000180","formatted":null,"error":"check digit mismatch","details":null}
Validação em lote
curl -X POST "https://validalatam.ia-latam.app/batch" -H "Content-Type: application/json" \
-d '{"items":[{"type":"BR_CPF","value":"52998224725"},{"type":"BR_CNPJ","value":"12ABC34501DE35"}]}'Resposta:
{"count":2,"valid_count":2,"results":[{"valid":true,"type":"BR_CPF","country":"BR","input":"52998224725","normalized":"52998224725","formatted":"529.982.247-25","error":null,"details":{"fiscal_region":7}},{"valid":true,"type":"BR_CNPJ","country":"BR","input":"12ABC34501DE35","normalized":"12ABC34501DE35","formatted":"12.ABC.345/01DE-35","error":null,"details":{"branch":"01DE","alphanumeric":true}}]}
Planos
Para produção, use o ValidaLatam no RapidAPI: Basic grátis (500 req), Pro US$ 9, Ultra US$ 29 e Mega US$ 99 por mês.
Para assistentes de IA (MCP)
Servidor MCP em Python para usar a validação em Claude, Cursor e outros assistentes:
pip install validalatam-mcpCódigo e instruções: github.com/elmatis172/validalatam-mcp
Leia mais
Como validar CPF e CNPJ (inclusive o CNPJ alfanumérico) com código e uma API para 19 documentos — artigo em português no DEV.
Contato
Dúvidas ou parcerias: faucolabs@gmail.com