> For the complete documentation index, see [llms.txt](https://outboundpro.gitbook.io/api-v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://outboundpro.gitbook.io/api-v1/company/search-avancada.md).

# Search avançada

## Busca avançada multi-filtro na base pública (todas as empresas do Brasil)

> Mesmo poder de busca da tela \`/prospeccao/pesquisar\` do painel.\
> Filtros combinados: CNAE, UF, cidade, porte, natureza, regime tributário,\
> Simples, MEI, capital social (range), qtd sócios, filial vs matriz, etc.\
> \
> Por default só ATIVAS. \`save\_to\_base=true\` insere os resultados como leads.\
> \
> \### Quando usar\
> \- \*\*Pipeline ABM (Account-Based Marketing)\*\* — busca empresas exatamente do\
> &#x20; perfil desejado (CNAE específico, faturamento estimado por capital social,\
> &#x20; UF, porte). Direciona campanhas pra alvos certos.\
> \- \*\*Análise de mercado\*\* — quantas empresas existem com perfil X? Pra justificar\
> &#x20; investimento de SDR em uma nova vertical antes de contratar.\
> \- \*\*Expansão de base\*\* — cliente já fechou 50 com perfil similar, quer mais\
> &#x20; 1000 do mesmo perfil pra alimentar próximos meses de pipeline.\
> \
> \### Quando NÃO usar\
> \- \*\*Pra 1 CNPJ específico\*\* — use \`/company/prospect\` direto.\
> \- \*\*A partir de cases de sucesso\*\* — use \`/company/lookalike\` que infere o perfil\
> &#x20; automaticamente (mais inteligente que filtrar manualmente).\
> \
> \### Casos de uso reais\
> \- \*\*Salesforce search\*\*: usuário preenche form com CNAE+UF+porte, frontend\
> &#x20; chama \`/company/search\` → mostra paginação com "Adicionar à lista".\
> \- \*\*Cron de market sizing\*\*: roda toda segunda, busca empresas ATIVAS abertas\
> &#x20; na semana passada (data\_abertura), salva ao painel com tag "novas-fundadas".\
> \- \*\*Bulk seeding\*\*: ao onboardar um novo cliente B2B, busca 5k empresas do\
> &#x20; perfil ideal dele com \`save\_to\_base=true\`, popula base já enriquecível.\
> \
> \### Cuidados\
> \- \*\*save\_to\_base=true\*\* consome créditos (1 por empresa nova adicionada).\
> &#x20; Use \`save\_to\_base=false\` pra apenas explorar antes de comprometer custo.\
> \- \*\*Sem default de status como /lead-enrich-batch\*\* — esse endpoint busca na\
> &#x20; base pública geral (toda RFB), não na base do cliente. Filtros aplicam direto na consulta.<br>

```json
{"openapi":"3.0.3","info":{"title":"OutboundPro API","version":"2.0.0"},"tags":[{"name":"Company","description":"**Enriquecimento de empresa por CNPJ.** Receba dados completos\n(razão social, endereço, CNAEs, sócios) e adicione automaticamente à sua base\nde leads quando ainda não existir.\n\n### Quando usar\n- Você tem o CNPJ e quer enriquecer com dados estruturados (cadastro, sócios).\n- Quer **adicionar empresa nova à sua base** automaticamente no primeiro lookup.\n- Pipeline de enriquecimento de leads (ex.: cliente envia CSV de CNPJs).\n\n### Quando NÃO usar\n- Listar muitas empresas já cadastradas → use [Lead](#tag/Lead) (`lead/list`).\n- Buscar por nome/razão → use [Lead](#tag/Lead) (`lead/search`).\n- Detalhe de empresa já existente sem novo lookup → use [Lead](#tag/Lead) (`lead/detail`).\n"}],"servers":[{"url":"https://app.outboundpro.com.br/api","description":"Produção"}],"security":[{"TokenAuth":[]}],"components":{"securitySchemes":{"TokenAuth":{"type":"apiKey","in":"header","name":"Token","description":"Chave privada do cliente (`cli_chave_privada`). Formato UUID v4\n(36 caracteres com hífens). Aceita header em qualquer case\n(`Token`, `token`, `TOKEN`).\n"}},"responses":{"BadRequest":{"description":"Parâmetro obrigatório ausente ou em formato inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Token ausente, inválido ou cliente inativo.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","required":["response"],"properties":{"response":{"type":"string","enum":["error"]},"mensagem":{"type":"string","description":"Descrição do erro em pt-BR. Família Contact usa `message` (legado)."},"message":{"type":"string","description":"Equivalente inglês de `mensagem`, usado pela família Contact."}}}}},"paths":{"/company/search":{"post":{"tags":["Company"],"summary":"Busca avançada multi-filtro na base pública (todas as empresas do Brasil)","operationId":"companySearch","description":"Mesmo poder de busca da tela `/prospeccao/pesquisar` do painel.\nFiltros combinados: CNAE, UF, cidade, porte, natureza, regime tributário,\nSimples, MEI, capital social (range), qtd sócios, filial vs matriz, etc.\n\nPor default só ATIVAS. `save_to_base=true` insere os resultados como leads.\n\n### Quando usar\n- **Pipeline ABM (Account-Based Marketing)** — busca empresas exatamente do\n  perfil desejado (CNAE específico, faturamento estimado por capital social,\n  UF, porte). Direciona campanhas pra alvos certos.\n- **Análise de mercado** — quantas empresas existem com perfil X? Pra justificar\n  investimento de SDR em uma nova vertical antes de contratar.\n- **Expansão de base** — cliente já fechou 50 com perfil similar, quer mais\n  1000 do mesmo perfil pra alimentar próximos meses de pipeline.\n\n### Quando NÃO usar\n- **Pra 1 CNPJ específico** — use `/company/prospect` direto.\n- **A partir de cases de sucesso** — use `/company/lookalike` que infere o perfil\n  automaticamente (mais inteligente que filtrar manualmente).\n\n### Casos de uso reais\n- **Salesforce search**: usuário preenche form com CNAE+UF+porte, frontend\n  chama `/company/search` → mostra paginação com \"Adicionar à lista\".\n- **Cron de market sizing**: roda toda segunda, busca empresas ATIVAS abertas\n  na semana passada (data_abertura), salva ao painel com tag \"novas-fundadas\".\n- **Bulk seeding**: ao onboardar um novo cliente B2B, busca 5k empresas do\n  perfil ideal dele com `save_to_base=true`, popula base já enriquecível.\n\n### Cuidados\n- **save_to_base=true** consome créditos (1 por empresa nova adicionada).\n  Use `save_to_base=false` pra apenas explorar antes de comprometer custo.\n- **Sem default de status como /lead-enrich-batch** — esse endpoint busca na\n  base pública geral (toda RFB), não na base do cliente. Filtros aplicam direto na consulta.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"filtros":{"type":"object","description":"Filtros combinados (todos opcionais; arrays = OR; default ATIVAs).","additionalProperties":true},"pagina":{"type":"integer","default":1,"minimum":1},"limite":{"type":"integer","default":50,"maximum":100},"save_to_base":{"type":"boolean","default":false}}}}}},"responses":{"200":{"description":"Resultado paginado.","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string","enum":["success"]},"filtros_aplicados":{"type":"object"},"total":{"type":"integer"},"pagina":{"type":"integer"},"limite":{"type":"integer"},"paginas":{"type":"integer"},"leads_salvos":{"type":"integer"},"empresas":{"type":"array","items":{"type":"object"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
```
