---
title: "Preview - Lookalike people"
method: POST
path: "/v3/search/people/preview"
tags: ["Search"]
---

# Preview - Lookalike people

`POST /v3/search/people/preview`

Preview search people with company information. 
 **Only available for enterprise API customers.**

## Query parameters

- `apiToken` string, nullable

## Headers

- `x-api-token` string, nullable

## Request body

- PublicSearchPeopleBodyV3PreviewV3
  - `size` integer — Number of people to return
  - `peopleFilters` PeopleFiltersV3
    - `lookalikeLinkedinHandles` string[], nullable — List of people linkedin handles to search for similar people.
    - `countries` string[], nullable — List of country codes (alpha-2 ISO 3166) to search for people.
    - `includePeopleIds` string[], nullable — List of people IDs to include in the search.
    - `includeLinkedinHandles` string[], nullable — List of people linkedin handles to include in the search.
    - `excludePeopleIds` string[], nullable — List of people IDs to exclude from the search.
    - `excludeLinkedinHandles` string[], nullable — List of people linkedin handles to exclude from the search.
    - `seniorities` Seniority[], nullable — Filter by seniorities. Available values are located at /v2/data-fields endpoint.
    - `skills` SkillsFilter
      - `allOf` string[], nullable — The LinkedIn profile skills must include all of these keywords
      - `anyOf` string[], nullable — The LinkedIn profile skills must include at least one of these keywords
      - `noneOf` string[], nullable — The LinkedIn profile skills must not include any of these keywords
    - `jobTitleKeywords` JobTitleKeywordsFilter
      - `allOf` string[], nullable — Match all of the keywords
      - `anyOf` string[], nullable — Match at least one of the keywords
      - `noneOf` string[], nullable — Match none of the keywords
      - `exactMatch` ExactMatchOptions
        - `anyOf` boolean — When true, anyOf terms must match the full job title exactly instead of substring matching.
        - `allOf` boolean — When true, allOf terms must match the full job title exactly instead of substring matching.
        - `noneOf` boolean — When true, noneOf terms must match the full job title exactly instead of substring matching.
    - `allJobDescriptions` AllJobDescriptionsFilter
      - `allOf` string[], nullable — Job descriptions must include all of these
      - `anyOf` string[], nullable — Job descriptions must include at least one of these
      - `noneOf` string[], nullable — Job descriptions must not include any of these
    - `currentJobDescription` CurrentJobDescriptionFilter
      - `allOf` string[], nullable — The current job description must include all of these
      - `anyOf` string[], nullable — The current job description must include at least one of these
      - `noneOf` string[], nullable — The current job description must not include any of these
    - `profileDescription` ProfileDescriptionFilter
      - `allOf` string[], nullable — The LinkedIn profile description must include all of these keywords
      - `anyOf` string[], nullable — The LinkedIn profile description must include at least one of these keywords
      - `noneOf` string[], nullable — The LinkedIn profile description must not include any of these keywords
    - `regions` string[], nullable — List of region codes to search for people.
    - `states` State[], nullable — List of states/regions to search for people (ISO-3166-2 region codes). Available abbreviation values are located at /v2/data-fields endpoint (region section).
      - `country` string, required — Alpha-2 ISO 3166 country code
      - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
    - `excludeStates` State[], nullable — List of states/regions to exclude when searching for people (ISO-3166-2 region codes). Available abbreviation values are located at /v2/data-fields endpoint (region section).
      - `country` string, required — Alpha-2 ISO 3166 country code
      - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
    - `excludeCountries` string[], nullable — List of country codes (alpha-2 ISO 3166) to exclude when searching for people.
    - `cities` PeopleCityFilter[], nullable — List of cities to search for people.
      - `city` string, required — City name
      - `country` string, nullable — Alpha-2 ISO 3166 country code
      - `region` State
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
    - `excludeCities` PeopleCityFilter[], nullable — List of cities to exclude when searching for people.
      - `city` string, required — City name
      - `country` string, nullable — Alpha-2 ISO 3166 country code
      - `region` State
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
    - `names` string[], nullable — Filter by names
    - `departments` DepartmentsFilter
      - `departments` Department[], required — Array of the departments to include. Available values are located at /v2/data-fields endpoint.
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the departments allOf - match all of the departments
    - `excludeDepartments` Department[], nullable — Exclude people by departments. Available values are located at /v2/data-fields endpoint.
    - `subDepartments` SubDepartmentsFilter
      - `subDepartments` SubDepartment[], required — Array of the sub-departments to include, one level below departments. Available values are located at /v2/data-fields endpoint.
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the sub-departments allOf - match all of the sub-departments. A person usually carries one sub-department per department, so allOf across two rarely matches anyone.
    - `excludeSubDepartments` SubDepartment[], nullable — Exclude people by sub-departments. Available values are located at /v2/data-fields endpoint.
    - `fieldsExist` string[], nullable — Return records where specified fields exist
    - `fieldsNotExist` string[], nullable — Return records where specified fields do not exist
    - `changedPositionAfter` string, nullable — Return people who started a new job between the specified date (inclusive) and now
    - `changedPositionBefore` string, nullable — Return people who started a new currently active job before the specified date (inclusive)
    - `updatedWithinMonths` integer, nullable — Filter people updated within the last N months.
    - `connections` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `followers` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
  - `companiesFilters` CompaniesFiltersV3
    - `lookalikeDomains` string[], nullable — Find domains similar to the provided
    - `includeDomains` string[], nullable — Only return specified domains
    - `excludeDomains` string[], nullable — Exclude specified domains from the results
    - `companySizes` PublicCompanySize[], nullable — Filter by company size ranges
    - `ecommerce` boolean, nullable — true -> returns only e-commerce companies false -> excludes e-commerce companies none -> returns everything
    - `yearFounded` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `countriesCount` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `revenues` Revenue[], nullable — Filter by revenue ranges
    - `employeeCountOcean` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `mobileApps` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `mobileAppsFilter` MobileAppsFilter
      - `count` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
      - `downloads` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
      - `releaseYear` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
    - `locationsCount` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `departmentSizes` DepartmentSizeFilter[], nullable — Filter by the size of company departments. Valid range: 0-10,000,000
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
      - `department` 'Accounting and Finance' | 'Board' | 'Business Support' | 'Customer Relations' | 'Design' | 'Editorial Personnel' | 'Engineering' | 'Founder/Owner' | 'Healthcare' | 'HR' | 'Legal' | 'Management' | 'Manufacturing' | 'Marketing and Advertising' | 'Operations' | 'PR and Communications' | 'Procurement' | 'Product' | 'Quality Control' | 'R&D' | 'Sales' | 'Security' | 'Supply Chain' | 'Other' | 'Education', required
    - `employeeCountLinkedin` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `industries` IndustriesFilter
      - `industries` string[], required — Array of the industries to include
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the industries allOf - match all of the industries
    - `excludeIndustries` string[], nullable — Array of the industries to exclude
    - `industryCategories` IndustryCategoriesFilter
      - `industryCategories` string[], required — Array of the industry categories to include
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the industry categories allOf - match all of the industry categories
    - `excludeIndustryCategories` string[], nullable — Array of the industry categories to exclude
    - `linkedinIndustries` string[], nullable — Filter by Linkedin industries. This is OR filter. Available values are located at /v2/data-fields endpoint.
    - `excludeLinkedinIndustries` string[], nullable — Array of Linkedin industries to exclude. Available values are located at /v2/data-fields endpoint.
    - `fundingRound` FundingRoundFilter
      - `raised` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
      - `types` FundingRoundType[], nullable — List of funding round types
      - `date` FromToStringDate
        - `from` string, nullable — Date in YYYY-MM-DD format
        - `to` string, nullable — Date in YYYY-MM-DD format
    - `primaryLocations` LocationsFilter
      - `includeCountries` string[], nullable — Filter by all countries where the company has presence. Must be provided as alpha-2 ISO 3166 country codes.
      - `excludeCountries` string[], nullable — Exclude companies that are present in the specified countries. Must be provided as alpha-2 ISO 3166 country codes.
      - `includeRegions` State[], nullable — Filter by country regions — US states, Canadian provinces, etc. (if applicable). Available values are located at /v2/data-fields endpoint.
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
      - `excludeRegions` State[], nullable — Exclude companies present in the specified regions — US states, Canadian provinces, etc. (if applicable). Available values are located at /v2/data-fields endpoint.
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
      - `includeCities` CompaniesCityFilter[], nullable — Filter by cities
        - `city` string, required — City name
        - `country` string, nullable — Alpha-2 ISO 3166 country code
        - `region` State
          - `country` string, required — Alpha-2 ISO 3166 country code
          - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
        - `postalCode` string, nullable — Filter by postal code
      - `excludeCities` CompaniesCityFilter[], nullable — Exclude companies that are present in the specified cities
        - `city` string, required — City name
        - `country` string, nullable — Alpha-2 ISO 3166 country code
        - `region` State
          - `country` string, required — Alpha-2 ISO 3166 country code
          - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
        - `postalCode` string, nullable — Filter by postal code
      - `geolocation` GeolocationFilter
        - `latitude` number, required — Latitude of the location
        - `longitude` number, required — Longitude of the location
        - `radius` integer, required — Radius in meters
    - `otherLocations` LocationsFilter
      - `includeCountries` string[], nullable — Filter by all countries where the company has presence. Must be provided as alpha-2 ISO 3166 country codes.
      - `excludeCountries` string[], nullable — Exclude companies that are present in the specified countries. Must be provided as alpha-2 ISO 3166 country codes.
      - `includeRegions` State[], nullable — Filter by country regions — US states, Canadian provinces, etc. (if applicable). Available values are located at /v2/data-fields endpoint.
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
      - `excludeRegions` State[], nullable — Exclude companies present in the specified regions — US states, Canadian provinces, etc. (if applicable). Available values are located at /v2/data-fields endpoint.
        - `country` string, required — Alpha-2 ISO 3166 country code
        - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
      - `includeCities` CompaniesCityFilter[], nullable — Filter by cities
        - `city` string, required — City name
        - `country` string, nullable — Alpha-2 ISO 3166 country code
        - `region` State
          - `country` string, required — Alpha-2 ISO 3166 country code
          - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
        - `postalCode` string, nullable — Filter by postal code
      - `excludeCities` CompaniesCityFilter[], nullable — Exclude companies that are present in the specified cities
        - `city` string, required — City name
        - `country` string, nullable — Alpha-2 ISO 3166 country code
        - `region` State
          - `country` string, required — Alpha-2 ISO 3166 country code
          - `abbreviation` string, required — Valid state abbreviation. List available in the region section there: /v2/data-fields.
        - `postalCode` string, nullable — Filter by postal code
      - `geolocation` GeolocationFilter
        - `latitude` number, required — Latitude of the location
        - `longitude` number, required — Longitude of the location
        - `radius` integer, required — Radius in meters
    - `webTraffic` WebTrafficFilter
      - `visits` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
      - `views` FromTo
        - `from` integer, nullable — Greater than or equal to
        - `to` integer, nullable — Less than or equal to
    - `socialMedias` SocialMediasFilterV3
      - `medias` AllAnyNoneFilterSocialMedia
        - `anyOf` string[], nullable — The filter should match **any** of the specified values.
        - `allOf` string[], nullable — The filter should match **all** of the specified values.
        - `noneOf` string[], nullable — The filter should match **none** of the specified values.
      - `minCount` integer, nullable — Return companies that are present in more than `n` social networks
    - `technologies` TechnologiesFilterV3
      - `apps` AllAnyNoneFilter
        - `anyOf` string[], nullable — The filter should match **any** of the specified values.
        - `allOf` string[], nullable — The filter should match **all** of the specified values.
        - `noneOf` string[], nullable — The filter should match **none** of the specified values.
      - `categories` AllAnyNoneFilter
        - `anyOf` string[], nullable — The filter should match **any** of the specified values.
        - `allOf` string[], nullable — The filter should match **all** of the specified values.
        - `noneOf` string[], nullable — The filter should match **none** of the specified values.
    - `keywords` AllAnyNoneFilter
      - `anyOf` string[], nullable — The filter should match **any** of the specified values.
      - `allOf` string[], nullable — The filter should match **all** of the specified values.
      - `noneOf` string[], nullable — The filter should match **none** of the specified values.
    - `minRelevance` 'A' | 'B' | 'C', nullable — Filter by min relevance (A - the most relevant).
    - `maxRelevance` 'A' | 'B' | 'C', nullable — Filter by max relevance (A - the most relevant). Use combination of min_relevance: "B" and max_relevance: "B" to get only results with the "B" relevance
    - `headcountGrowth` HeadcountGrowthFilter
      - `asPercentage` boolean, required — true -> filter on the percentage value of the headcount growth false -> filter on the absolute value of the headcount growth
      - `growthRange` FromToFloat, required
        - `from` number, nullable — Greater than or equal to
        - `to` number, nullable — Less than or equal to
      - `months` 'Three months' | 'Six months' | 'Twelve months', required
    - `departmentHeadcountGrowth` DepartmentGrowthAllAnyFilter
      - `anyOf` DepartmentGrowthFilter[], nullable — The result should match **any** of the department headcount growth filters.
        - `asPercentage` boolean, required — true -> filter on the percentage value of the headcount growth false -> filter on the absolute value of the headcount growth
        - `growthRange` FromToFloat, required
          - `from` number, nullable — Greater than or equal to
          - `to` number, nullable — Less than or equal to
        - `months` 'Three months' | 'Six months' | 'Twelve months', required
        - `department` 'Accounting and Finance' | 'Board' | 'Business Support' | 'Customer Relations' | 'Design' | 'Editorial Personnel' | 'Engineering' | 'Founder/Owner' | 'Healthcare' | 'HR' | 'Legal' | 'Management' | 'Manufacturing' | 'Marketing and Advertising' | 'Operations' | 'PR and Communications' | 'Procurement' | 'Product' | 'Quality Control' | 'R&D' | 'Sales' | 'Security' | 'Supply Chain' | 'Other' | 'Education', required
      - `allOf` DepartmentGrowthFilter[], nullable — The result should match **all** of the he department headcount growth filters.
        - `asPercentage` boolean, required — true -> filter on the percentage value of the headcount growth false -> filter on the absolute value of the headcount growth
        - `growthRange` FromToFloat, required
          - `from` number, nullable — Greater than or equal to
          - `to` number, nullable — Less than or equal to
        - `months` 'Three months' | 'Six months' | 'Twelve months', required
        - `department` 'Accounting and Finance' | 'Board' | 'Business Support' | 'Customer Relations' | 'Design' | 'Editorial Personnel' | 'Engineering' | 'Founder/Owner' | 'Healthcare' | 'HR' | 'Legal' | 'Management' | 'Manufacturing' | 'Marketing and Advertising' | 'Operations' | 'PR and Communications' | 'Procurement' | 'Product' | 'Quality Control' | 'R&D' | 'Sales' | 'Security' | 'Supply Chain' | 'Other' | 'Education', required
    - `updatedWithinMonths` integer, nullable — Filter companies updated within the last N months.
    - `fieldsExist` string[], nullable — Return records where specified fields exist
    - `fieldsNotExist` string[], nullable — Return records where specified fields do not exist
    - `companyMatchingMode` 'precise' | 'broad', nullable — Controls how strictly companies are matched when using lookalike_domains. "precise" (default): Matches companies with similar products/services using semantic similarity. "broad": Matches companies within the same industries, casting a wider net for results.
  - `peoplePerCompany` integer, nullable — Number of people to return per company. If you want to return all people from a company, don't set this value.
  - `jobTitleThreshold` number, nullable — Threshold for job title similarity. The value must be between 0 and 1. Default is 0.8
  - `searchAfter` string, nullable — Use `searchAfter` returned by the previous request to get the next page.
  - `fields` union[], nullable — Fields to return in the Person objects. Only requesting the fields that are needed will use less bandwidth and result in faster responses. If not specified, the following default fields are returned: `id`, `domain`, `name`, `firstName`, `lastName`, `country`, `state`, `location`, `linkedinUrl`, `seniorities`, `departments`, `photo`, `jobTitle`, `jobTitleEnglish`, `currentJobDescription`, `experiences`, `summary`, `skills`, `headline`, `updatedAt`, `connectionsCount`, `followersCount`, `company.revenue`, `company.peopleCount`, `company.industries`, `company.technologies`, `company.latestFundingRound`.
    - union
      - 'id' | 'domain' | 'name' | 'firstName' | 'lastName' | 'country' | 'state' | 'location' | 'linkedinUrl' | 'seniorities' | 'departments' | 'subDepartments' | 'photo' | 'jobTitle' | 'jobTitleEnglish' | 'currentJobDescription' | 'experiences' | 'experiences.domain' | 'experiences.jobTitle' | 'experiences.dateFrom' | 'experiences.dateTo' | 'experiences.description' | 'experiences.linkedinCompanyHandle' | 'summary' | 'skills' | 'email' | 'email.address' | 'updatedAt' | 'connectionsCount' | 'followersCount' | 'headline'
      - 'company.revenue' | 'company.peopleCount' | 'company.industries' | 'company.technologies' | 'company.latestFundingRound'

## Response `200`

Successful Response

- PublicSearchPeopleResultPreviewV3
  - `detail` string, required — Status text
  - `total` integer, nullable — Total number of the available results.
  - `redirectMap` object, nullable — Mapping of original domains passed in filters to their redirected domains.
  - `creditsUsed` number, required — Number of credits charged for this request.
  - `people` PublicPersonWithCompanyPreview[], required — Array of found people. Returns empty array if no results
    - `ranking` integer, required — Position ranking in the search results (1-based)
    - `person` PublicPersonPreviewBase, required
      - `name` string, nullable — Full name of the person
      - `jobTitle` string, nullable — Job title of the person
    - `company` PublicPreviewCompany
      - `name` string, required — Name of the company
      - `logo` string, required — URL to the company logo
      - `topIndustries` string[], required — Array of top 3 industries
      - `size` string, nullable, required — Company size in brackets
      - `description` string, required — Company description
      - `primaryCountry` string, nullable, required — Primary country code of the company
      - `primaryRegion` string, nullable, required — Primary region code of the company
      - `linkedinHandle` string, nullable — LinkedIn company handle/username

## Other responses

- `400` — Bad Request
- `402` — Payment Required
- `403` — Forbidden
- `404` — Not found
- `422` — Validation Error

## Changes

- **2026-09-03** `5a550a018473` — 2 breaking, 3 info
  - added the new required request property `peopleFilters/departments/departments`
  - the `peopleFilters/departments` request property type changed from `array` to `object`
  - added the new optional request property `peopleFilters/departments/mode`
  - added the new optional request property `peopleFilters/excludeSubDepartments`
  - …1 more
- **2026-09-01** `a5d5c0530873` — 1 info
  - added the new `subDepartments` enum value to the request property `fields/items/anyOf[subschema #1: PersonField]/`
- **2026-08-25** `505121e48722` — 1 info
  - added the new optional request property `peopleFilters/jobTitleKeywords/exactMatch`
- **2026-08-24** `7be4c13a1cf6` — 9 info
  - added the new `Education` enum value to the request property `companiesFilters/departmentHeadcountGrowth/allOf/items/department`
  - added the new `Education` enum value to the request property `companiesFilters/departmentHeadcountGrowth/anyOf/items/department`
  - added the new `Education` enum value to the request property `companiesFilters/departmentSizes/items/department`
  - added the new `Education` enum value to the request property `peopleFilters/departments/items/`
  - …5 more
- …earlier changes not shown

[Full history](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/changes/v3/search/people/preview/post.md)

---

[API](https://skmtc.dev/ocean/apis/ocean-io-api-documentation.md) · [All operations](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ocean/ocean-io-api-documentation/revisions/5a550a018473/schema)
