Sou responsável pelo Radar CNPJ. Este texto descreve o contrato público atual e uma chamada que executei em 11 de novembro de 2026. Não é certidão oficial nem relatório de crédito.
O que o produto resolve
A ficha gratuita junta, no mesmo JSON e pelo mesmo CNPJ:
- a situação cadastral da Receita;
- os cadastros de sanções da CGU (CEIS, CNEP, CEPIM e acordos de leniência) e a lista de licitantes inidôneos do TCU;
- as inscrições da dívida ativa da União publicadas pela PGFN.
Você não precisa consultar cada fonte e cruzar o resultado à mão. A resposta traz a data de cada bloco. null significa que aquele bloco não foi conferido; zero numa fonte conferida significa que não havia registro nessa fonte.
Pré-requisitos
-
curle, se for usar o MCP pelo cliente, um cliente com transporte HTTP (a documentação oficial cita Claude Code, Codex, Gemini, Cursor e VS Code). - Um CNPJ que você já tenha o direito de consultar. Aqui uso a matriz do Banco do Brasil (
00000000000191), o mesmo exemplo da documentação do produto, porque é dado público de empresa de capital aberto. - Nada de instalação local do servidor. O MCP está em https://radar-cnpj.com/mcp (Streamable HTTP, protocolo 2025-06-18).
- Para a ficha básica não é preciso conta, chave nem crédito.
Configurar o MCP
Os comandos abaixo saem da página oficial Para agentes. Não instalei Claude, Cursor nem VS Code neste teste; a conferência do protocolo foi feita com curl, mais adiante.
curl -s https://radar-cnpj.com/llms.txt claude mcp add --transport http radar-cnpj https://radar-cnpj.com/mcp codex mcp add radar-cnpj --url https://radar-cnpj.com/mcp gemini mcp add --transport http radar-cnpj https://radar-cnpj.com/mcp Configuração para .mcp.json (Claude Code):
{ "mcpServers": { "radar-cnpj": { "type": "http", "url": "https://radar-cnpj.com/mcp" } } } A mesma página oferece atalhos "Adicionar ao Cursor" e "Instalar no VS Code". Em cliente autenticado, a conexão OAuth já carrega o acesso da conta; não peça outra chave. Chamadas de conta na API HTTP usam X-Api-Key: mmk_… ou Authorization: Bearer mmo_…. Crédito avulso, quando houver, usa Authorization: Bearer cred_…. Não cole token real em tutorial nem em repositório.
1. Conferir a data da base (execução comprovada)
curl -s https://radar-cnpj.com/api/health Resposta obtida em 11/11/2026, de manhã (America/Sao_Paulo), HTTP 200:
{ "ok": true, "service": "api-cnpj", "db": "up", "import": { "dump_date": "2026-10-13", "loaded_at": "2026-10-15T13:40:10.000Z", "counts": { "socio": 28495961, "empresa": 70517437, "simples": 50806102, "estabelecimento": 73809379 } } } import.dump_date (2026-10-13) é a data de referência do cadastro da Receita nesta carga. loaded_at corresponde a 15/10/2026, 10:40 (America/Sao_Paulo). A ficha gratuita não é atualização em tempo real. Pagar uma consulta adicional também não atualiza o instantâneo da Receita nem o da PGFN.
O índice vivo da API, no mesmo dia, identificava o build d9df6565 e 29 ferramentas no MCP.
2. Se você só tem o nome, confirme o CNPJ (execução comprovada)
Há duas rotas públicas e grátis. Elas não devolvem a mesma ordem.
GET /api/sugerir aceita um texto de 3 a 120 caracteres e devolve até oito empresas, sem contato e sem nome pessoal. Pedi q=Banco do Brasil. A primeira linha não foi a matriz: veio a agência de Rondonópolis (00000000186864). As seguintes também eram estabelecimentos, vários com situação Baixada.
GET /api/busca exige termo ou filtro (varrer dezenas de milhões de estabelecimentos sem recorte não é busca). Com o nome, a UF e tipo=nome:
curl -s 'https://radar-cnpj.com/api/busca?q=BANCO%20DO%20BRASIL&uf=DF&tipo=nome&pageSize=5' O primeiro item foi a matriz, com HTTP 200:
- CNPJ
00000000000191(00.000.000/0001-91) - razão social
BANCO DO BRASIL SA, fantasiaDIRECAO GERAL - situação Ativa, Brasília-DF, Asa Norte
- CNAE
6422100(Bancos múltiplos, com carteira comercial)
A mesma página trouxe outros cadastros que apenas coincidem com o termo (por exemplo o BRB e o Banco Central). Confirme o CNPJ antes de abrir a ficha.
A ferramenta MCP equivalente à sugestão é suggest (HTTP: /api/sugerir, não /api/suggest). A da busca é search.
3. Ler a ficha gratuita (execução comprovada)
O CNPJ no caminho deve ter 14 caracteres, sem pontuação. Com pontos e barra a API responde 400 cnpj_invalido.
curl -s 'https://radar-cnpj.com/api/cnpj/00000000000191?temas=dados,sancoes,divida' HTTP 200, ok: true, temas: ["dados","sancoes","divida"]. Trechos da resposta de 11/11/2026:
{ "ok": true, "data": { "cnpj": "00000000000191", "cnpjFormatted": "00.000.000/0001-91", "matrizFilial": { "codigo": 1, "label": "Matriz" }, "razaoSocial": "BANCO DO BRASIL SA", "nomeFantasia": "DIRECAO GERAL", "situacao": { "codigo": 2, "label": "Ativa", "data": "2005-11-03T00:00:00.000Z", "motivo": "SEM MOTIVO" }, "dataInicio": "1966-08-01T00:00:00.000Z", "cnae": { "codigo": 6422100, "descricao": "Bancos múltiplos, com carteira comercial" }, "endereco": { "logradouro": "SAUN QUADRA 5 BLOCO B TORRE I, II, III", "municipio": "BRASILIA", "uf": "DF", "cep": "70040912" }, "contato": { "telefone1": "(61) 3•••••02", "email": "s••••@b••.com.br" }, "mascarado": true, "sancoes": { "total": 0, "vigentes": 0, "itens": [], "conferidoEm": { "ceis": "2026-11-09", "cepim": "2026-10-28", "cnep": "2026-11-09", "leniencia": "2026-11-10", "tcu": "2026-11-10" } }, "cnia": null, "dividaAtiva": { "inscricoes": 384, "valor": 509755673.88, "ajuizadas": 147, "referencia": "2026-09", "conferidoEm": "2026-10-22", "fonte": "PGFN — dados abertos da dívida ativa da União" } } } Como ler:
-
situacao.labelé Ativa.situacao.dataé a data da mudança cadastral (03/11/2005), não a data desta consulta. - Telefone e e-mail vieram mascarados, com
mascarado: true. A revelação do dado completo é outra operação, paga. - Sanções vigentes: 0, com
conferidoEmpor cadastro. O CNIA (cnia) veionull: neste recorte gratuito ele não foi conferido. - A dívida tem 384 inscrições e valor total de R$ 509.755.673,88, referência
2026-09, conferida em 22/10/2026. O total não se lê sozinho. Na mesma resposta, a maior parte estava em "Garantia" (346 inscrições, R$ 469.726.539,78) ou "Suspenso por decisão judicial" (33 inscrições). "Em cobrança" tinha 5 inscrições e valor 0. A documentação do produto avisa: os totais misturam estados de cobrança diferentes; isto não é certidão da PGFN.
A mesma ficha pelo MCP (execução comprovada)
Primeiro, listar as ferramentas, como a documentação indica:
curl -s -XPOST https://radar-cnpj.com/mcp \ -H 'content-type: application/json' \ -H 'accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' HTTP 200. get_cnpj é somente leitura, exige cnpj e aceita temas. Em seguida:
curl -s -XPOST https://radar-cnpj.com/mcp \ -H 'content-type: application/json' \ -H 'accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_cnpj","arguments":{"cnpj":"00000000000191","temas":"dados,sancoes,divida"}}}' HTTP 200, isError ausente ou falso. O resultado veio como texto JSON com status: 200, a URL https://radar-cnpj.com/api/cnpj/00000000000191?temas=dados%2Csancoes%2Cdivida e o mesmo corpo da chamada HTTP: situação Ativa, sanções vigentes 0, 384 inscrições, mascarado: true.
No cliente, depois de configurar o servidor, basta pedir a ficha daquele CNPJ com os temas dados,sancoes,divida e ler os mesmos campos.
Erro (execução comprovada)
curl -s 'https://radar-cnpj.com/api/cnpj/123?temas=dados,sancoes,divida' HTTP 400:
{ "ok": false, "code": "cnpj_invalido", "error": "Use /api/cnpj/{CNPJ}: 14 caracteres sem pontuação: os 14 dígitos ou o CNPJ alfanumérico (12 letras A-Z ou dígitos e 2 dígitos verificadores), com os dígitos verificadores válidos." } A mesma mensagem aparece se o CNPJ for enviado com pontuação no caminho. CNPJ inexistente na base, segundo o catálogo, deve responder 404; não disparei esse caso neste teste.
Custo e limites
Valores lidos em 11/11/2026 em pricing.md e em GET /api/pricing. Confira essas URLs antes de gastar: o preço vigente é o do contrato ao vivo.
Grátis, sem consumir a franquia da consulta adicional:
- pesquisa (
/api/busca,/api/sugerir); - a ficha preparada
GET /api/cnpj/:cnpj(e a ferramentaget_cnpj), com cache de 6 horas; - CEP;
- um CNPJ acompanhado por dono.
A consulta adicional ao vivo (GET /api/consulta/cnpj/:cnpj ou ferramenta consulta_cnpj) tem franquia própria: 10 por dia, por conta (sem conta, por rede), somada nos portais. Depois disso, paga-se na chamada (na página em reais: R$ 0,0253 no crédito pré-pago; no x402 avulso, 0,01 USDC) ou com pacote/plano. Use cnia_atual=true só quando a tarefa exigir conferir a fonte do CNIA naquele pedido; se a fonte falhar, a API deve responder 503 sem cobrar.
Outros itens pagos, na página em reais daquela data: revelação de sócios e contatos (R$ 5,00 o pacote de 200, 90 dias); dossiê R$ 0,055; lote e chamada avulsa com o preço da consulta; 1.000 leituras de acervo por 30 dias a R$ 0,55; vaga extra de acompanhamento a R$ 0,55 por 30 dias, sem renovação automática. Planos de consulta e a carteira monitorada (esta, no cartão, renova por mês) estão na mesma tabela. O JSON de /api/pricing também lista equivalentes em dólar para x402 e crédito; não misture as duas tabelas sem reler a cotação.
Se a chamada for paga, a API pode devolver HTTP 402 com accepts[]. Não executei nenhuma operação paga neste texto.
Quando a ficha gratuita já basta, e quando não
Para perguntar se a empresa está ativa, se há sanção vigente nos cadastros cruzados e o que a PGFN publica sobre dívida, com as datas, a ficha gratuita já entrega o cruzamento. O valor está em não remontar CEIS, CNEP, CEPIM, leniência, TCU e PGFN a cada consulta.
Ela não substitui certidão, não aprova fornecedor e não revela sócios ou contatos. Se a tarefa exigir conferência do CNIA na hora, planilha de lote, dado sem máscara, dossiê com regra de risco ou acompanhamento depois da sessão, isso é acréscimo pago. Leia a cotação e use o direito que você já tiver.
Documentação: llms.txt, skill.md, índice da API, OpenAPI.
