PHP — Validar e Obter Dados de um CNPJ
Olá Gente!
Certamente você já precisou obter dados de um CNPJ ou validar se o CNPJ realmente existe.
Para isto, temos uma API gratuita ótima:
Para fazer a consulta, iremos fazer um GET para:
https://publica.cnpj.ws/cnpj/[CNPJ]
Onde precisamos passar o CNPJ (Apenas os números) no lugar de “[CNPJ]”:
https://publica.cnpj.ws/cnpj/06947284000104
Exemplo:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://publica.cnpj.ws/cnpj/06947284000104",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
));
$response = curl_exec($curl);
$response2 = json_decode($response, true);
curl_close($curl);
var_dump($response2);
?>
Se o CNPJ existir, iremos receber um HttpCode 200 e os dados do CNPJ:
{
"cnpj_raiz": "06947284",
"razao_social": "GOOGLE LLC",
"capital_social": "0.00",
"responsavel_federativo": "",
"atualizado_em": "2024-01-13T03:00:00.000Z",
"porte": {
"id": "05",
"descricao": "Demais"
},
"natureza_juridica": {
"id": "2216",
"descricao": "Empresa Domiciliada no Exterior"
},
"qualificacao_do_responsavel": {
"id": 17,
"descricao": "Procurador "
},
"socios": [],
"simples": null,
"estabelecimento": {
"cnpj": "06947284000104",
"atividades_secundarias": [],
"cnpj_raiz": "06947284",
"cnpj_ordem": "0001",
"cnpj_digito_verificador": "04",
"tipo": "Matriz",
"nome_fantasia": null,
"situacao_cadastral": "Ativa",
"data_situacao_cadastral": "2004-08-26",
"data_inicio_atividade": "2004-08-26",
"nome_cidade_exterior": null,
"tipo_logradouro": null,
"logradouro": "1600 AMPHITHEATER PARKWAY",
"numero": "S/N",
"complemento": null,
"bairro": null,
"cep": null,
"ddd1": null,
"telefone1": null,
"ddd2": null,
"telefone2": null,
"ddd_fax": null,
"fax": null,
"email": null,
"situacao_especial": null,
"data_situacao_especial": null,
"atualizado_em": "2024-01-13T03:00:00.000Z",
"atividade_principal": {
"id": "6462000",
"secao": "K",
"divisao": "64",
"grupo": "64.6",
"classe": "64.62-0",
"subclasse": "6462-0/00",
"descricao": "Holdings de instituições não financeiras"
},
"pais": {
"id": "2496",
"iso2": "US",
"iso3": "USA",
"nome": "Estados Unidos",
"comex_id": "249"
},
"estado": {
"id": 28,
"nome": "Exterior",
"sigla": "EX",
"ibge_id": null
},
"cidade": {
"id": 10998,
"nome": "Exterior",
"ibge_id": null,
"siafi_id": "9707"
},
"motivo_situacao_cadastral": null,
"inscricoes_estaduais": []
}
}
Observe que esta API é limitada a 3 requisições por minuto no mesmo IP e 30 requisições por hora
Por hoje é isto, queridos desenvolvedores! 👩💼
Até logo! 👋
Leia também
API Mágica: notificações Web Push no navegador com PHP
Web Push com a API Mágica em PHP puro: o navegador se inscreve, o seu site envia a notificação e a API conta o clique. Sem Composer e sem biblioteca.
IndexNow: avisando o Bing e o Yandex mais rápido
Como criar a chave do IndexNow e avisar Bing e Yandex das suas páginas novas com Node.js e PHP: as requisições, os erros reais e as armadilhas.
llms.txt: por que importa e como gerar em PHP
Por que o llms.txt importa para quem quer ser citado pela IA, e como gerar o seu em PHP puro lendo o sitemap.xml que voce ja tem.