v1

latestOpenAPI 3.1.02026-07-22103475.9 KB
Company Search

Search Lookalikes Bulk

Asynchronous, high-volume variant of Search Lookalikes. Same lookalike engine and inputs, but it accepts up to 10000 companies and runs as a background job: the call returns a job_id immediately, and you poll a separate endpoint for status + paginated results.

<Info>No API key yet? Sign up via Agent Auth to get your X-API-Key - the only required header for this endpoint.</Info>

Find lookalike companies from either a natural-language description or a set of seed company websites, with optional firmographic filters.

Use it for queries such as:

  • Healthcare companies building with voice AI
  • Companies that provide customer support software for B2C
  • Companies that build workflow automation for non technical industries

Or supply 1-10 seed company websites and let OpenFunnel synthesize the query for you.

Two input modes

At least one of query or seed_domains is required. Both can be combined for a hybrid trait.

  • Natural language (query): describe the kind of company you want.
  • Seed-based discovery (seed_domains): pass up to 10 company websites and OpenFunnel uses them to synthesize the lookalike query for you. The response manifest echoes back the LLM-synthesized derived_query, plus resolved_seed_domains and unresolved_seed_domains.
  • Both together: pass seed_domains AND query - the query becomes a must-have angle layered on top of the seeds.

Omitting filters

If you omit filters, search runs across all company sizes, funding stages, and supported locations. Use the optional firmographic filters (min_employees, max_employees, funding_stages, locations) to restrict to your ICP.

Discovering available firmographics

The funding_stages, locations, min_employees, and max_employees filters accept a fixed set of values. Fetch the current set via GET /api/v1/account/firmographic-options - it returns the accepted funding_stages labels, the supported HQ locations (code + name), and the min/max employee bounds.

Polling for results

This endpoint responds immediately with a job_id and status: "pending". Poll GET /api/v1/account/search-lookalikes-bulk/{job_id} ("Search Lookalikes Bulk Results", listed under Agent Helpers) until status is completed, then walk the result pages using next_cursor. A large limit can take minutes - polling avoids a long-held connection.

Credits

1 credit per company returned, charged when the job completes. Empty result sets are free. The amount is echoed in the manifest's credits_consumed.

Cancelling a job

If you need to stop a running or pending job early, call POST /api/v1/account/search-lookalikes-bulk/{job_id}/cancel. The job moves to a transient cancelling state and stops at its next checkpoint; whatever companies were already delivered stay readable via the poll endpoint, and you are charged only for those - nothing for the abandoned remainder.

The response returns a job_id; then poll GET /api/v1/account/search-lookalikes-bulk/{job_id} for status and results.

post/api/v1/account/search-lookalikes-bulk

Headers

X-API-Keystring required

Request body

querystring nullable

Describe the kinds of companies you want to find. Required unless seed_domains is provided. When both are supplied, used as a must-have angle on top of the seeds.

seed_domainsstring[] nullable

Up to 10 seed company websites/domains. When provided, OpenFunnel synthesizes the lookalike query for you.

limitinteger

Maximum number of companies to return. Default 100, max 10000. Large input set can take a few minutes to process.

min_employeesinteger nullable

Minimum employee count, inclusive.

max_employeesinteger nullable

Maximum employee count, inclusive.

funding_stagesstring[] nullable

Funding stages to include.

locationsstring[] nullable

Headquarters country filter using ISO 3166-1 alpha-3 codes (e.g. USA, GBR, IND, DEU). Pass EU to expand to all 27 EU member states.

Response

Job accepted. Returns a job_id to poll for status and results.

job_idstring required

Async job id. Poll GET /api/v1/account/search-lookalikes-bulk/{job_id} for status and results.

statusstring

Job status at submit time (always pending).

messagestring required

Human-readable next-step hint.

requested_top_kinteger required

The requested result limit.