Company Search (Beta)
Company Search API endpoint: query company profiles using SQL-like syntax with flexible filtering across 50+ data fields.
Query Format
Write aSELECT * FROM companies WHERE ... query. Do not include LIMIT or OFFSET clauses in the SQL — use the limit and offset parameters instead.
Response Shape
-
matches— capped at the request’slimit(max 100). -
total— the full row count matching your WHERE clause across the database, not just the returned page. Useful for account-sizing: query for “fintech companies founded after 2018” withlimit: 1andtotaltells you how many accounts exist. The companionTotal-Count-Statusresponse header tells you howtotalwas derived:exact(the true count — selective queries like the one above),estimate(on broad, low-selectivity queries the exact count exceeds its time budget, sototalbecomes the query planner’s row estimate — treat it as a magnitude, not a precise number), orpage(neither available;totalis just the returned page size). Search responses do not includematch_metadata(that field is only populated by/company/enrich). A broad query returns the same response shape with an approximate total, flagged by the header:
Pagination
To page through results beyond the first 100, setoffset to the number of rows to skip. Maximum offset is 10,000.
Available Columns
Text Columns
Numeric Columns
Enum Columns
Workforce Analytics Columns
Cross-Table Columns
These columns search across related tables and are automatically rewritten to subqueries:Example Queries
Authorizations
Body
Request model for SQL query-based company search.
SQL query against company data (must not contain LIMIT)
1 - 10000Maximum results to return
1 <= x <= 100Number of results to skip for pagination (0-10000). Stable within a build; ordering may change across builds.
0 <= x <= 10000If true, format text fields in title case (names, company names, locations). Raw fields, IDs, URLs, codes, and confidence fields are excluded.
Comma-separated list of fields to include in response. If omitted, all fields are returned.
Comma-separated list of fields to exclude from response. Applied after include_fields filter.
If true, pretty-print JSON response with indentation.
Response
Success - query executed and results returned
List of matches sorted by confidence (descending). Capped at the request's limit.
For /company/search and /company/discover, the total number of rows matching the query's WHERE clause across the database (not just this page). For /company/enrich, the number of matches found for the input identifier. On search/discover, if the exact count exceeds its time budget (broad, low-selectivity queries) it falls back to the query planner's row estimate, and if that is unavailable, to the size of the returned page; the response header Total-Count-Status reports which (exact, estimate, or page).