---
title: "Scroll"
method: POST
path: "/people/search/scroll"
tags: ["People / Search"]
---

# Scroll

`POST /people/search/scroll`

## Request

- Base URL: `https://api.companyenrich.com`
- URL: `https://api.companyenrich.com/people/search/scroll`
- Auth: API key in header `Authorization`

**Cost:** 2 credits per person returned. 2 credits minimum if no results are found.

Searches people based on given criteria using cursor-based pagination.

You can request the next page of results by using the `cursor` parameter. The cursor is a string that encodes the current position in the result set.
In case no cursor is provided, the first page of results is returned. You can then use the `next_cursor` parameter to get the next page of results.

This will allow you to scroll over the results without having to keep track of the current page number and also allow paginating into more than 10.000 results.

## Query parameters

- `expand` string[]

## Request body

- PersonSearchScrollInput
  - `pageSize` integer: The number of results to return in each page. Must be between 1 and 100
  - `cursor` string, nullable: The cursor to use for pagination. This is used for cursor based pagination. If this is set, Page will be ignored.
  - `companyFilter` CompanyLookupInput, nullable: The filters to be applied on the companies to find people for
    - `search` CompanySearchInput2, nullable: The filters to be applied on the companies
      - `lists` string[], nullable: The list IDs to filter by
      - `semanticQuery` string, nullable: The semantic search query to find companies with. More natural language version of the standard query.
      - `semanticWeight` number, double, nullable: The semantic weight to apply to the results. Must be between 0 and 1. 0.7 is default. Larger values will prioritize semantic similarity, smaller values will prioritize traditional search factors.
      - `exclude` CompanyExcludeFilters, nullable: Exclusion filters to apply on the companies. If a company matches any of the filters here, it will be excluded from the results.
        - `domains` string[], nullable: The domain names of companies to exclude from the results
        - `regions` string[], nullable: The region IDs to filter by
        - `countries` string[], nullable: The 2 letter country codes to filter by
        - `states` integer[], nullable: The state IDs to filter by
        - `cities` integer[], nullable: The city IDs to filter by
        - `type` CompanyType[], nullable: The list of company types to filter by
        - `category` CompanyCategory[], nullable: The list of company categories to filter by
        - `employees` CompanyEmployees[], nullable: The list of employee counts to filter by
        - `reportedEmployees` CompanyEmployees[], nullable: The list of externally reported employee counts to filter by
        - `revenue` CompanyRevenue[], nullable: The list of revenue ranges to filter by
        - `naicsCode` integer[], nullable: The NAICS codes to filter by. Can be 2 to 6 digit codes. In case of a 2-5 digit code, all 6 digit codes under it will be included
        - `keywords` string[], nullable: The keywords to filter by
        - `technologies` string[], nullable: The technologies to filter by
        - `fundingRounds` CompanyFundingRound[], nullable: The funding rounds to filter by
      - `query` string, nullable: The search query to apply on the company name and domain
      - `foundedYear` YearRange, nullable: The range of years
        - `min` integer, nullable: The minimum year (inclusive)
        - `max` integer, nullable: The maximum year (inclusive)
      - `fundingAmount` CompanyFundingAmountRange, nullable: The funding amount range to filter by
        - `min` number, double, nullable: The minimum funding amount (inclusive)
        - `max` number, double, nullable: The maximum funding amount (inclusive)
      - `fundingYear` YearRange, nullable: The range of years
        - `min` integer, nullable: The minimum year (inclusive)
        - `max` integer, nullable: The maximum year (inclusive)
      - `categoryOperator` unknown
      - `keywordsOperator` unknown
      - `technologiesOperator` unknown
      - `workforceGrowth` CompanyWorkforceGrowthInput, nullable: Filter companies by workforce growth percentage over a selected period and department.
        - `period` unknown
        - `department` unknown
        - `minPercent` number, double, nullable: The minimum workforce growth percentage (inclusive). Example: 15 means 15% growth, -10 means 10% decline.
        - `maxPercent` number, double, nullable: The maximum workforce growth percentage (inclusive). Example: 15 means 15% growth, -10 means 10% decline.
      - `workforceSize` CompanyWorkforceSizeInput[], nullable: Filter companies by absolute workforce headcount. Multiple entries can be provided to filter on different departments simultaneously.
        - `department` unknown
        - `min` integer, nullable: The minimum headcount (inclusive).
        - `max` integer, nullable: The maximum headcount (inclusive).
      - `require` FeatureRequirement[], nullable: The features that must exist for the company
      - `regions` string[], nullable: The region IDs to filter by
      - `countries` string[], nullable: The 2 letter country codes to filter by
      - `states` integer[], nullable: The state IDs to filter by
      - `cities` integer[], nullable: The city IDs to filter by
      - `type` CompanyType[], nullable: The list of company types to filter by
      - `category` CompanyCategory[], nullable: The list of company categories to filter by
      - `employees` CompanyEmployees[], nullable: The list of employee counts to filter by
      - `reportedEmployees` CompanyEmployees[], nullable: The list of externally reported employee counts to filter by
      - `revenue` CompanyRevenue[], nullable: The list of revenue ranges to filter by
      - `naicsCode` integer[], nullable: The NAICS codes to filter by. Can be 2 to 6 digit codes. In case of a 2-5 digit code, all 6 digit codes under it will be included
      - `keywords` string[], nullable: The keywords to filter by
      - `technologies` string[], nullable: The technologies to filter by
      - `fundingRounds` CompanyFundingRound[], nullable: The funding rounds to filter by
    - `similar` CompanySimilarInput, nullable: The filters used to find similar companies
      - `domains` string[]: The domains to find similar companies for. Up to 10 domains are allowed.
      - `similarityWeight` number, double: The similarity weight to apply to the results. Must be between -1 and 1. 0 is default. Larger values will prioritize more similar companies, smaller values will prioritize more established companies.
      - `minScore` number, double, nullable: The minimum similarity score required for results. Must be between 0 and 1. When omitted, the default cutoff is used.
      - `exclude` CompanyExcludeFilters, nullable: Exclusion filters to apply on the companies. If a company matches any of the filters here, it will be excluded from the results.
        - `domains` string[], nullable: The domain names of companies to exclude from the results
        - `regions` string[], nullable: The region IDs to filter by
        - `countries` string[], nullable: The 2 letter country codes to filter by
        - `states` integer[], nullable: The state IDs to filter by
        - `cities` integer[], nullable: The city IDs to filter by
        - `type` CompanyType[], nullable: The list of company types to filter by
        - `category` CompanyCategory[], nullable: The list of company categories to filter by
        - `employees` CompanyEmployees[], nullable: The list of employee counts to filter by
        - `reportedEmployees` CompanyEmployees[], nullable: The list of externally reported employee counts to filter by
        - `revenue` CompanyRevenue[], nullable: The list of revenue ranges to filter by
        - `naicsCode` integer[], nullable: The NAICS codes to filter by. Can be 2 to 6 digit codes. In case of a 2-5 digit code, all 6 digit codes under it will be included
        - `keywords` string[], nullable: The keywords to filter by
        - `technologies` string[], nullable: The technologies to filter by
        - `fundingRounds` CompanyFundingRound[], nullable: The funding rounds to filter by
      - `query` string, nullable: The search query to apply on the company name and domain
      - `foundedYear` YearRange, nullable: The range of years
        - `min` integer, nullable: The minimum year (inclusive)
        - `max` integer, nullable: The maximum year (inclusive)
      - `fundingAmount` CompanyFundingAmountRange, nullable: The funding amount range to filter by
        - `min` number, double, nullable: The minimum funding amount (inclusive)
        - `max` number, double, nullable: The maximum funding amount (inclusive)
      - `fundingYear` YearRange, nullable: The range of years
        - `min` integer, nullable: The minimum year (inclusive)
        - `max` integer, nullable: The maximum year (inclusive)
      - `categoryOperator` unknown
      - `keywordsOperator` unknown
      - `technologiesOperator` unknown
      - `workforceGrowth` CompanyWorkforceGrowthInput, nullable: Filter companies by workforce growth percentage over a selected period and department.
        - `period` unknown
        - `department` unknown
        - `minPercent` number, double, nullable: The minimum workforce growth percentage (inclusive). Example: 15 means 15% growth, -10 means 10% decline.
        - `maxPercent` number, double, nullable: The maximum workforce growth percentage (inclusive). Example: 15 means 15% growth, -10 means 10% decline.
      - `workforceSize` unknown[], nullable: Filter companies by absolute workforce headcount. Multiple entries can be provided to filter on different departments simultaneously.
        - unknown
      - `require` FeatureRequirement[], nullable: The features that must exist for the company
      - `regions` string[], nullable: The region IDs to filter by
      - `countries` string[], nullable: The 2 letter country codes to filter by
      - `states` integer[], nullable: The state IDs to filter by
      - `cities` integer[], nullable: The city IDs to filter by
      - `type` CompanyType[], nullable: The list of company types to filter by
      - `category` CompanyCategory[], nullable: The list of company categories to filter by
      - `employees` CompanyEmployees[], nullable: The list of employee counts to filter by
      - `reportedEmployees` CompanyEmployees[], nullable: The list of externally reported employee counts to filter by
      - `revenue` CompanyRevenue[], nullable: The list of revenue ranges to filter by
      - `naicsCode` integer[], nullable: The NAICS codes to filter by. Can be 2 to 6 digit codes. In case of a 2-5 digit code, all 6 digit codes under it will be included
      - `keywords` string[], nullable: The keywords to filter by
      - `technologies` string[], nullable: The technologies to filter by
      - `fundingRounds` CompanyFundingRound[], nullable: The funding rounds to filter by
  - `query` string, nullable: The search query to apply on the company name and domain
  - `positionQuery` string[], nullable: The list of search queries to apply on the person's current job position/title
  - `atCurrentCompanyAfter` string, date-time, nullable: Filter by current company join date - only include people who joined after this UTC date
  - `atCurrentCompanyBefore` string, date-time, nullable: Filter by current company join date - only include people who joined before this UTC date
  - `atCurrentPositionAfter` string, date-time, nullable: Filter by current position start date - only include people who started after this UTC date
  - `atCurrentPositionBefore` string, date-time, nullable: Filter by current position start date - only include people who started before this UTC date
  - `exclude` PersonExcludeFilters, nullable: Exclusion filters to apply on the people. If a person matches any of the filters here, it will be excluded from the results.
    - `positionQuery` string[], nullable: The list of search queries to exclude on the person's current job position/title
    - `countries` string[], nullable: The 2 letter country codes to filter by
    - `domains` string[], nullable: The domains to find people for. Up to 2,500 domains are allowed.
    - `seniority` PersonSeniority[], nullable: The seniorities to filter by
    - `department` PersonDepartment[], nullable: The departments to filter by
    - `education` PersonEducationFilterInput, nullable: The education history filters to apply
      - `institutionLinkedinHandles` string[], nullable: The LinkedIn handles of education institutions to filter by
      - `institutionNameQuery` string[], nullable: The search queries to apply on education institution names
  - `countries` string[], nullable: The 2 letter country codes to filter by
  - `domains` string[], nullable: The domains to find people for. Up to 2,500 domains are allowed.
  - `seniority` PersonSeniority[], nullable: The seniorities to filter by
  - `department` PersonDepartment[], nullable: The departments to filter by
  - `education` PersonEducationFilterInput, nullable: The education history filters to apply
    - `institutionLinkedinHandles` string[], nullable: The LinkedIn handles of education institutions to filter by
    - `institutionNameQuery` string[], nullable: The search queries to apply on education institution names

## Response `200`

OK

- CursorListWithMetadataOfPersonInfoAndPersonScrollMetadata
  - `items` PersonInfo[], required: The items in the list
    - `id` integer, required: The unique identifier of the person
    - `name` string, nullable: The full name of the person
    - `location` PersonLocationInfo, nullable: The location information of the person
      - `country` CountryInfo, nullable: The origin country information of the company
        - `code` string: The ISO 3166-1 alpha-2 code of the country
        - `name` string: The name of the country
        - `latitude` number, float, nullable: The latitude of the country
        - `longitude` number, float, nullable: The longitude of the country
      - `address` string, nullable
    - `first_name` string, nullable: The first name of the person
    - `last_name` string, nullable: The last name of the person
    - `socials` PersonSocialUrls: The social URLs of the person
      - `linkedin_url` string, uri, nullable: The LinkedIn URL of the company
    - `experiences` PersonExperience[]: The work experiences of the person
      - union
        - object
          - `type` 'company', required
          - `company` object, nullable
            - `id` string, uuid, required: The unique identifier of the company
            - `name` string, nullable: The name of the company
            - `domain` string, nullable: The primary domain name of the company
            - `industry` string, nullable: The main industry of the company
            - `logo_url` string, nullable: The logo URL of the company
          - `startDate` string, date, nullable
          - `endDate` string, date, nullable
          - `isCurrent` boolean
          - `isMatched` boolean
          - `position` string, nullable
          - `seniority` unknown
          - `department` unknown
        - object
          - `type` 'unknown', required
          - `companyName` string, nullable
          - `startDate` string, date, nullable
          - `endDate` string, date, nullable
          - `isCurrent` boolean
          - `isMatched` boolean
          - `position` string, nullable
          - `seniority` unknown
          - `department` unknown
    - `education` PersonEducationInfo[], nullable: The education history of the person. This field is only returned when `expand=education` is requested.
      - `institutionName` string, required: The name of the educational institution
      - `institution` CompanyHandle, nullable: The matched educational institution
        - `id` string, uuid, required: The unique identifier of the company
        - `name` string, nullable: The name of the company
        - `domain` string, nullable: The primary domain name of the company
        - `industry` string, nullable: The main industry of the company
        - `logo_url` string, nullable: The logo URL of the company
      - `socialHandle` string, nullable: The social media handle of the educational institution
      - `degree` string[], nullable: The degrees or fields of study associated with this education entry
      - `startYear` integer, nullable: The year this education entry started
      - `endYear` integer, nullable: The year this education entry ended
    - `position` string, nullable: The job position/title of the person
    - `seniority` unknown
    - `department` unknown
    - `image_url` string, nullable: The image URL of the person
    - `updated_at` string, date-time, nullable: The timestamp representing when the person's data was last updated
  - `metadata` PersonScrollMetadata, nullable: The additional metadata for the list
    - `totalMatching` integer: The total number of people matching the search query, disregarding any pagination limits. This is greater or equal to totalItems, which is the actual number of items that can be paginated.
  - `nextCursor` string, nullable: The cursor for the next page
  - `previousCursor` string, nullable: The cursor for the previous page
  - `totalItems` integer: The total number of items in the list
  - `startIndex` integer, nullable: The index of the first item in the entire result set

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `422`: Unprocessable Entity
- `429`: Too Many Requests

---

[API](https://skmtc.dev/companyenrich/apis/company-enrich-api.md) - [All operations](https://skmtc.dev/companyenrich/apis/company-enrich-api/llms.txt) - [OpenAPI document](https://skmtc.dev/companyenrich/apis/company-enrich-api/revisions/07f84debab87?raw)
