Guia

Buscar empresas por CNAE, UF e porte

Se você precisa de lista comercial com menos ruído, comece por CNAE + UF e refine com porte antes de exportar.

Resposta curta

Para melhorar qualidade da lista, evite começar com muitos CNAEs. Use um CNAE principal, limite geográfico e porte mínimo. Isso reduz ruído e aumenta a taxa de aproveitamento comercial.

Checklist rápido

  • Escolha um CNAE principal no formato 0000-0/00.
  • Restrinja por UF e valide municípios prioritários.
  • Defina critério de porte para evitar contas fora do perfil.
  • Marque se o fluxo exige contato obrigatório (e-mail/telefone).

curl

bash
curl -X POST "https://api.orbioapi.com.br/v1/accounts/search" \
  -H "Authorization: Bearer $ORBIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "spec": {
      "kind": "account_query",
      "spec_version": "2.0",
      "entity": "company",
      "filters": {
        "industry": { "cnae_any_of": ["6201-5/00"], "secondary_cnae_mode": "off" },
        "geo": { "uf_any_of": ["SP", "MG"] },
        "company": { "company_size_code_any_of": ["m", "l"] },
        "contact": { "require_email": true }
      }
    },
    "limit": 20,
    "output": { "format": "json", "fields": ["cnpj", "legal_name", "uf", "main_cnae"] }
  }'

TypeScript

ts
const response = await fetch("https://api.orbioapi.com.br/v1/accounts/search", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ORBIO_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    spec: {
      kind: "account_query",
      spec_version: "2.0",
      entity: "company",
      filters: {
        industry: { cnae_any_of: ["6201-5/00"], secondary_cnae_mode: "off" },
        geo: { uf_any_of: ["SP", "MG"] },
        company: { company_size_code_any_of: ["m", "l"] },
        contact: { require_email: true },
      },
    },
    limit: 20,
    output: { format: "json", fields: ["cnpj", "legal_name", "uf", "main_cnae"] },
  }),
});

Python

py
import os
import requests

response = requests.post(
    "https://api.orbioapi.com.br/v1/accounts/search",
    headers={
        "Authorization": f"Bearer {os.environ['ORBIO_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "spec": {
            "kind": "account_query",
            "spec_version": "2.0",
            "entity": "company",
            "filters": {
                "industry": {"cnae_any_of": ["6201-5/00"], "secondary_cnae_mode": "off"},
                "geo": {"uf_any_of": ["SP", "MG"]},
                "company": {"company_size_code_any_of": ["m", "l"]},
                "contact": {"require_email": True},
            },
        },
        "limit": 20,
        "output": {"format": "json", "fields": ["cnpj", "legal_name", "uf", "main_cnae"]},
    },
)

Limitações e cuidados

  • CNAE isolado nem sempre captura o contexto real da empresa; combine com porte e geografia.
  • Se o recorte ficar estreito demais, a lista pode ficar pequena e enviesada.
  • Para volume alto, evite paginação longa e use export assíncrono.

Como consultar CNAE pelo CNPJ

Se a dúvida for confirmar o CNAE de uma empresa específica, o caminho não é account discovery amplo. Primeiro valide o CNPJ e puxe os campos cadastrais para conferir o CNAE principal e os CNAEs secundários antes de usar esse registro em listas maiores.

Fluxo recomendado

  1. Comece pelo CNPJ já conhecido.
  2. Busque os campos cadastrais principais da empresa.
  3. Confirme o CNAE principal e valide se o secundário deve entrar no recorte.
  4. Só depois reaproveite esse aprendizado em uma busca maior por CNAE.

Quando isso ajuda

  • quando você quer consultar CNAE pelo CNPJ para validar uma conta antes de prospectar
  • quando o segmento tem CNAEs próximos e o filtro amplo gera ruído
  • quando a equipe comercial precisa revisar rapidamente se o registro faz sentido para o ICP

Erros comuns

  • Misturar muitos CNAEs sem priorizar hipótese comercial.
  • Não registrar o snapshot retornado, perdendo comparabilidade.
  • Publicar lista sem revisão mínima de qualidade dos resultados.

Próximos passos

Depois de validar o recorte por CNAE, evolua para segmentação por porte e feche o fluxo com export assíncrono.