Skip to main content
Reference material for Company Search: the full list of filter operators, searchable fields with sortable flags, response fields, validation rules, and error responses. For walk-through examples, see Company Search and Filter recipes.

Filter operator reference

OperatorMeaningExample valueNotes
=Exact match"retool.com"Case-insensitive for text fields
!=Not equal"acquired"
>Greater than2020Numbers and date strings
<Less than10000Numbers and date strings
=>Greater than or equal"2024-01-01"Not >=
=<Less than or equal50000000Not <=
inValue is in list["USA", "GBR"]Case-sensitive. Matches if any array element matches any list value.
not_inValue is not in list["acquired"]
is_nullField is nullNo value needed
is_not_nullField is not nullNo value needed
(.)Fuzzy text search"openai"Tolerates typos, matches word variants
[.]Exact token match"Software Development"No typos allowed, requires exact tokens
The operators >= and <= are not supported. Use => and =< instead.

Searchable fields

These are common fields that can be used in the field key of a filter condition. Some indexed filter fields are search-only and are not returned in the response payload. For the full schema, see the API reference.
FieldTypeSortableDescription
crustdata_company_idintegerYesCrustdata company ID
metadata.growth_calculation_datedatetimeYesAnchor date for growth metrics
basic_info.company_idintegerYesInternal source company ID
basic_info.namestringYesCompany name
basic_info.primary_domainstringYesPrimary website domain
basic_info.websitestringNoFull website URL
basic_info.professional_network_urlstringNoCompany profile URL
basic_info.professional_network_idstringNoCompany profile ID
basic_info.company_typestringNoe.g., "Privately Held", "Public Company"
basic_info.year_foundedstringYesYear founded (string, e.g., "2017")
basic_info.employee_count_rangestringYese.g., "201-500"
basic_info.marketsstring[]NoMarket tags
basic_info.industriesstring[]NoIndustry tags
revenue.estimated.lower_bound_usdintegerYesRevenue lower bound (USD)
revenue.estimated.upper_bound_usdintegerYesRevenue upper bound (USD)
revenue.acquisition_statusstringNoe.g., "acquired"
funding.total_investment_usdnumberYesTotal disclosed funding (USD)
funding.last_round_amount_usdnumberYesLast funding round amount (USD)
funding.last_fundraise_datedateYesLast funding date
funding.last_round_typestringNoe.g., "series_a", "series_b"
funding.investorsstring[]NoInvestor names
funding.tracxn_investorsstring[]NoIndexed investor names for filtering only
headcount.totalintegerYesTotal employee count
roles.distributionobjectNoEmployee counts per role
roles.growth_6mobjectNo6-month role growth
roles.growth_yoyobjectNoYear-over-year role growth
locations.countrystringYesHQ country (ISO3: "USA", "GBR")
headcount.largest_headcount_countrystringYesCountry with most employees
locations.headquartersstringNoFull HQ location string
taxonomy.professional_network_industrystringNoPrimary industry label
taxonomy.categoriesstring[]NoCategory tags
followers.countintegerYesFollower count
followers.mom_percentnumberNoMonth-over-month follower growth %
followers.qoq_percentnumberNoQuarter-over-quarter follower growth %
followers.six_months_growth_percentnumberNo6-month follower growth %
followers.yoy_percentnumberNoYear-over-year follower growth %
competitors.company_idsinteger[]NoCompetitor Crustdata IDs
competitors.websitesstring[]NoCompetitor domains
Use Autocomplete to discover exact values for fields like basic_info.industries, taxonomy.professional_network_industry, locations.country, basic_info.company_type, and funding.last_round_type.

Response fields

Each company in the response can include these sections (depending on fields):
SectionKey fieldsDescription
basic_infoname, primary_domain, website, professional_network_url, year_foundedCore identity and profile
headcounttotalEmployee footprint
fundingtotal_investment_usd, last_round_amount_usd, investorsFunding and investor data
locationscountry, state, city, headquartersHeadquarters location
taxonomyprofessional_network_industry, categories, professional_network_specialitiesIndustry and category tags
revenueestimated, public_markets, acquisition_statusRevenue and market data
hiringopenings_count, openings_growth_percentHiring demand
followerscount, mom_percent, yoy_percentSocial follower metrics
social_profilestwitter_urlThird-party profile links

Validation rules

Default/max limits and pagination behavior reflect current platform behavior. See the API reference for the formal OpenAPI contract.
RuleBehavior
filters is optionalOmitting filters matches all companies. Always use filters in production to control cost.
fields is optionalOmitting returns all fields (large payload). Always specify in production.
limit range1–1000. Default: 20.
sorts with paginationAlways include sorts when paginating to ensure stable result ordering.
cursor must match queryChanging filters, sorts, or fields between pages invalidates the cursor.

Errors

Common error responses for Search:
400 — Unsupported field
{
    "error": {
        "type": "invalid_request",
        "message": "Unsupported columns in conditions: ['nonexistent_field']",
        "metadata": []
    }
}
400 — Invalid operator
{
    "error": {
        "type": "invalid_request",
        "message": "'filters.type' must be one of the supported operators. Got '>='.",
        "metadata": []
    }
}
Use => for greater-than-or-equal and =< for less-than-or-equal. The operators >= and <= are not supported.
401 — Invalid API key
{
    "message": "Invalid API key in request"
}

API reference summary

DetailValue
EndpointPOST /company/search
AuthBearer token + x-api-version: 2025-11-01
Requestfilters (condition or group), fields, sorts, limit, cursor
Response{ companies, next_cursor, total_count }
PaginationCursor-based. Pass next_cursor in cursor. null = last page.
Empty result200 with "companies": []
Errors400 (bad field/operator), 401 (bad auth), 403 (permission/credits), 500 (server error)
See the full API reference for the complete OpenAPI schema.