Buscar empresas
/v1/buscarX-Api-KeyBusca estabelecimentos por nome, atividade, CNPJ ou CNAE, com filtros estruturados. Somente estabelecimentos com situação cadastral ativa (02) entram no resultado; para consultar um CNPJ em qualquer situação, use /v1/empresas/{cnpj}. Informe q, cnae ou os dois. Um CNPJ completo em q faz busca exata (modo cnpj); palavras usam busca textual em português sobre razão social, nome fantasia e descrição do CNAE (modo texto); quando nenhuma empresa corresponde ao texto, a busca tenta semelhança de grafia na razão social (modo fuzzy). meta.modo_busca informa o modo aplicado. O total exato é opcional (incluir_total) porque custa uma contagem completa. Cada item traz telefone e e-mail cadastrais; com tem_telefone e tem_email, uma página de até 100 contatos custa uma chamada. Toda busca é planejada antes de rodar, e meta.plano diz se ela é uma varredura ampla da base. Sem cnae, uma varredura ampla pede confirmação explícita (409 busca_ampla_requer_confirmacao). Com q e sem cnae, meta.cnaes_sugeridos traz os códigos CNAE das palavras de q (os mesmos de /v1/cnaes): filtrar por eles é a forma indexada, e rápida, de buscar uma atividade.
Parâmetros
qstring · queryNome, razão social, atividade ou CNPJ. Obrigatório se cnae não for informado.
Ao menos 2 caracteres.
ufstring · querySigla da UF do estabelecimento.
Até 2 caracteres.
municipiostring · queryNome do município, sem diferenciar maiúsculas nem acentos (sao paulo equivale a São Paulo); hífens e apóstrofos contam. Envie também uf: sem ela, municípios homônimos de outras UFs entram no resultado. Nome desconhecido ou fora da UF informada devolve 422 com sugestões.
cnaestring · queryCódigo CNAE principal, ou até 10 códigos separados por vírgula (uma categoria de /v1/cnaes pode ter vários). Com sete dígitos busca o código exato; com menos, filtra pelo prefixo. Pontos, hífens e barras são ignorados (4721-1/02).
somente_matrizboolean · queryExclui filiais.
Padrão:
false.ordenar_porstring · queryValores:
relevancia,nome,municipio,uf,capital_social,data_inicio_atividade,cnae. Padrão:"relevancia".ordemstring · queryValores:
asc,desc. Padrão:"desc".portestring · queryCódigos de porte da RFB separados por vírgula: 00 não informado, 01 microempresa, 03 empresa de pequeno porte, 05 demais.
capital_minnumber · queryCapital social mínimo em reais.
Mínimo 0.
capital_maxnumber · queryCapital social máximo em reais; não pode ser menor que capital_min.
Mínimo 0.
data_inicio_destring (date) · queryInício de atividade a partir desta data (AAAA-MM-DD).
data_inicio_atestring (date) · queryInício de atividade até esta data (AAAA-MM-DD).
tem_emailboolean · querytrue exige e-mail cadastrado; false exige ausência.
tem_telefoneboolean · querytrue exige telefone cadastrado; false exige ausência.
simplesstring · queryOpção pelo Simples Nacional.
Valores:
S,N.meistring · queryOpção pelo MEI.
Valores:
S,N.incluir_totalboolean · queryCalcula o total exato de resultados; sem ele, total vem null.
Padrão:
false.confirmar_varreduraboolean · queryConfirma uma busca ampla recusada com 409 e amplia o tempo limite de 12 para 60 segundos.
Padrão:
false.limitinteger · queryEntre 1 e 100. Padrão:
20.offsetinteger · queryDeslocamento da página. Prefira refinar filtros a paginar fundo.
Mínimo 0. Padrão:
0.
Resposta
Página de resultados.
totalinteger | nullTotal exato quando incluir_total=true; caso contrário null.
limitintegeroffsetintegeritemsarray de objetocnpjstringCNPJ completo com 14 caracteres.
razao_socialstring | nullnome_fantasiastring | nullopcionalmunicipiostring | nullufstring | nullcnae_principalstring | nullCódigo CNAE de sete dígitos.
cnae_principal_descstring | nullopcionalportestring | null00 não informado, 01 microempresa, 03 empresa de pequeno porte, 05 demais.
situacao_cadastralstring | nullSempre 02 (ativa) nesta rota.
opcao_simplesstring | nullS ou N.
matriz_filialstring | null1 matriz, 2 filial.
telefonestring | nullDDD e número do primeiro telefone cadastral, sem formatação; vazio quando ausente.
emailstring | nullE-mail cadastral declarado à RFB.
scorenumberRelevância relativa dentro desta busca; não compare entre buscas.
has_morebooleanIndica que há ao menos mais um resultado após esta página.
metaobjetofontearray de stringcompetenciastring | nullopcionalsnapshot_idstring | nullopcionaltotal_calculadobooleanIndica se total foi calculado (incluir_total=true).
modo_buscastringEstratégia aplicada: CNPJ exato, texto, semelhança de grafia ou somente CNAE. Valores:
cnpj,texto,fuzzy,cnae.planoobjetoopcionalEstimativa do PostgreSQL (EXPLAIN) para a busca, calculada em toda busca. varredura_ampla diz se a leitura mais cara de empresas_busca atinge limite_custo; sem cnae (exige_confirmacao), essa busca responde 409 até receber confirmar_varredura=true. O custo considera o limit da página quando a leitura para assim que a página enche (um índice percorrido em ordem); ordenações e contagens (incluir_total) leem tudo e contam inteiras.
varredura_amplabooleancusto_estimadonumberCusto estimado da leitura mais cara de empresas_busca, como ela vai rodar.
custo_leitura_completanumberCusto da mesma leitura lida até o fim, sem o limit da página; para comparação.
linhas_estimadasintegerLinhas estimadas nessa leitura.
limite_custonumberexige_confirmacaobooleanSe a regra de confirmação vale para esta busca (vale sem cnae).
cnaes_sugeridosarray de objetoopcionalCom q e sem cnae: os códigos CNAE das palavras de q, como em /v1/cnaes. Vazio para um nome de empresa.
rotulostringNome da categoria curada ou descrição oficial da subclasse.
codigosarray de stringSubclasses CNAE 2.3; envie-as em cnae separadas por vírgula.
descricoesarray de stringDescrição oficial de cada código, na mesma ordem.
origemstringValores:
categoria,ibge.termostringopcionalSinônimo ou atividade do IBGE que correspondeu à consulta.
notastringopcionalaproximadobooleanopcionalNenhuma categoria tem todas as palavras; esta tem a palavra da atividade.
Erros
| Status | Quando | Código |
|---|---|---|
| 401 | Chave ausente, inválida ou revogada. | |
| 409 | Busca ampla demais para executar sem confirmação, ou interrompida após 12 segundos. Refine os filtros, de preferência com um dos cnaes_sugeridos, ou repita com confirmar_varredura=true. | busca_ampla_requer_confirmacao busca_demorada |
| 422 | Parâmetro inválido ou município incompatível com a UF. | municipio_uf_incompativel |
| 429 | Cota diária da chave atingida (1.000 chamadas por padrão). Toda requisição autenticada conta, inclusive as que terminam em erro e as recusadas por cota. A contagem renova na virada do dia da base. A resposta não traz Retry-After. | |
| 503 | Autenticação indisponível, base indisponível, consulta interrompida pelo tempo limite (consulta_demorada) ou, nas buscas, consultas demais do mesmo tipo em andamento (api_sobrecarregada). | base_indisponivel api_sobrecarregada consulta_demorada |
| 504 | Busca confirmada interrompida após 60 segundos. | busca_demorada |
Formatos de erro em Erros; o que conta na cota em Autenticação e cota.