Consulta de CNPJ
O endpoint GET /v1/cnpj/{cnpj}, a resposta completa e as convenções do contrato.
GET /v1/cnpj/{cnpj}
O {cnpj} pode vir com ou sem máscara. A API aceita CNPJ alfanumérico (IN RFB nº 2.229/2024), em que as 12 primeiras posições podem ter letras.
Atenção ao integrar: não aplique
replace(/\D/g, '')ou equivalente no CNPJ antes de enviar. Num CNPJ alfanumérico isso remove as letras em silêncio e produz outro número, sem erro nenhum. Remova só a pontuação (.,/,-).
Exemplo
curl https://api.toreva.com.br/v1/cnpj/19729868000155 \
-H "Authorization: Bearer $TOREVA_API_KEY"
Resposta 200:
{
"cnpj": "19729868000155",
"cnpjFormatado": "19.729.868/0001-55",
"raiz": "19729868",
"razaoSocial": "Empresa Exemplo Ltda",
"nomeFantasia": "Exemplo",
"matrizFilial": "matriz",
"situacaoCadastral": {
"codigo": "02",
"descricao": "Ativa",
"data": "2019-04-01",
"motivo": null
},
"situacaoEspecial": null,
"dataAbertura": "2005-11-03",
"idadeAnos": 20,
"naturezaJuridica": { "codigo": "2062", "descricao": "Sociedade Empresária Limitada" },
"porte": { "codigo": "05", "descricao": "Demais" },
"capitalSocial": 100000,
"endereco": {
"logradouro": "Rua Um",
"numero": "100",
"complemento": null,
"bairro": "Centro",
"municipio": "São Paulo",
"codigoMunicipio": "7107",
"uf": "SP",
"cep": "01310100"
},
"contato": {
"telefones": [{ "ddd": "11", "numero": "40028922", "formatado": "(11) 4002-8922" }],
"email": "contato@exemplo.com.br"
},
"cnaePrincipal": { "codigo": "6201500", "descricao": "Desenvolvimento de programas de computador sob encomenda" },
"cnaesSecundarios": [{ "codigo": "6202300", "descricao": "..." }],
"socios": [
{
"nome": "Fulano de Tal",
"tipo": "Pessoa física",
"qualificacao": "Sócio-Administrador",
"dataEntrada": "2010-04-15",
"faixaEtaria": "41 a 50 anos"
}
],
"estabelecimentos": [
{
"cnpj": "19729868000236",
"matrizFilial": "filial",
"nomeFantasia": null,
"situacaoCadastral": { "codigo": "02", "descricao": "Ativa" },
"municipio": "Campinas",
"uf": "SP"
}
],
"fonte": {
"origem": "Receita Federal do Brasil",
"referencia": "2026-07",
"atualizadoEm": "2026-08-01",
"possuiCorrecoes": false
}
}
Convenções do contrato
Valem para todos os campos, em todos os endpoints:
| Regra | O que significa |
|---|---|
| Datas em ISO-8601 | Sempre AAAA-MM-DD. Nunca dd/mm/aaaa |
| Dinheiro em número | capitalSocial: 100000, não "R$ 100.000,00" |
| Códigos em texto | "02", "6201500". O zero à esquerda conta |
Ausência é null | Nunca string vazia |
| Sem máscara nos identificadores | cnpj e cep vêm só com os caracteres do valor |
Campos que merecem atenção
situacaoCadastral.codigo: 01 Nula, 02 Ativa, 03 Suspensa, 04 Inapta, 08 Baixada. Compare o código, não a descrição. O texto pode mudar, o código não.
estabelecimentos: a matriz e as filiais com a mesma raiz de 8 posições, incluindo o próprio CNPJ consultado.
fonte.referencia: de qual carga mensal da Receita o dado veio. Use para saber a idade da informação.
fonte.possuiCorrecoes: true indica que algum campo foi corrigido sobre o que a Receita publica, em geral a pedido do próprio titular. O dado entregue já é o corrigido.
Erros e cobrança
CNPJ inválido recebe 400 INVALID_CNPJ e CNPJ fora da base recebe 404 NOT_FOUND. Nenhum dos dois é cobrado. Os demais códigos estão em Erros e limites, e as regras de cobrança em Preços e cobrança.