---
title: "Scroll"
method: POST
path: "/companies/search/scroll"
tags: ["Company / Search"]
---

# Scroll

`POST /companies/search/scroll`

## Request

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

**Cost:** 1 credit per company returned. 1 credit minimum if no results are found.

Searches companies based on given criteria. You can search by name, domain, industry, employees, revenue, founded year, and more.
At most 100 companies are returned per request.

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 on 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

- CompanySearchScrollInput
  - `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.
  - `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

## Response `200`

OK

- CursorListWithMetadataOfCompanyInfoAndScrollMetadata
  - `items` CompanyInfo[], required: The items in the list
    - `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
    - `website` string, uri, nullable: The website URL of the company
    - `type` unknown
    - `legalName` string, nullable: The legal name of the company
    - `industry` string, nullable: The main industry of the company
    - `industries` string[], nullable: The industries associated with the company
    - `categories` CompanyCategory[], nullable: The categories of the company from most to least specific.
    - `employees` unknown
    - `reported_employees` unknown
    - `revenue` unknown
    - `description` string, nullable: The description of the company
    - `keywords` string[], nullable: The search keywords of the company
    - `technologies` string[], nullable: The technologies associated with the company
    - `subsidiaries` string[], nullable: The subsidiaries associated with the company
    - `founded_year` integer, nullable: The year the company was founded
    - `naics_codes` string[], nullable: The NAICS codes associated with the company
    - `location` CompanyLocationInfo, nullable: The location information of the company
      - `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
      - `state` StateInfo, nullable: The state information of the company
        - `id` integer: The ID of the state
        - `name` string: The name of the state
        - `code` string, nullable: The ISO 3166-2 code of the state
        - `latitude` number, float, nullable: The latitude of the state
        - `longitude` number, float, nullable: The longitude of the state
      - `city` CityInfo, nullable: The city information of the company
        - `id` integer: The ID of the city
        - `name` string: The name of the city
        - `latitude` number, float, nullable: The latitude of the city
        - `longitude` number, float, nullable: The longitude of the city
      - `address` string, nullable
      - `postal_code` string, nullable
      - `phone` string, nullable
    - `financial` CompanyFinancialInfo, nullable: The financial information of the company
      - `stock_symbol` string, nullable
      - `stock_exchange` string, nullable
      - `total_funding` integer, nullable
      - `funding_stage` string, nullable
      - `funding_date` string, date-time, nullable
      - `funding` CompanyFundingInfo[], nullable
        - `date` string, date-time, nullable
        - `amount` string, nullable
        - `type` string, nullable
        - `url` string, nullable
        - `from` string, nullable
    - `socials` CompanySocialUrls: The social URLs of the company
      - `linkedin_url` string, uri, nullable: The LinkedIn URL of the company
      - `linkedin_id` string, nullable: The LinkedIn ID of the company
      - `twitter_url` string, uri, nullable: The Twitter URL of the company
      - `facebook_url` string, uri, nullable: The Facebook URL of the company
      - `instagram_url` string, uri, nullable: The Instagram URL of the company
      - `angellist_url` string, uri, nullable: The AngelList URL of the company
      - `crunchbase_url` string, uri, nullable: The Crunchbase URL of the company
      - `youtube_url` string, uri, nullable: The YouTube URL of the company
      - `github_url` string, uri, nullable: The GitHub URL of the company
      - `g2_url` string, uri, nullable: The G2 URL of the company
    - `page_rank` number, float, nullable: The page rank of the company
    - `workforce` CompanyWorkforceInfo, nullable: Expanded workforce insights for the company. This field is only returned when `expand=workforce` is requested.
      - `company_id` string, uuid, required: The CompanyEnrich ID of the company.
      - `domain` string, required: The canonical domain of the company.
      - `observed_employee_count` integer: Observed number of distinct current employees in our people dataset.
      - `employee_count_range` unknown
      - `department_headcount` CompanyWorkforceDepartmentHeadcount, required: Headcount grouped by root department name.
        - `c_suite` integer, nullable: Headcount in the c-suite root department.
        - `product_management` integer, nullable: Headcount in the product management root department.
        - `engineering_technical` integer, nullable: Headcount in the engineering and technical root department.
        - `design` integer, nullable: Headcount in the design root department.
        - `education` integer, nullable: Headcount in the education root department.
        - `finance` integer, nullable: Headcount in the finance root department.
        - `human_resources` integer, nullable: Headcount in the human resources root department.
        - `information_technology` integer, nullable: Headcount in the information technology root department.
        - `legal` integer, nullable: Headcount in the legal root department.
        - `marketing` integer, nullable: Headcount in the marketing root department.
        - `medical_health` integer, nullable: Headcount in the medical and health root department.
        - `operations` integer, nullable: Headcount in the operations root department.
        - `sales` integer, nullable: Headcount in the sales root department.
        - `consulting` integer, nullable: Headcount in the consulting root department.
      - `unclassified_headcount` integer: Headcount where department could not be classified.
      - `history` CompanyWorkforceHistoryEntry[], nullable: Monthly workforce snapshots showing headcount changes over time. Only months where headcount changed are included.
        - `date` string, date, required: First day of the month for this snapshot.
        - `observed_employee_count` integer: Observed number of distinct employees in our people dataset for this month.
        - `employee_count_range` unknown
        - `department_headcount` CompanyWorkforceDepartmentHeadcount, required: Headcount grouped by root department name.
          - `c_suite` integer, nullable: Headcount in the c-suite root department.
          - `product_management` integer, nullable: Headcount in the product management root department.
          - `engineering_technical` integer, nullable: Headcount in the engineering and technical root department.
          - `design` integer, nullable: Headcount in the design root department.
          - `education` integer, nullable: Headcount in the education root department.
          - `finance` integer, nullable: Headcount in the finance root department.
          - `human_resources` integer, nullable: Headcount in the human resources root department.
          - `information_technology` integer, nullable: Headcount in the information technology root department.
          - `legal` integer, nullable: Headcount in the legal root department.
          - `marketing` integer, nullable: Headcount in the marketing root department.
          - `medical_health` integer, nullable: Headcount in the medical and health root department.
          - `operations` integer, nullable: Headcount in the operations root department.
          - `sales` integer, nullable: Headcount in the sales root department.
          - `consulting` integer, nullable: Headcount in the consulting root department.
        - `unclassified_headcount` integer: Headcount where department could not be classified.
    - `logo_url` string, nullable: The logo URL of the company
    - `seo_description` string, nullable: The SEO description of the company
    - `updated_at` string, date-time: The last updated timestamp of the company
  - `metadata` ScrollMetadata, nullable: The additional metadata for the list
    - `totalMatching` integer: The total number of companies 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)
