Skip to main content
POST

Authorizations

Authorization
string
header
required

API key passed as a Bearer token in the Authorization header.

Headers

x-api-version
enum<string>
default:2025-11-01
required

API version to use. This endpoint currently requires 2025-11-01.

Available options:
2025-11-01
Example:

"2025-11-01"

Body

application/json

Structured filters, ranked search, pagination, sorting, and field selection

Request body for searching the company database. Supply at least one of filters or search.

filters
object

Search filters. Required when search is omitted. When combined with ranked search, filters are hard constraints applied before retrieval.

Example:
cursor
string

Pagination cursor from the previous response's next_cursor. For ranked search, keep query, mode, filters and API version unchanged; limit and authorized fields may change. Cursors expire 20 minutes after the initial ranked search. Restart without cursor if the cursor or cached search is no longer valid.

Example:

"H4sIAJj5zGkC_xXMMQ7CMAxA0..."

limit
integer
default:20

Results per page. The maximum is 1000 for filter-only search and 100 for ranked search. Ranked search covers at most 1000 candidate positions across pages.

Required range: 1 <= x <= 1000
sorts
object[]

Sort directives applied to filter-only results. Not supported with ranked search.

Example:
fields
string[]

Fields to return in the response. Use dot-notation for nested fields (e.g., "basic_info.name", "headcount.total"). Each company always includes crustdata_company_id, even when you do not request it. Every requested field is in the response, and a field with no data for the company is null. When a requested group has no data, the whole group is null, even if you asked for one of its sub-fields. Valid top-level groups for search: basic_info, revenue, headcount, funding, hiring, locations, taxonomy, followers, social_profiles, software_reviews, metadata, updated_at, indexed_at, crustdata_company_id. Some groups are filter-only and cannot be selected here (for example roles, skills, seo, competitors), and groups not in the search index (for example news, people, web_traffic, employee_reviews) are rejected. Use /company/enrich for those.

Example:

Response

Companies matching the search criteria

Paginated response from the /company/search endpoint.

companies
object[]
required
next_cursor
string | null

Pass as cursor to continue. A ranked page can be short or empty with a non-null cursor; continue until null.

total_count
integer | null

Always null for ranked search. Filter-only totals may also be unavailable.

query
object