API de Empresas (CNPJ)
Integre a API da CNPJ Data usando autenticação via X-API-Key.
Esta documentação é voltada para integrações autenticadas e uso de créditos de API. Para uma consulta individual gratuita, sem login, utilize a Consulta Pública de CNPJ.
Passo 1 — Comprar créditos
Acesse o painel da CNPJ Data, vá até a seção API e adquira créditos de API.
Passo 2 — Gerar chave de API
No painel autenticado, na aba Minha API, gere sua chave e envie-a no header X-API-Key.
X-API-Key: <id>.<secret>Consultar uma empresa por CNPJ
curl -X GET "https://api.cnpjdata.com.br/api/companies/01234567000189" \
-H "X-API-Key: <id>.<secret>"Envie o CNPJ sem máscara, apenas números. Cobrança: 1 crédito.
A API paga também retorna a lista de sócios e os dados disponíveis para o acesso autenticado. Na consulta pública, os campos de identificação dos sócios são mascarados.
Exemplo na consulta pública (dados mascarados):
{
"socios": [
{
"nomeSocio": "S***** M****** A****",
"cnpjCpfSocio": "***00******",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Exemplo na API paga (dados disponíveis):
{
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Resposta 200 (exemplo):
{
"searchId": "uuid-da-busca",
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"situacaoCadastralCodigo": "02",
"uf": "SP"
}A resposta completa inclui os demais dados cadastrais disponíveis.
Ver resposta completa
{
"searchId": "uuid-da-busca",
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Consultar duas ou mais empresas por lista de CNPJs
curl -X POST "https://api.cnpjdata.com.br/api/companies/list" \
-H "X-API-Key: <id>.<secret>" \
-H "Content-Type: application/json" \
-d '{"cnpjs":["01234567000189","00987654000110"],"page":1,"limit":20}'Resposta 200 (exemplo):
{
"searchId": "uuid-da-busca",
"data": [{ "cnpjCompleto": "01.234.567/0001-89", "razaoSocial": "EMPRESA EXEMPLO LTDA" }],
"page": 1,
"limit": 20,
"total": 2,
"totalPages": 1
}Com page, são debitados apenas os registros retornados. Sem page, são debitados todos os registros e é gerado um arquivo completo.
Ver modelo completo de uma empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Ver quantidade de empresas antes da consulta por filtros
Antes de realizar uma consulta massiva por filtros, verifique quantas empresas correspondem aos critérios selecionados. Assim, você avalia o volume antes de solicitar os dados.
curl -X GET "https://api.cnpjdata.com.br/api/companies/count?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicio=2016" \
-H "X-API-Key: <id>.<secret>"Resposta 200:
{ "count": 123456 }page e limit não são utilizados. Essa rota não retorna empresas, não gera searchId e não consome créditos.
Exemplos de filtros
Os filtros podem ser combinados na URL. Parâmetros aceitos: uf, codMunicipio, cidadeNome, cnae, porte, status, anoInicio, anoInicioMin e anoInicioMax.
Localização e período
Use uf=SP e cidadeNome=Campinas para filtrar por localização. Para um ano específico, use anoInicio=2016. Para um intervalo, use anoInicioMin=2015&anoInicioMax=2020.
CNAE
Informe o código CNAE completo, apenas com números. Não use pontos, hífen ou barra. Exemplo: cnae=6201500.
Situação
Informe o código no parâmetro status. Exemplo: status=02 para empresas ativas.
Porte da empresa
| Código | Descrição |
|---|---|
| 00 | Não Informado |
| 01 | Micro Empresa |
| 03 | Empresa De Pequeno Porte |
| 05 | Demais |
Situação cadastral
| Código | Descrição |
|---|---|
| 01 | Nula |
| 02 | Ativa |
| 03 | Suspensa |
| 04 | Inapta |
| 08 | Baixada |
Buscar por filtros — exportação completa
Faça a consulta sem enviar page para gerar um arquivo com todos os registros encontrados.
curl -X GET "https://api.cnpjdata.com.br/api/companies?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicio=2016" \
-H "X-API-Key: <id>.<secret>"Resposta 200 (estrutura resumida):
{
"searchId": "uuid-da-busca",
"data": [{ "cnpjCompleto": "01.234.567/0001-89", "razaoSocial": "EMPRESA EXEMPLO LTDA" }],
"total": 58,
"totalPages": 3
}Até 10.000 registros: a resposta vem completa e síncrona, no mesmo formato paginado, com o arquivo do resultado total disponível pelo searchId.
Acima de 10.000 registros: o arquivo é gerado de forma assíncrona. A resposta vem com "status": "processing" e data vazia, e o arquivo fica disponível pelo searchId assim que o processamento concluir (normalmente em poucos minutos, proporcional ao volume).
Resposta quando a exportação é assíncrona (acima de 10.000 registros):
{
"searchId": "uuid-da-busca",
"status": "processing",
"data": []
}A resposta completa contém os dados cadastrais disponíveis. Cobrança: total de registros encontrados; o arquivo é associado ao searchId.
Ver modelo completo de uma empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Acompanhar uma exportação assíncrona
Após uma exportação assíncrona, acompanhe o processamento pelo searchId:
curl -X GET "https://api.cnpjdata.com.br/api/companies/exports/<searchId>/status" \
-H "X-API-Key: <id>.<secret>"Resposta 200 (exemplo):
{
"searchId": "uuid-da-busca",
"status": "processing",
"total": 123456,
"error": null,
"createdAt": "2026-08-31T14:30:00.000Z"
}| Status | Significado |
|---|---|
| processing | Arquivo sendo gerado |
| ready | Pronto para download |
| failed | Falhou no processamento; contate o suporte |
Buscar por filtros — paginação com page
Envie page e limit para consultar apenas uma página.
O parâmetro limit aceita no máximo 100 registros por página.
curl -X GET "https://api.cnpjdata.com.br/api/companies?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicioMin=2015&anoInicioMax=2020&page=2&limit=20" \
-H "X-API-Key: <id>.<secret>"Resposta 200 (estrutura resumida):
{
"searchId": "uuid-da-busca-da-pagina",
"data": [{ "cnpjCompleto": "12.345.678/0001-99", "uf": "SP" }],
"page": 2,
"limit": 20,
"total": 58,
"totalPages": 3
}Cobrança: apenas a quantidade de registros retornados na página.
Ver modelo completo de uma empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Baixar o arquivo do resultado pelo painel
Acesse o painel autenticado, vá em Minhas consultas de API, localize a consulta pelo label e clique em Baixar.
O link é válido por 2 minutos e cada resultado pode ser baixado até 5 vezes por dia.
Consultas ainda em processing ficam disponíveis para download assim que o status mudar para ready.
A listagem no painel mostra o status e o total de registros de cada consulta.