Search criteria
Use the company search API with industry, location, website keywords, firmographic filters, and pagination when you need a qualified account list.
Discover companies using the same freeform search style as person/search. Send a natural-language query such as “pre-seed AI infrastructure startups backed by Sequoia in California with fewer than 50 employees”. When a query ties a funding stage, amount, date, or investor to one round, those constraints must match the same funding event. The request is queued asynchronously and returns a request_id; poll the status endpoint or supply a callback_url to receive the completed result. Completed results use the same page envelope: results, returned_count, total_results, total_relation, limit, offset, has_more, and next_offset. Use profile_scoring to add a 1-5 relevance score, and insights to add query-fit explanations. Credits are charged per company returned, so an empty result burns nothing.
Manual credentials take precedence over your account key.
The Company Search API finds companies using firmographic filters, geography, and website keyword criteria, then returns matched company records for enrichment or prospecting.
Use the company search API with industry, location, website keywords, firmographic filters, and pagination when you need a qualified account list.
Results include company identifiers and profile context that can be passed into enrichment, employees, buyer intent, or funding workflows.
Use Company Discovery for natural-language or research-style requirements that go beyond structured firmographic filters.
offset + limit may not exceed 10000. To retrieve another page, submit the same query with the next_offset from the previous completed response.score, an AI-generated 1-5 relevance score for the query. Defaults to false.insights with query-fit evidence chips and concise rationales. Defaults to false.This endpoint is asynchronous. A successful submit returns a request_id while the job runs in the background. Poll the same path with a GET request - same authentication headers - passing the request_id as a query parameter:
Each poll returns the job's current status; once it is completed the payload carries the result shown under Responses. Polling an
unknown or expired request_id returns 404 request_not_found.
| Status | Meaning |
|---|---|
| queued · processing · pending | The job is still running - keep polling. |
| completed | The job finished; the payload carries the result and completed: true. |
| failed | Terminal - the job could not complete; the error field explains why. |
Poll every few seconds at first, backing off for long-running jobs. Polling is free - status checks never burn credits.
callback_url parameter and the completed payload is POSTed to your endpoint
when the job finishes - no polling required. Delivery is retried up to 5 times with exponential backoff (1s,
5s, 15s, 1m, 5m) and a 30-second timeout per attempt; respond with a 2xx status to acknowledge receipt.A completed company search returns one offset-based page. Use next_offset from a completed response as the offset on a new POST /company/search with the same query to request the next page. Polling an existing request_id is for checking completion or re-reading the stored page; it does not launch a new billable search page.
Every completed response carries these fields - read them to decide whether to fetch another page:
| Field | What it tells you |
|---|---|
| has_more | true means more results may be available beyond this page. |
| next_offset | The offset to request for the next page. Present only when has_more is true. |
| total_results | Exact match count when total_relation is eq; a lower bound when total_relation is gte. |
| Method | How |
|---|---|
| Repeat the query + offset | Submit the same query with a higher offset to retrieve another page. |
| request_id polling | Use GET /company/search?request_id=... to poll status or re-read the stored page for that request. Optional limit/offset only slice the stored page when the requested slice overlaps it. |
Credits are charged based on the matched configuration. The listed cost is the per-result unit price.
| Feature | Credits | Notes |
|---|---|---|
| Company Search | 1 | Charged per company returned (per-result) |
| No match | 0 | Empty results never burn credits |
A successful response wraps the payload in the { success, data, timestamp } envelope (also shown live in the panel on the right):
{
"success": true,
"data": {
"request_id": "cosearch_64f2d8e4_1700000123",
"status": "completed",
"completed": true,
"results": [
{
"profile_id": "nyne-ai",
"name": "Nyne.ai",
"display_name": "Nyne.ai",
"url": "nyne.ai",
"website_url": "nyne.ai",
"domain": "nyne.ai",
"linkedin_url": "linkedin.com/company/nyne-ai",
"linkedin_id": "99082053",
"linkedin_slug": "nyne-ai",
"industry": "software development",
"organization_type": "privately held",
"employee_count": 12,
"employee_count_range": {
"start": 11,
"end": 50
},
"follower_count": 1172,
"founded_year": 2024,
"company_size_label": "11-50",
"total_funding_raised": 1000000,
"latest_funding_stage": "pre seed",
"funding_stages": [
"pre seed"
],
"funding_rounds": [
{
"stage": "pre seed",
"date": "2025-10-03",
"amount": 1000000,
"investor_names": [
"south park commons"
]
}
],
"last_funding_date": "2025-10-03",
"last_funding_round_url": "crunchbase.com/funding_round/nyne-ai-pre-seed--78449dc7",
"number_funding_rounds": 1,
"investor_names": [
"south park commons"
],
"investor_count": 1,
"is_acquired": false,
"technologies": [
"salesforce",
"amazon web services"
],
"product_types": [
"crm"
],
"tech_categories": [
"crm software"
],
"has_technographics": true,
"specialities": [
"ai infrastructure",
"developer tools"
],
"location_count": 2,
"is_investor": false,
"invests_in_stages": [],
"headquarter": {
"city": "san francisco",
"region": "ca",
"country": "us",
"country_iso": "US"
},
"score": 5,
"insights": {
"overall_summary": "Strong match: pre-seed software company backed by the requested investor.",
"why_matched": [
{
"criterion": "Funding stage match",
"evidence_type": "funding",
"confidence": "strong",
"display_text": "Latest funding stage is pre seed.",
"matched_phrase": "pre seed"
},
{
"criterion": "Investor match",
"evidence_type": "investor",
"confidence": "strong",
"display_text": "Investor list includes South Park Commons.",
"matched_phrase": "south park commons"
}
],
"query_insights": [
{
"subquery_idx": 0,
"subquery": "pre-seed software company",
"priority": "Essential",
"match_level": "Meets Expectations",
"short_rationale": "Company has a pre seed funding stage.",
"rationale": "The company is listed with latest funding stage pre seed.",
"short_quotes": [
"pre seed"
]
}
]
}
}
],
"returned_count": 1,
"total_results": 1,
"total_relation": "eq",
"limit": 10,
"offset": 0,
"has_more": false,
"next_offset": null
},
"timestamp": "2026-01-01T00:00:00"
}