Pesquisa de Empresas
Na API Comercial, no Plano Premium
, você consegue fazer pesquisas utilizando filtros para encontrar empresas que atendam aos seus requisitos.
O acesso a esse endpoint é exclusivo para assinantes do Plano Premium
Método: GET
Endpoint: https://comercial.cnpj.ws/pesquisa?ADICIONE_OS_FILTROS
Filtros
Você pode utilizar os filtros abaixo em suas consultas.
Campo | Descrição |
---|---|
atividade_principal_id | Código CNAE |
atividade_secundaria_id | Código CNAE |
atividade_id | Código CNAE (pesquisa na atividade principal e secundária) |
natureza_juridica_id | Código da Natureza Jurídica |
razao_social | Razão Social |
nome_fantasia | Nome Fantasia |
pais_id | Código do País do BACEN |
estado_id | Código IBGE do estado |
cidade_id | Código IBGE da Cidade |
cep | CEP |
situacao_cadastral | Situação cadastral na Receita Federal |
data_situacao_cadastral_de | Data da Situação Cadastral (A partir dessa data) no formato YYYY-MM-DD |
data_situacao_cadastral_ate | Data da Situação Cadastral (Até essa data) no formato YYYY-MM-DD |
porte_id | Id do porte da empresa |
socio_nome | Nome do Sócio |
data_inicio_atividade_de | Data de Inicio de Atividade (A partir dessa data) no formato YYYY-MM-DD |
data_inicio_atividade_ate | Data de Inicio de Atividade Até (Até essa data) no formato YYYY-MM-DD |
É crucial destacar que as consultas realizadas neste endpoint baseiam-se em nosso banco de dados e não no da Receita Federal. Portanto, podem ocorrer discrepâncias entre as informações, já que nosso banco de dados pode ter uma defasagem de até 45 dias em relação aos dados atualizados da Receita Federal. Vale ressaltar que, embora realizemos cadastros diariamente devido às consultas de CNPJ feitas na API, a defasagem ainda pode ocorrer.
Lista de Situações Cadastrais:
- Ativa
- Baixada
- Inapta
- Nula
- Suspensa
Lista de portes cadastrados:
ID | Descrição |
---|---|
01 | Não informado |
02 | Micro Empresa |
03 | Empresa de Pequeno Porte |
05 | Demais |
Exemplos de requisição
- JavaScript
- PHP
- Python
yarn add consultar-cnpj
const consultarCNPJ = require("consultar-cnpj");
async function getCNPJ() {
const token = "INFORME O SEU TOKEN DE ACESSO";
const page = 2;
const data = await consultarCNPJ.pesquisa(
{ atividade_principal_id: "6203100", estado_id: 28 },
token,
page
);
console.log(data);
}
<?php
$url = "https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&estado_id=28";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"x_api_token: SEU_TOKEN",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
import requests
from requests.structures import CaseInsensitiveDict
url = "https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&estado_id=28"
headers = CaseInsensitiveDict()
headers["x_api_token"] = "SEU_TOKEN"
resp = requests.get(url, headers=headers)
print(resp.status_code)
Paginação
Caso a pesquisa retorna mais de 20 CNPJ's a API irá dividir a resposta em páginas. Você pode verificar isso no JSON de retono da API, na propriedade "paginacao", que exibe a página atual, o total de páginas e o total de CNPJ's:
{
"paginacao": {
"limite": 20,
"pagina": 1,
"paginas": 5,
"total": 87
}
}
Para buscar uma página específica basta informar o número da página na requisição:
curl -X GET https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&pagina=2 -H "x_api_token: SEU_TOKEN"
Também é possivel alterar a quantidade de CNPJ's retornados, o padrão é 20 mas pode ser até 100:
curl -X GET https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&pagina=2&limite=100 -H "x_api_token: SEU_TOKEN"
Exemplo de Retorno
Abaixo um exemplo do JSON retornado ao se pesquisar pelo CNAE 6203100:
{
"paginacao": {
"limite": 20,
"pagina": 1,
"paginas": 1494,
"total": 29865
},
"ordenacao": [],
"filtros_disponiveis": [
"cnpj",
"cnpj_raiz",
"natureza_juridica_id",
"porte_id",
"razao_social",
"nome_fantasia",
"pais_id",
"estado_id",
"cidade_id",
"cep",
"atividade_principal_id"
],
"filtros_aplicados": {
"atividade_principal_id": "6203100"
},
"data": [
"19323263000160",
"03124023000104",
"64919913000199",
"36427967000100",
"06370042000109",
"01056469000105",
"03292219000108",
"94338217000664",
"01645901000101",
"02868026000181",
"04957691000177",
"01755516000109",
"04970015000133",
"65144347000153",
"04810384000169",
"74641804000106",
"82296112000104",
"03035876000161",
"33643305009801",
"05121798000143"
]
}