Submit a search query to be processed asynchronously in the background. This endpoint returns immediately with a task ID and thread ID that can be used to check the status, retrieve results when ready, and paginate through search results.
This is useful for long-running searches that may take several minutes to complete. The search will continue processing in the background while you can use the task ID to monitor progress and retrieve results. The thread ID can be used only to paginate the existing result set through /v2/search or /v2/search/submit.
Initial searches support the same parameters as synchronous /v2/search. For pagination with thread_id, send only limit and optionally offset; search or filter parameters return HTTP 400.
Cost: (number of profiles returned) × (credits for type + insights + high_freshness + reveal_emails + reveal_phones).
Rate limit: 60 actual search requests per user per 60 seconds. /v2/search, /v2/search/submit, and /v2/search/count share this limit. Fully cached thread reloads that do not run a new search use a separate higher limit of 120 cached requests per user per 60 seconds. When the rate limit is exceeded, the API returns HTTP 429 with details about the triggered window, current value, and limit.
Check out official Python client
400Invalid parameter values. A request that combines thread_id with search or filter parameters is rejected with status: thread_id only supports pagination parameters for this client. Unsupported with thread_id: <field names>.
401Invalid API key
429Rate limit exceeded. JSON body contains the triggered window, current value, and limit.
