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.

Descovo search endpoints — people search and company search — use cursor-based pagination. Rather than page numbers, the API returns an opaque nextCursor value with each response. You pass that cursor into your next request to fetch the following page of results. When nextCursor is null, you have reached the end of the result set.

Pagination parameters

pageSize
number
default:"25"
The number of results to return per page. Minimum is 1, maximum is 1000. Defaults to 25 if omitted.
cursor
string
The cursor value returned as nextCursor in the previous response. Pass null or omit this field to fetch the first page.

Pagination in responses

output.nextCursor
string | null
An opaque string you pass as cursor in your next request. Returns null when there are no more results to fetch.

Example: walking through company search results

First page — omit cursor or set it to null:
{
  "apiKey": "sk_live_xxx",
  "searchParams": {
    "industriesV2": ["artificial-intelligence"],
    "headquartersCountryCode": ["US"],
    "employeeCountV2": { "min": 50, "max": 500 }
  },
  "pageSize": 50,
  "cursor": null
}
First page response:
{
  "output": {
    "data": [
      {
        "preferred_name": "Acme AI",
        "domains": ["acme.ai"],
        "employee_count_consensus": { "min": 50, "max": 200 }
      }
    ],
    "nextCursor": "eyJsYXN0X3NvcnRfa2V5IjoiYWJjMTIzIn0"
  },
  "chargeInfo": {
    "method": "charged-now",
    "creditsCharged": 50
  }
}
Next page — pass the nextCursor value as cursor:
{
  "apiKey": "sk_live_xxx",
  "searchParams": {
    "industriesV2": ["artificial-intelligence"],
    "headquartersCountryCode": ["US"],
    "employeeCountV2": { "min": 50, "max": 500 }
  },
  "pageSize": 50,
  "cursor": "eyJsYXN0X3NvcnRfa2V5IjoiYWJjMTIzIn0"
}
Continue fetching pages in a loop until nextCursor is null.

When to stop paginating

Stop fetching pages when:
  • output.nextCursor is null — you have retrieved all matching results.
  • You have collected as many results as your workflow requires.
Credits are charged per result returned, not per request. Fetching more pages than you need will consume credits unnecessarily. Decide how many results you actually need before you start paginating.

Tips for reliable pagination

Keep your searchParams identical between pages. Only change the cursor value. Changing filters mid-sequence will produce inconsistent results.
  • The cursor encodes the position in the result set. It is opaque — do not try to parse or modify it.
  • pageSize does not need to match between requests, but keeping it consistent is easiest.
  • Both people search and company search use the same cursor-based model with identical parameter names.
  • For large result sets (thousands of records), consider using audiences instead of paginating through raw search results. Audiences let you save and process results without holding them all in memory.