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

# Preview - Lookalike companies

`POST /v3/search/companies/preview`

Preview search companies using filters. 
 **Only available for enterprise API customers.**

## Query parameters

- `apiToken` string, nullable

## Headers

- `x-api-token` string, nullable

## Request body

- PublicPreviewSearchCompaniesV3Body
  - `size` integer — Number of companies to return. The maximum value is 50 and the minimum is 5
  - `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.
  - `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

## Response `200`

Successful Response

- PublicPreviewSearchCompaniesV3Response
  - `totalHits` integer, required — Total number of companies found
  - `redirectMap` object, nullable — Mapping of original domains passed in filters to their redirected domains.
  - `creditsUsed` number, required — Number of credits charged for this request.
  - `companies` PublicPreviewCompanyV3Result[], required — Array of found companies. Returns empty array if no results
    - `ranking` integer, required — Position ranking in the search results (1-based)
    - `relevance` 'A' | 'B' | 'C', nullable — Relevance category (A - the most relevant)
    - `company` PublicPreviewCompanyV3, required
      - `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-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
- **2026-07-26** `0f900a1e318f` — 2 info
  - the `companiesFilters/otherLocations/geolocation/radius` request property's max was increased from `500000.00` to `1000000.00`
  - the `companiesFilters/primaryLocations/geolocation/radius` request property's max was increased from `500000.00` to `1000000.00`

[Change history](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/changes/v3/search/companies/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)
