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.
Find companies from a natural-language query and optional filters.
curl --request GET \
--url https://api.extruct.ai/v1/companies/search \
--header 'Authorization: Bearer <token>'{
"results": [
{
"id": "<string>",
"domain": "<string>",
"name": "<string>",
"short_description": "<string>",
"full_description": "<string>",
"products_services": "<string>",
"use_cases": "<string>",
"target_audience": "<string>",
"other_considerations": "<string>",
"founding_year": 123,
"employee_count": "<string>",
"hq_country": "<string>",
"hq_state_province": "<string>",
"hq_city": "<string>",
"hq_full_address": "<string>",
"social_profiles": {},
"website_authority": {
"score": 123,
"percentile": 123,
"tier": "<string>",
"tier_label": "<string>"
},
"relevance_score": 123
}
],
"request": {
"offset": 123,
"limit": 123,
"query": "<string>",
"filters": {
"include": {
"size": [
"1-10"
],
"country": [
"<string>"
],
"city": [
"<string>"
]
},
"exclude": {
"size": [
"1-10"
],
"country": [
"<string>"
],
"city": [
"<string>"
]
},
"range": {
"founded": {
"min": 123,
"max": 123
}
}
}
}
}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 --get "https://api.extruct.ai/v1/companies/search" \
-H "Authorization: Bearer ${EXTRUCT_API_TOKEN}" \
--data-urlencode "q=b2b treasury automation" \
--data-urlencode 'filters={"include":{"country":["United States"],"size":["51-200","201-500"]},"range":{"founded":{"min":2018}}}' \
--data-urlencode "offset=0" \
--data-urlencode "limit=20"
q (required): Natural-language query.filters (optional): JSON string used to narrow results.offset (optional): Pagination offset.limit (optional): Page size.filters, see Search Filters Reference.
filters narrow the candidate set; they do not replace the query.results and request metadata. Reuse results[].id or results[].domain as downstream identifiers, including lookalike input.
401 UnauthorizedAuthorization: Bearer ${EXTRUCT_API_TOKEN}.
422 Unprocessable Entityfilters JSON. Validate before sending:
echo '<filters-json>' | jq empty
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Search query
JSON string of SearchFilters. Supported keys only: include.size/country/city, exclude.size/country/city, range.founded.min/max.
curl --request GET \
--url https://api.extruct.ai/v1/companies/search \
--header 'Authorization: Bearer <token>'{
"results": [
{
"id": "<string>",
"domain": "<string>",
"name": "<string>",
"short_description": "<string>",
"full_description": "<string>",
"products_services": "<string>",
"use_cases": "<string>",
"target_audience": "<string>",
"other_considerations": "<string>",
"founding_year": 123,
"employee_count": "<string>",
"hq_country": "<string>",
"hq_state_province": "<string>",
"hq_city": "<string>",
"hq_full_address": "<string>",
"social_profiles": {},
"website_authority": {
"score": 123,
"percentile": 123,
"tier": "<string>",
"tier_label": "<string>"
},
"relevance_score": 123
}
],
"request": {
"offset": 123,
"limit": 123,
"query": "<string>",
"filters": {
"include": {
"size": [
"1-10"
],
"country": [
"<string>"
],
"city": [
"<string>"
]
},
"exclude": {
"size": [
"1-10"
],
"country": [
"<string>"
],
"city": [
"<string>"
]
},
"range": {
"founded": {
"min": 123,
"max": 123
}
}
}
}
}