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

# Search

`POST /people/search`

## Request

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

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

**Notice**: Up to 10.000 results can be returned from this endpoint (page * pageSize can not exceed 10.000). If you need more results, please use the scroll endpoint.

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

## Query parameters

- `expand` string[]

## Request body

- PersonSearchPageInput
  - `page` integer: The page number to return. Must be greater than 0
  - `pageSize` integer: The number of results to return in each page. Must be between 1 and 100
  - `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

- PaginatedListOfPersonInfo
  - `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
  - `page` integer: The current page number. 1-indexed
  - `totalPages` integer: The total number of pages
  - `totalItems` integer: The total number of items in the list

## 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)
