Skip to main content
filter_conditions é um único array opcional no corpo da requisição. Cada entrada promove um filtro multivalorado do comportamento padrão OR (“corresponde a qualquer”) para AND (“corresponde a todos”), ou vice-versa. Os filtros que você não listar mantêm seus padrões.

Esquema

key e operator são obrigatórios em toda entrada. Uma entrada que contenha apenas operator é ignorada silenciosamente — não existe uma substituição global.

Por que isso importa

O operador padrão é OR porque a maioria dos fluxos de prospecção quer alcance amplo: “pessoas em qualquer um destes países”, “empresas marcadas com qualquer uma destas verticais”. Para segmentação de alta precisão — “usa todas as ferramentas Salesforce + HubSpot + Marketo” — você precisa do AND. O custo de errar:
  • Queria AND, obteve OR: a resposta retorna resultados demais — você vê empresas que correspondem a apenas uma tag, não à pilha completa. Fácil de perceber, custa qualidade de resultado.
  • Queria OR, obteve AND: a resposta retorna poucos resultados — geralmente devolve quase nenhuma linha em filtros AND multivalorados, porque arrays do mundo real raramente contêm todos os valores solicitados. Fácil de perceber, parece uma consulta quebrada.
Por baixo dos panos, o mecanismo compila a sua escolha de operador para um operador nativo de array do Postgres: && (sobreposição) para OR, @> (contém) para AND. Ambos são compatíveis com índices, então a diferença de custo está no tamanho do resultado, não na latência da consulta.

Chaves suportadas

O conjunto exato de chaves depende do endpoint que você está chamando:
As chaves acima espelham os arrays enum na especificação OpenAPI (company_filter_conditions, people_filter_conditions, ads_filter_conditions). Enviar uma chave não suportada para um endpoint é ignorado silenciosamente.

Receitas

Objetivo: empresas que usam todas Python, PostgreSQL e Kubernetes — não apenas uma.
Remova a entrada filter_conditions para ampliar a busca para qualquer uma das três.

Erros comuns

Não existe um botão global de “operador padrão”. Cada entrada precisa nomear um filtro específico:
As entradas são substituições independentes por chave — elas não se encadeiam. Listar tanto technologies quanto verticals não cria uma expressão booleana entre elas; cada uma apenas define o operador do seu próprio array.A combinação entre chaves de filtro diferentes é sempre AND (todo filtro precisa corresponder). Você não pode combinar com OR duas dimensões de filtro distintas através de filter_conditions. Se precisar de uma busca com OR verdadeiro entre filtros diferentes, execute duas requisições e combine os resultados no seu lado.
AND é column @> ARRAY[…] — todo valor precisa estar presente. Com 8 ou mais valores, você quase sempre obtém zero linhas, porque a marcação no mundo real é esparsa. Mantenha os arrays com AND entre 2 e 4 valores; use OR para filtragem exploratória ou em nível de categoria.
Em /people/search, o nome na API de pessoas é company_places / company_locations. Mas dentro de filter_conditions[].key você precisa usar o nome do mecanismoplaces, locations. O remapeamento acontece internamente antes de filter_conditions ser consultado.
Tabela completa de remapeamento na página People + Company Filters.
Na dúvida, omita filter_conditions primeiro e verifique se a contagem de resultados corresponde às expectativas. Adicione substituições apenas para os filtros em que o padrão não corresponde à sua intenção — isso mantém o payload da requisição menor e mais fácil de depurar.

Veja também

Visão Geral de Filtros

O modelo mental — comece aqui se filter_conditions for a sua primeira parada.

Filtros de Pessoas + Empresa

Como combinar filtros de empresa em /people/search, incluindo o remapeamento de chaves.

Referência de Company Search

Esquema completo de requisição para /companies/search (inclui company_filter_conditions).

Referência de People Search

Esquema completo de requisição para /people/search (inclui people_filter_conditions).
Última modificação em 4 de setembro de 2026