Primeiros passos
Como usar
Como consultar um CNPJ, buscar empresas e checar se o servidor está no ar.
Os exemplos usam o endereço em que você está lendo esta página. As respostas são sempre JSON.
Consulta por CNPJ
/{cnpj}v2Retorna os dados da empresa em JSON. A fonte que respondeu vem no header X-Source (minhareceita ou receitaws). O CNPJ pode ser enviado com ou sem pontuação.
curl "https://cnpj.juk.re/06.990.590/0001-23"const res = await fetch("https://cnpj.juk.re/06.990.590/0001-23");
if (!res.ok) throw new Error((await res.json()).error);
const empresa = await res.json();
console.log(empresa.razao_social);import requests
res = requests.get("https://cnpj.juk.re/06.990.590/0001-23", timeout=15)
res.raise_for_status()
print(res.json()["razao_social"])<?php
$empresa = json_decode(file_get_contents("https://cnpj.juk.re/06.990.590/0001-23"), true);
echo $empresa["razao_social"];package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
res, err := http.Get("https://cnpj.juk.re/06.990.590/0001-23")
if err != nil {
panic(err)
}
defer res.Body.Close()
var empresa map[string]any
json.NewDecoder(res.Body).Decode(&empresa)
fmt.Println(empresa["razao_social"])
}using var http = new HttpClient();
var json = await http.GetStringAsync("https://cnpj.juk.re/06.990.590/0001-23");
Console.WriteLine(json);$empresa = Invoke-RestMethod "https://cnpj.juk.re/06.990.590/0001-23"
$empresa.razao_social{
"cnpj": "06990590000123",
"razao_social": "GOOGLE BRASIL INTERNET LTDA.",
"uf": "SP",
"municipio": "SAO PAULO",
"descricao_situacao_cadastral": "ATIVA",
"qsa": [ … ]
}| Status | Quando |
|---|---|
200 | Consulta realizada com sucesso. |
400 | CNPJ com formato ou dígitos verificadores inválidos. |
404 | CNPJ válido, mas inexistente na base. |
502 | Nenhum provedor respondeu. |
Formatos aceitos
| Tipo | Exemplo |
|---|---|
| Numérico | /06990590000123 |
| Numérico com máscara | /06.990.590/0001-23 |
| Alfanumérico | /00000000E08G12 |
| Alfanumérico com máscara | /00.000.000/E08G-12 |
Removemos ., /, - e espaços, passamos as letras para maiúsculas e conferimos o formato e os dígitos verificadores. A barra do CNPJ mascarado pode ir direto na URL ou como %2F. Veja CNPJ alfanumérico.
Comprovante de inscrição
/cartao/{cnpj}Abre uma página com os dados no formato do comprovante de inscrição e de situação cadastral, com QR code e código de barras, pronta para imprimir ou salvar em PDF. Não substitui o comprovante oficial da Receita Federal.
Busca paginada
/?uf=DF&natureza_juridica=1015&limit=10experimentalLista empresas a partir de filtros. A busca é repassada à Minha Receita, sem plano B, e pode responder 429 quando o limite do servidor é atingido. Sem nenhum filtro, a rota / mostra a página de testes.
| Parâmetro | Descrição |
|---|---|
cnae_fiscal | CNAE fiscal (principal) do estabelecimento. |
cnae | CNAE principal ou secundário. |
cnpf | CPF ou CNPJ de um sócio. |
municipio | Código do município (IBGE ou SIAFI). |
natureza_juridica | Código da natureza jurídica. |
uf | Sigla do estado. |
limit | Itens por página, no máximo 1024. |
cursor | Cursor devolvido pela página anterior. |
- Para vários valores, repita o parâmetro ou separe por vírgulas:
uf=DF,GO. - CPFs de sócios são mascarados, então busque com
*nos três primeiros e nos dois últimos dígitos:*456789. - Buscar só por CPF ou CNPJ de sócio pode estourar o tempo; combine com
uf. limitoucursorinválidos retornam400.
A resposta traz data (a lista) e cursor. Passe o cursor na próxima chamada para avançar; quando ele não vier, essa foi a última página.
{
"data": [ { "cnpj": "01690511000145", "razao_social": "…" } ],
"cursor": "…"
}Endpoints auxiliares
| Rota | Descrição |
|---|---|
GET /updated | Mês de referência dos dados da Receita Federal, no formato { "message": "2026-10" }. |
GET ou HEAD /healthz | O servidor está no ar. |
GET ou HEAD /readyz | O servidor está pronto para responder consultas. |
GET /openapi.json | Especificação OpenAPI 3.1. |
Todos respondem 200 quando está tudo certo. O /metrics da Minha Receita não é oferecido aqui.