API HTTP
A API HTTP para consulta de CNPJ permite aos usuários receber informações de empresas a partir do número do CNPJ.
Visão Geral da API
A API utiliza o protocolo HTTP e o formato de dados JSON para todas as solicitações e respostas. O endpoint da API é https://api.cnpjs.dev/v1/{cnpj}
, onde {cnpj}
é o número do CNPJ da empresa que será consultado.
A resposta da API contém informações detalhadas sobre a empresa associada ao CNPJ fornecido, incluindo detalhes de registro, situação cadastral, endereço, CNAE fiscal principal, telefones, e-mails e informações sobre sócios.
Acesso à API
A API pode ser acessada por qualquer cliente HTTP compatível com JSON. Para usar a API, os clientes devem enviar uma solicitação HTTP GET para o endpoint https://api.cnpjs.dev/v1/{cnpj}
e incluir o número do CNPJ como um parâmetro de caminho. A resposta será um objeto JSON com as informações da empresa.
Qualquer tentativa de abuso da API poderá ocasionar o bloqueio do acesso. O objetivo dessas limitações é garantir a disponibilidade e a estabilidade da API para todos os usuários.
Parâmetros da solicitação
A solicitação HTTP GET deve incluir um único parâmetro de caminho:
cnpj
: o número do CNPJ da empresa a ser consultado.
O parâmetro cnpj
é obrigatório. Se o parâmetro não estiver presente na solicitação, a API retornará uma resposta de erro 404 Not found
.
Resposta da API
A API retorna uma resposta HTTP para solicitações bem-sucedidas:
- Código de status
200
indicando que a solicitação foi processada com sucesso. - Corpo da resposta em formato JSON, contendo as informações da empresa associada ao CNPJ fornecido.
Por exemplo, a URL https://api.cnpjs.dev/v1/33000167100246
retorna o seguinte objeto JSON:
{
"cnpj": "33000167100246",
"razao_social": "PETROLEO BRASILEIRO S A PETROBRAS",
"natureza_juridica": "Sociedade de Economia Mista",
"qualificacao_responsavel": "Diretor",
"capital_social": 205431960000.0,
"porte": "",
"ente_federativo_responsavel": null,
"nome_fantasia": "PETROBRAS",
"situacao_cadastral": "Ativa",
"data_situacao_cadastral": "2005-11-03",
"motivo_situacao_cadastral": "SEM MOTIVO",
"nome_da_cidade_no_exterior": null,
"pais": null,
"endereco": {
"tipo_logradouro": "AVENIDA",
"logradouro": "CORONEL SANTA RITA",
"numero": "S N",
"complemento": "CAIS DOS INFLAMAVEL",
"bairro": "CENTRO",
"cep": "83203210",
"uf": "PR",
"municipio": "PARANAGUA"
},
"data_inicio_atividade": "1977-05-03",
"cnae_fiscal_principal": {
"codigo": 4681801,
"nome": "Comércio atacadista de álcool carburante, biodiesel, gasolina e demais derivados de petróleo, exceto lubrificantes, não realizado por transportador re"
},
"cnae_fiscal_secundaria": [],
"telefone1": "2132244446",
"telefone2": "00",
"telefone_fax": "00",
"email": "[email protected]",
"situacao_especial": null,
"data_situacao_especial": null,
"socios": [
{
"tipo": "Pessoa física",
"nome": "SALVADOR DAHAN",
"doc": "***672828**",
"qualificacao": "Diretor",
"data_entrada": "2021-04-22",
"pais": "",
"faixa_etaria": "41 a 50 anos",
"representante_legal": {
"nome": "",
"doc": "***000000**",
"qualificacao": "Não informada"
}
}
]
}
Se ocorrer um erro durante o processamento da solicitação, a API retornará uma resposta de erro, incluindo um código de status HTTP e uma mensagem de erro explicando a causa do erro.
Códigos de status da resposta
A tabela a seguir lista os códigos de status HTTP que a API pode retornar em resposta a uma solicitação:
Status | Descrição |
---|---|
200 | A solicitação foi processada com sucesso. |
400 | A solicitação foi malformada ou um parâmetro está faltando. |
401 | A solicitação não incluiu as credenciais necessárias. |
403 | O cliente não tem permissão para acessar a API. |
404 | O CNPJ especificado não foi encontrado. |
429 | O cliente atingiu o limite de solicitações para este período. |
500 | O servidor encontrou um erro ao processar a solicitação. |
Exemplos
Exemplos de como fazer uma solicitação à API HTTP para consulta de CNPJ:
cURL
Exemplo de requisição usando o cURL.
$ curl https://api.cnpjs.dev/v1/33000167100246
{
"cnpj": "33000167100246",
"razao_social": "PETROLEO BRASILEIRO S A PETROBRAS",
"natureza_juridica": "Sociedade de Economia Mista",
# ...
}
Python
Exemplo de requisição usando a biblioteca requests.
import requests
from pprint import pprint
response = requests.get(https://api.cnpjs.dev/v1/33000167100246)
data = response.json()
pprint(data)
Resultado:
{
"cnpj": "33000167100246",
"razao_social": "PETROLEO BRASILEIRO S A PETROBRAS",
"natureza_juridica": "Sociedade de Economia Mista",
# ...
}