Skip to main content

Use case

Use the Search API to find people or companies using a natural language query — no manual list building required. The search runs asynchronously: you submit a query, poll for progress, and either browse results as paginated JSON or download them as a CSV. Ideal for prospecting, building targeted lead lists, or discovering contacts that match specific criteria across the web.

Core concepts

Execution flows

CSV download

  1. Start — POST /search/start-deep-search. See Start Deep Search. Submit your natural language query and receive a task_id.
  2. Poll — GET /search/status/{task_id}. See Get Search Status. Poll until status is completed; the response includes resource_handle_id.
  3. Download — GET /search/download. See Download Search Results. Request a signed URL with resource_handle_id, then download the CSV. The signed URL expires in 15 minutes.

Paginated JSON

  1. Start — POST /search/start-deep-search with output_mode: "query_only". See Start Deep Search. Receive a task_id.
  2. Poll — GET /search/status/{task_id}. See Get Search Status. When status is completed, note the search_id from the response.
  3. Browse — POST /search/query. See Query Search Results. Send the search_id to get paginated JSON results and use cursor for next pages.
  4. Export (optional)POST /search/export. See Export Search Results. Generate a CSV from the same search_id.

Quick start