Skip to main content
Huntr returns one page per request. The API does not auto-fetch additional pages for you.

The loop

Every paginated endpoint uses the same client loop:
  1. Call the endpoint with your filters or URL.
  2. Read pagination.token from the response.
  3. If pagination.token is null or missing, you are done.
  4. Otherwise call again with the same query or URL and pagination: { "token": "..." }.
{
  "pagination": {
    "token": "TOKEN_FROM_PREVIOUS_RESPONSE"
  }
}
Tokens are opaque. Do not decode, modify, or reuse them with a different query or URL. Endpoints: POST /company-search, POST /person-search Request:
{
  "query": { "...": "..." },
  "pagination": { "size": 100, "token": "..." }
}
  • size — rows to return this call (default 100, max 200).
  • token — omit on the first page.
Response:
{
  "companies": [],
  "total": 1019864,
  "pagination": { "token": "eyJ...", "size": 100 }
}
Keep the query identical between pages. Preview match counts with the free *-search-count endpoints first.

LinkedIn pages

Endpoints:
  • POST /company-linkedin-posts — 10 posts per page
  • POST /linkedin-post-reactions — 10 reactions per page
  • POST /linkedin-post-comments — 100 comments per page
Request: only pagination.token is supported (no size).
{
  "linkedin_url": "https://www.linkedin.com/company/stripe",
  "pagination": { "token": "..." }
}
Response:
{
  "posts": [],
  "pagination": { "token": "...", "page_size": 10 }
}
Keep the same linkedin_url or post_url between pages. Billing is per page, not per row.

Usage history (exception)

GET /usage paginates your request log with limit and offset query parameters. That endpoint is for account history, not GTM list building.

Next step