Company Search
Search Companies
Search companies with filters in a JSON body (POST variant).
POST
Search Companies
Overview
ThePOST variant of Semantic Search takes the same parameters in a JSON body, with filters as a native object instead of a URL-encoded string. Use it when an exclude.domains list is too large to fit a GET URL.
Example request
Key parameters
q(required): Natural-language query.filters(optional): SearchFilters as a JSON object. See Search Filters Reference.pagination(optional):{ "offset": <int>, "limit": <int> };limitup to250per request.
Endpoint behavior
- Identical ranking and results to
GET /v1/companies/search; only the transport differs. - Prefer
POSTwhenexclude.domainsis large; otherwise either method works. - A single request returns at most
250results. Page withpagination.offsetto read deeper: paid plans (Starter, Pro) can reach up to2,000results per query; the free tier is capped at25.
Success signal
Returnsresults and request metadata, the same shape as the GET endpoint. Reuse results[].id or results[].domain as downstream identifiers.
Common errors
401 Unauthorized
Check that your header is Authorization: Bearer ${EXTRUCT_API_TOKEN}.
422 Unprocessable Entity
An invalid domain in exclude.domains, more than 1000 domains after de-duplication, or a malformed body. Validate before sending:
Related endpoints
Related guides
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Search Companies