/desearch/companies/tasks/{task_id}Status, progress and cost of one Company Search or Company Enrich task. Poll every few seconds while it runs. Free. `stage` is `enriching` once every company is published and only later stages of some of them are left. Once it has ended, `completion_reason` says why (`count_reached`, `all_domains_processed` for Company Enrich, `rounds_exhausted`, `no_candidates`, `zero_qualified`, `candidate_budget`, `cost_limit`, `time_limit`, `cancelled`, `failed`) and `coverage_limited` is true when a budget (`candidate_budget`, `cost_limit`, `time_limit`) stopped it before `count` was reached — `status` alone stays `completed` in that case. `progress` counts the companies found, left out (`filtered`, by reason), published and fully enriched, and the email checks.
Base URL
https://api.desearch.aiUse Get a Company Search task when your application needs companies with their public emails, phones, social profiles, and leaderswithout maintaining its own crawler, social-data pipeline, or retrieval infrastructure. The endpoint returns structured data that can be consumed by agents, research tools, dashboards, and retrieval-augmented generation workflows. Keep the request focused on the minimum fields your workflow needs so responses remain fast and easy to validate.
Send requests to GET /desearch/companies/tasks/{task_id} with your Desearch API key in the authorization header. Treat the key as a server-side secret, validate all required parameters before sending the request, and handle non-2xx responses explicitly. Production integrations should use sensible timeouts, retry only transient failures with backoff, and record the response status and request identifier for troubleshooting.
Test the example request below before integrating it into a larger workflow. Confirm that the returned fields, links, and timestamps meet your freshness requirements, then add schema validation at the application boundary. For agentic systems, preserve source URLs with the generated answer so users can inspect evidence and your application can avoid presenting unsupported claims.
task_idstringrequiredThe `task_id` returned when the task was created.
Your API key is sent in the Authorization header.
curl -X GET "https://api.desearch.ai/desearch/companies/tasks/5b33f3ee-168b-4780-9c8e-63a626781872" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json"{
"task_id": "Task Id",
"search_type": "company_search",
"platform": "company",
"status": "queued",
"stage": "planning",
"query": "Query",
"count": 0,
"result_count": 0,
"request": {},
"metadata": {},
"interpreted": {},
"progress": {},
"errors": [],
"completion_reason": "count_reached",
"coverage_limited": false,
"warnings": [
{
"code": "Code",
"message": "string"
}
],
"reserved_cost_usd": 0,
"final_cost_usd": 0,
"refunded_usd": 0,
"created_by": {
"user_id": "string",
"api_key_id": "string",
"via": "string"
},
"created_at": "2024-01-15T10:30:00Z",
"started_at": "2024-01-15T10:30:00Z",
"paused_at": "2024-01-15T10:30:00Z",
"finished_at": "2024-01-15T10:30:00Z",
"results_expire_at": "2024-01-15T10:30:00Z",
"links": {
"self": "Self",
"results": "Results",
"export": "Export"
}
}Possible status codes: