---
title: "Search people with cursor-based pagination for large result sets. Accepts the same filters as /people/search. No 10,000 result limit unlike the standard search endpoint. Pagination billing: call the first page normally and save billing.requestId from the Orthogonal /v1/run response. For later page, offset, or cursor calls on the same logical search, pass parentRequestId with unchanged non-pagination parameters. Valid continuation calls still get their own request IDs and quoted price, but are charged 0. Changing filters starts a new billable request."
method: POST
path: "/company-enrich/people/search/scroll"
tags: ["Company Enrich"]
---

# Search people with cursor-based pagination for large result sets. Accepts the same filters as /people/search. No 10,000 result limit unlike the standard search endpoint. Pagination billing: call the first page normally and save billing.requestId from the Orthogonal /v1/run response. For later page, offset, or cursor calls on the same logical search, pass parentRequestId with unchanged non-pagination parameters. Valid continuation calls still get their own request IDs and quoted price, but are charged 0. Changing filters starts a new billable request.

`POST /company-enrich/people/search/scroll`

## Request

- Base URL: `https://api.orthogonal.com/mpp`
- URL: `https://api.orthogonal.com/mpp/company-enrich/people/search/scroll`
- Auth: none declared

## Request body

- object
  - `pageSize` integer, required: REQUIRED. Number of results per page (1-100). Determines cost: 2 credits ($0.0245) per result returned. Total call cost = pageSize x per-result cost.
  - `cursor` string: The cursor to use for pagination. This is used for cursor based pagination. If this is set, Page will be ignored. For later cursor pages of the same logical search, keep non-pagination parameters unchanged and pass top-level parentRequestId from the first Orthogonal /v1/run response.
  - `companyFilter` object: The filters to be applied on the companies to find people for
  - `query` string: The search query to apply on the company name and domain
  - `positionQuery` string[]: The list of search queries to apply on the person's current job position/title
  - `atCurrentCompanyAfter` string: Filter by current company join date - only include people who joined after this UTC date
  - `atCurrentCompanyBefore` string: Filter by current company join date - only include people who joined before this UTC date
  - `atCurrentPositionAfter` string: Filter by current position start date - only include people who started after this UTC date
  - `atCurrentPositionBefore` string: Filter by current position start date - only include people who started before this UTC date
  - `exclude` object: Exclusion filters to apply on the people. If a person matches any of the filters here, it will be excluded from the results.
  - `countries` string[]: The 2 letter country codes to filter by
  - `domains` string[]: The domains to find people for. Up to 100 domains are allowed.
  - `seniority` string[]: The seniorities to filter by
  - `department` string[]: The departments to filter by

## Response `200`

Successful response

## Other responses

- `402`: Payment Required (x402 / MPP / np)

## Changes

- **2026-11-08** `857e915717f4`: 1 breaking
  - added required request body

[Operation history](https://skmtc.dev/orthogonal/apis/orthogonal-api-marketplace/changes/company-enrich/people/search/scroll/post.md)

---

[API](https://skmtc.dev/orthogonal/apis/orthogonal-api-marketplace.md) - [All operations](https://skmtc.dev/orthogonal/apis/orthogonal-api-marketplace/llms.txt) - [OpenAPI document](https://skmtc.dev/orthogonal/apis/orthogonal-api-marketplace/revisions/f3e9572f3f12?raw)
