Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.descovo.com/llms.txt

Use this file to discover all available pages before exploring further.

The Company Search API gives you access to over 47 million company records. You can filter by industry, headquarters location, employee count, funding amount, founding date, and more — then page through results or feed them directly into an audience workflow for enrichment and export.

Endpoint

POST /v1/company-search
Authentication uses your API key in the request body. Credits are charged per company returned.

Request parameters

apiKey
string
required
Your Descovo API key.
searchParams
object
required
Company filters. See key fields below.
pageSize
number
default:"25"
Number of companies to return per page. Maximum is 1000.
cursor
string
Opaque pagination cursor. Pass null for the first page, then the nextCursor value from each response.
companyExclusionListIDs
string[]
IDs of exclusion lists used to suppress specific companies from results.

Key searchParams fields

searchParams.keywords
string[]
Full-text search over company descriptions. Matches companies whose description contains any of the provided terms.
searchParams.nameLike
string
Partial name match. For example, "Descovo AI" matches companies with similar names.
searchParams.headquartersCountryCode
string[]
ISO 2-letter country codes for headquarter location, e.g. "US", "GB", "DE".
searchParams.headquartersStateName
string[]
State or province names, e.g. "California", "New York".
searchParams.headquartersLocation
string[]
Free-form location strings, e.g. "San Francisco Bay Area".
searchParams.employeeCountV2
object
Filter by headcount range.
{ "min": 50, "max": 500 }
searchParams.totalFundingUSD
object
Filter by total funding raised in USD.
{ "min": 5000000 }
searchParams.lastFundingUSD
object
Filter by the amount raised in the most recent funding round.
searchParams.lastFundedOn
object
Date range for the most recent funding event.
searchParams.foundedOn
object
Date range for company founding date.
searchParams.stage
string[]
Funding stage. Accepted values include "SEED", "SERIES_A", "SERIES_B", "LATE_STAGE".
searchParams.industriesV2
string[]
Structured industry slugs, e.g. "artificial-intelligence", "fintech".
searchParams.domains
string[]
Restrict results to companies with specific domains.
searchParams.linkedinSlugs
string[]
Restrict results to specific LinkedIn organization slugs.
searchParams.tlds
string[]
Filter by top-level domain, e.g. ".io", ".ai".
searchParams.specialFlags
string[]
Special company flags such as "high growth" or "bootstrapped".
All filters are applied together. You can combine as many as needed.

Response fields

output.data
object[]
Array of matched companies.
output.nextCursor
string | null
Pass this value as cursor in your next request to retrieve the following page. null when there are no more results.
chargeInfo.creditsCharged
number
Number of credits charged for this response.

Example: find AI startups in the US

The request below finds up to 25 AI companies headquartered in the US with 50–500 employees that have raised at least $5M in seed, Series A, or Series B funding.
{
  "apiKey": "sk_live_xxx",
  "searchParams": {
    "keywords": ["artificial intelligence", "machine learning"],
    "headquartersCountryCode": ["US"],
    "employeeCountV2": {
      "min": 50,
      "max": 500
    },
    "totalFundingUSD": {
      "min": 5000000
    },
    "industriesV2": [
      "artificial-intelligence"
    ],
    "stage": [
      "SEED",
      "SERIES_A",
      "SERIES_B"
    ]
  },
  "pageSize": 25,
  "cursor": null,
  "companyExclusionListIDs": []
}

Pagination

Company Search uses cursor-based pagination. Keep searchParams identical between pages — only update cursor.
{
  "apiKey": "sk_live_xxx",
  "searchParams": { "...": "your filters" },
  "pageSize": 50,
  "cursor": null
}
Stop paginating when nextCursor is null.
Changing searchParams between pages resets the result set and may cause duplicate or missing records. Only change the cursor field when paginating.

Credit costs

Credits are charged per company returned. Each company counts as one getCompanyFromDb unit. More companies returned means more credits consumed.
  • For small queries (up to ~100 companies), you can search directly.
  • For larger result sets, limit pageSize and the number of pages you fetch, or move results into an audience to manage enrichment and exports at scale.
After running a company search, consider feeding the results into a people search scoped to those companies using the currentCompanies parameter — or create an audience and use the full enrichment pipeline.