New: use Extruct search and tables from Claude, Codex, and more with the remote MCP server.
New: use Extruct search and tables from Claude, Codex, and more with the remote MCP server.
Create a new Deep Search task.
curl --request POST \
--url https://api.extruct.ai/v1/discovery_tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"desired_num_results": 100,
"table": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run": false,
"columns": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"auto_import": false
},
"auto_data_sources": true,
"data_sources": [
"web_search"
],
"criteria": [
{
"key": "<string>",
"name": "<string>",
"criterion": "<string>"
}
]
}
'{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "created",
"query": "<string>",
"desired_num_results": 123,
"is_exhausted": false,
"num_results_discovered": 0,
"num_results_enriched": 0,
"num_results_evaluated": 0,
"num_results": 0,
"table_id": "<string>",
"auto_data_sources": true,
"data_sources": [
"web_search"
],
"criteria": [
{
"key": "<string>",
"name": "<string>",
"criterion": "<string>"
}
]
}Documentation Index
Fetch the complete documentation index at: https://docs.extruct.ai/llms.txt
Use this file to discover all available pages before exploring further.
export EXTRUCT_API_TOKEN="YOUR_API_TOKEN"
curl -X POST "https://api.extruct.ai/v1/discovery_tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${EXTRUCT_API_TOKEN}" \
-d '{
"query": "vertical SaaS companies serving freight forwarding",
"desired_num_results": 100
}'
query (required): Natural-language description of companies to find.desired_num_results (optional): target result count; default 100, min 1, max 250.auto_data_sources (optional): default true.data_sources (optional): ignored when auto_data_sources=true.criteria (optional): explicit criterion definitions; each is graded 1-5 in results. If omitted, criteria are inferred from query.criteria, Extruct generates them for you. If you provide criteria, those are used instead.id and initial status. Save id and use it with task/status/results endpoints.
401 UnauthorizedAuthorization: Bearer ${EXTRUCT_API_TOKEN}.
422 Unprocessable Entitydesired_num_results outside 1..250. Validate body first:
echo '<json-body>' | jq empty
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Ideal description of companies to find
Target number of results for this task. Maximum is 250.
1 <= x <= 250Show child attributes
Automatically determine best data sources based on query
Manual data source selection (ignored if auto_data_sources=True)
web_search, linkedin, maps Optional criteria for evaluating discovered companies. Each criterion will be graded on a 1-5 scale.
Show child attributes
Successful Response
created, in_progress, done, failed Total number of company candidates discovered from search
Number of candidates enriched with company profiles
Number of candidates that had criteria evaluation completed
Total number of results
web_search, linkedin, maps Show child attributes
curl --request POST \
--url https://api.extruct.ai/v1/discovery_tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"desired_num_results": 100,
"table": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"run": false,
"columns": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"auto_import": false
},
"auto_data_sources": true,
"data_sources": [
"web_search"
],
"criteria": [
{
"key": "<string>",
"name": "<string>",
"criterion": "<string>"
}
]
}
'{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"status": "created",
"query": "<string>",
"desired_num_results": 123,
"is_exhausted": false,
"num_results_discovered": 0,
"num_results_enriched": 0,
"num_results_evaluated": 0,
"num_results": 0,
"table_id": "<string>",
"auto_data_sources": true,
"data_sources": [
"web_search"
],
"criteria": [
{
"key": "<string>",
"name": "<string>",
"criterion": "<string>"
}
]
}