Guia

Descobrir contas B2B por CNAE com API

Da hipótese à lista validada em 3 passos, sem planilha e com rastreabilidade.

O problema

Equipes de outbound e ABM gastam horas montando listas de contas em planilhas. O resultado: listas desatualizadas, sem rastreabilidade, e sem conexão com o pipeline de vendas.

O que muda com API

Com a Orbio, você transforma uma hipótese de cliente ideal em filtros estruturados e recebe uma lista reproduzível com base do mês fixa.

Passo 1 — Definir o recorte

Use filtros de CNAE + UF + porte para refinar o universo. Exemplo com 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",
      "limit": 10,
      "filters": {
        "industry": {
          "cnae_any_of": ["6201-5/01"],
          "secondary_cnae_mode": "off"
        },
        "geo": {
          "uf_any_of": ["SP", "RJ"]
        },
        "company": {
          "registration_status_any_of": [2],
          "headquarters_only": true
        }
      },
      "output": {
        "format": "json",
        "fields": ["cnpj", "legal_name", "uf", "municipality_ibge", "cnae_primary"]
      }
    }
  }'

Passo 2 — Validar o resultado

Cada resposta inclui snapshot (mês da base) e snapshot_date. Isso garante que você sabe exatamente qual versão dos dados embasou a lista.

Passo 3 — Exportar e integrar

Quando o recorte estiver bom, exporte em CSV e carregue no HubSpot, Salesforce ou planilha. Use export async para listas grandes:

bash
curl -X POST https://api.orbioapi.com.br/v1/exports \
  -H "Authorization: Bearer $ORBIO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "spec": {
      "kind": "account_query",
      "spec_version": "2.0",
      "entity": "company",
      "limit": 5000,
      "filters": { 
        "industry": {
          "cnae_any_of": ["6201-5/01"],
          "secondary_cnae_mode": "off"
        },
        "geo": {
          "uf_any_of": ["SP", "RJ"]
        },
        "company": {
          "registration_status_any_of": [2],
          "headquarters_only": true
        }
      }
    },
    "output": {
      "format": "csv",
      "fields": ["cnpj", "legal_name", "uf", "municipality_ibge", "cnae_primary", "email", "phone1"]
    }
  }'

Exemplos em outras linguagens

Python

python
import requests

resp = requests.post(
    "https://api.orbioapi.com.br/v1/accounts/search",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "spec": {
            "kind": "account_query",
            "spec_version": "2.0",
            "entity": "company",
            "limit": 10,
            "filters": {
                "industry": {"cnae_any_of": ["6201-5/01"]},
                "geo": {"uf_any_of": ["SP"]},
                "company": {"registration_status_any_of": [2], "headquarters_only": True},
            },
            "output": {
                "format": "json",
                "fields": ["cnpj", "legal_name", "uf", "cnae_primary"],
            },
        }
    },
)
print(resp.json())

TypeScript

typescript
const resp = await fetch("https://api.orbioapi.com.br/v1/accounts/search", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    spec: {
      kind: "account_query",
      spec_version: "2.0",
      entity: "company",
      limit: 10,
      filters: {
        industry: { cnae_any_of: ["6201-5/01"] },
        geo: { uf_any_of: ["SP"] },
        company: { registration_status_any_of: [2], headquarters_only: true },
      },
      output: {
        format: "json",
        fields: ["cnpj", "legal_name", "uf", "cnae_primary"],
      },
    },
  }),
});
const data = await resp.json();
console.log(data);

Checklist rápido

  • Defina o CNAE principal do seu cliente ideal
  • Adicione filtro de UF para reduzir ruído
  • Use headquarters_only: true para evitar duplicatas
  • Verifique o snapshot na resposta
  • Exporte CSV quando o recorte estiver validado

Próximos passos

Depois de montar a lista de contas, exporte em CSV e integre ao CRM. Versione a base usada para rastreabilidade.