Skip to main content
POST
https://api.crustdata.com
/
company
/
search
curl --request POST \
  --url https://api.crustdata.com/company/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --data '
{
  "filters": {
    "field": "basic_info.primary_domain",
    "type": "=",
    "value": "hubspot.com"
  },
  "fields": [
    "basic_info",
    "headcount",
    "funding"
  ],
  "limit": 1
}
'
{
  "companies": [
    {
      "basic_info": {
        "name": "HubSpot",
        "primary_domain": "hubspot.com",
        "website": "https://hubspot.com",
        "professional_network_url": "https://www.linkedin.com/company/hubspot",
        "professional_network_id": "68529",
        "company_type": "Public Company",
        "year_founded": "2006",
        "employee_count_range": "5001-10000",
        "markets": [
          "NYSE"
        ],
        "industries": [
          "Software Development",
          "Technology, Information and Internet"
        ]
      },
      "headcount": {
        "total": 11965
      },
      "funding": {
        "total_investment_usd": 130000000,
        "last_round_amount_usd": 100000000,
        "last_fundraise_date": "2021-10-13",
        "last_round_type": "",
        "investors": []
      }
    }
  ],
  "next_cursor": "H4sIAJj5zGkC_xXMMQ7CMAxA0...",
  "total_count": 264
}

Authorizations

Authorization
string
header
required

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

Headers

x-api-version
string
required

API version to use. Must match a supported version (e.g., "2025-11-01").

Example:

"2025-11-01"

Body

application/json

Search filters, pagination, sorting, and field selection

Request body for searching the company database with filter conditions, pagination, sorting, and field selection.

filters
object

Search filter conditions. Can be a single condition or a group with AND/OR logic.

Example:
{
"field": "basic_info.primary_domain",
"type": "=",
"value": "hubspot.com"
}
cursor
string

Opaque pagination cursor from a previous response's next_cursor field

Example:

"H4sIAJj5zGkC_xXMMQ7CMAxA0..."

limit
integer
default:20
Required range: 1 <= x <= 1000
sorts
object[]

Sort specifications for ordering results

Example:
[
{
"column": "headcount.total",
"order": "desc"
}
]
fields
string[]

Fields to return in the response. Use dot-notation for nested fields (e.g., "basic_info.name", "headcount.total"). Only requested fields appear in the response. Valid top-level groups for search: basic_info, revenue, headcount, funding, hiring, locations, taxonomy, followers, social_profiles, software_reviews, roles, skills, metadata, updated_at, indexed_at, crustdata_company_id. Fields not in the search index (e.g., news, people, web_traffic, employee_reviews, seo, competitors) return empty responses for search — use enrich for those.

Example:
["basic_info", "headcount", "funding"]

Response

Companies matching the search criteria

Paginated response from the company search endpoint.

companies
object[]
required

List of company profiles matching the search criteria

Example:
[]
next_cursor
string | null

Opaque cursor for fetching the next page of results. Pass this value as the cursor parameter in the next request. Null when no more results.

Example:

"H4sIAJj5zGkC_xXMMQ7CMAxA0..."

total_count
integer | null

Total number of companies matching the query across all pages

Example:

264

query
object

Echo of the original query for debugging

Example:
{}