Nyne.ai API Login
Company APIs

Company Search API

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.

POST https://api.nyne.ai/company/search API key

Manual credentials take precedence over your account key.

Try it needs this required parameter:

Overview

The Company Search API finds companies using firmographic filters, geography, and website keyword criteria, then returns matched company records for enrichment or prospecting.

Best for

  • Building target company lists
  • Finding companies by industry or location
  • Starting company workflows before you have a domain

Returns

  • Matched company records
  • Company identifiers and domains
  • Search result metadata

Implementation guide

Search criteria

Use the company search API with industry, location, website keywords, firmographic filters, and pagination when you need a qualified account list.

Returned records

Results include company identifiers and profile context that can be passed into enrichment, employees, buyer intent, or funding workflows.

Discovery split

Use Company Discovery for natural-language or research-style requirements that go beyond structured firmographic filters.

Parameters

query string required
Natural-language company search request. The backend interprets industries, locations, employee counts, follower counts, founded years, web/LinkedIn presence, funding, investors, organization type, technologies used (technographics), acquisition status, physical location count, and investor-firm criteria (VC/fund, stages they invest in, check size) when present. Funding facts tied to one round are evaluated against the same funding event. Max 700 chars.
limit integer optional
Maximum companies to return. Range 1-50, default 10.
offset integer optional
Starting position for offset pagination (0-indexed). Default 0; offset + limit may not exceed 10000. To retrieve another page, submit the same query with the next_offset from the previous completed response.
profile_scoring boolean optional
When true, completed company rows include score, an AI-generated 1-5 relevance score for the query. Defaults to false.
e.g. true
insights boolean optional
When true, completed company rows include insights with query-fit evidence chips and concise rationales. Defaults to false.
e.g. true
callback_url string optional
http(s) URL on an allowed host that receives the completed payload automatically.

Polling for the result

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:

Loading your API credentials...

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.

Prefer push delivery?
Supply the optional 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.

Pagination

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.

Knowing when to paginate

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.

Fetching the next page

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.

Credit usage

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
Heads up
Empty results do not burn credits.

Responses

202 Search queued - poll the status endpoint with the returned request_id
400 missing_parameters / invalid_parameters / invalid_limit / invalid_callback_url
401 Missing or invalid API credentials
402 insufficient_credits - returned when polling a queued request the worker cannot process because credits are unavailable
403 subscription_required or ip_not_allowed
429 rate_limit_exceeded / monthly_limit_exceeded
503 service_unavailable - the API is temporarily unavailable

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"
}