Perguntas frequentes
Como buscar por outros campos que não CNAE ou UF?
Isso encarece computacionalmente o Minha Receita (consultas mais pesadas ao banco de dados, paginação, etc.), ou seja:
- ou aumentaria os custos para manter a API no ar (e as doações não cobrem nem os custos atuais)
- ou comprometeria a disponibilidade da API.
Para evitar isso, a API limita os filtros disponíveis.
No entanto, criando o seu banco de dados localmente, é possível utilizar consultas diratemente no PostgreSQL, como por exemplo:
- busca por situação cadastral com
SELECT * FROM cnpj WHERE json -> 'descricao_situacao_cadastral' = '"ATIVA"' :: jsonb - busca por código da faixa etária dos quadro societário:
SELECT *
FROM cnpj
WHERE jsonb_path_query_array(json, '$.qsa[*].codigo_faixa_etaria') @> '[5]'
Você pode ainda criar índices para essas buscas ficarem mais rápidas com o comando extra-indexes. O comando aceita um ou mais índices, e o nome dos índices é composto pelas chaves do JSON separadas por .. Por exemplo, para criar um índice para a UF e para os códigos dos CNAEs secundários:
$ minha-receita extra-indexes uf cnaes_secundarios.codigo
Os índices para uf, cnae_fiscal e codigo dos cnaes_secundarios já são criados por padrão.
Para referência, no PostgreSQL:
- um índice criado apenas com o código do CNAE fiscal ocupou certa de 2Gb em disco
- um índice composto com UF e código do município ocupou cerca de 1,5Gb em disco.
Como consigo um CSV único dos dados?
Os dados oficiais da Receita Federal já são em CSV e talvez o mais fácil seja você utilizar os CSVs originais.
Caso queira gerar um CSV a partir dos dados consolidados, com ou sem filtragem de dados, o Minha Receita pode ajudar. Criando o seu banco de dados localmente, é possível utilizar o PostgreSQL para tal, como por exemplo:
COPY (
SELECT
id AS cnpj,
json->>'razao_social' AS razao_social,
json->>'nome_fantasia' AS nome_fantasia
-- adicione os campos que desejar
-- WHERE uf = '…' caso queira filtar, por exemplo
FROM cnpj
)
TO 'nome-do-arquivo.csv' DELIMITER ',' CSV HEADER;
Com qual periodicidade a API é atualizada?
A atualização é manual e normalmente ocorre alguns dias depois de a Receita Federal liberar uma nova versão dos dados — salvo quando a Receita Federal divulga dados absurdos, como empresas abertas no ano 202 ou 4100.
Para saber a data de divulgação pela Receita Federal dos dados disponíveis no Minha Receita, consulte a própria API.