---
title: "Lookalike companies search (deprecated)"
method: POST
path: "/v2/search/companies"
tags: ["Search"]
deprecated: true
---

# Lookalike companies search (deprecated)

`POST /v2/search/companies`

> **Deprecated.**

Search companies using filters.

## Query parameters

- `apiToken` string, nullable

## Headers

- `x-api-token` string, nullable

## Request body

- PublicSearchCompaniesBodyV1
  - `size` integer — Number of companies to return. The maximum value is 10,000. To get more than 10,000 results, use `searchAfter`.
  - `from` integer — Return companies from number X. Passing 1 will return all the results. Passing 10 will return results from the 10th. Note: `size + from` cannot be higher than 10,001
  - `searchAfter` string, nullable — Use `searchAfter` returned by the previous request to get the next page
  - `companiesFilters` CompaniesFiltersV1
    - `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<br>false -> excludes e-commerce companies<br>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<br>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<br>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.<br>
    - `excludeLinkedinIndustries` string[], nullable — Array of Linkedin industries to exclude. Available values are located at /v2/data-fields endpoint.<br>
    - `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
    - `countries` string[], nullable — Filter by **all** countries where the company has presence.<br>Must be provided as alpha-2 ISO 3166 country codes.<br>`["es", "pt"]` means Spain (primary/not primary) **OR** Portugal (primary/not primary).<br>if additional filter `primaryCountries = ["de"]` is used then it means:<br>(Spain (not primary) **OR** Portugal (not primary)) **AND** Germany (primary)
    - `primaryCountries` string[], nullable — Filter only by **primary** countries where the company has presence.<br>Must be provided as alpha-2 ISO 3166 country codes.<br>`countries = ["de", "at"]` means Germany (primary) **OR** Austria (primary).<br>if additional filter `countries = ["es"]` is used then it means:<br>(Germany (primary) **OR** Austria (primary)) **AND** Spain (not primary)
    - `states` State[], nullable — Filter by country states (if applicable)
      - `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.
    - `primaryStates` State[], nullable — Filter only by **primary** states where the company has presence.<br>Behavior is the same as for primary countries
      - `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.
    - `cities` 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
    - `primaryCities` CompaniesCityFilter[], nullable — Filter only by **primary** cities where the company has presence.<br>Behavior is the same as for primary countries
      - `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
    - `headquarterGeolocation` GeolocationFilter
      - `latitude` number, required — Latitude of the location
      - `longitude` number, required — Longitude of the location
      - `radius` integer, required — Radius in meters
    - `geolocation` GeolocationFilter
      - `latitude` number, required — Latitude of the location
      - `longitude` number, required — Longitude of the location
      - `radius` integer, required — Radius in meters
    - `webTrafficVisits` FromTo
      - `from` integer, nullable — Greater than or equal to
      - `to` integer, nullable — Less than or equal to
    - `keywords` KeywordsFilterV1
      - `keywords` string[], required — Array of the keywords
      - `mode` 'anyOf' | 'allOf' | 'noneOf' — [default] anyOf - match at least one of the keywords<br>allOf - match all of the keywords<br>noneOf - match none of the keywords
    - `fieldsExist` string[], nullable — Return records where specified fields exist
    - `fieldsNotExist` string[], nullable — Return records where specified fields do not exist
    - `socialMedias` SocialMediasFilterV1
      - `medias` string[], required — Array of the social medias to include
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the medias<br>allOf - match all of the medias
    - `technologies` TechnologiesFilterV1
      - `technologies` string[], required — Array of the technologies to include
      - `mode` 'anyOf' | 'allOf' — [default] anyOf - match at least one of the technologies<br>allOf - match all of the technologies
    - `minScore` number, nullable — Minimum score for companies to appear in the results.
  - `peopleFilters` PeopleFilters
    - `includeIds` string[], nullable — Only return specified people. Note: this is not implemented yet.
    - `excludeIds` string[], nullable — Exclude specified people from the results. Note: this is not implemented yet.
    - `seniorities` Seniority[], nullable — Filter by seniorities. Available values are located at /v2/data-fields endpoint.<br>
    - `jobTitles` string[], nullable — Filter by job title
    - `excludeJobTitles` string[], nullable — Exclude people by job title
    - `departments` Department[], nullable — Filter by departments. Available values are located at /v2/data-fields endpoint.<br>
    - `countries` string[], nullable — Filter by countries (alpha-2 ISO 3166 country codes)
    - `states` State[], nullable — List of states/regions (ISO-3166-2 region codes) to search for people
      - `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 (ISO-3166-2 region codes) to exclude when searching for people
      - `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 countries (alpha-2 ISO 3166 country codes) to exclude when searching for people
    - `names` string[], nullable — Filter by names
    - `emails` string[], nullable — Filter by email address
    - `keywords` string[], nullable — Filter people based on keywords from their summary
    - `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)
  - `fields` CompanyField[], nullable — Fields to return in the Company objects. Only requesting the fields that are needed will use less bandwidth and result in faster responses. If not specified, all fields are returned that can be seen in the example.

## Response `200`

Successful Response

- PublicSearchCompaniesResult
  - `searchAfter` string, nullable — Used for pagination. Use `searchAfter` returned by this request in the next request to get the next page of search results. If `searchAfter` is not present in the response then there is no next page.
  - `detail` string, required — Status text
  - `total` integer, nullable — Total number of results of the search, accessible with pagination.
  - `missingDomains` object, nullable — Domains from `lookalikeDomains` filter that are either not present in Ocean's database or present but lacking necessary data to perform the search, along with the reason
  - `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` PublicCompanyWithScore[], required — Array of found companies. Returns empty array if no results
    - `company` PublicCompany, required
      - `domain` string, required — Domain of the company, used as a unique identifier
      - `countries` string[], nullable — List of all countries in which the company operates
      - `primaryCountry` string, nullable — Main country of the company
      - `companySize` '0-1' | '2-10' | '11-50' | '51-200' | '201-500' | '501-1000' | '1001-5000' | '5001-10000' | '10001-50000' | '50001-100000' | '100001-500000' | '500000+'
      - `industryCategories` string[], nullable — Industry categories of the company<br>Available values can be found at /v2/data-fields endpoint.
      - `industries` string[], nullable — Industries of the company<br>Available values can be found at /v2/data-fields endpoint.
      - `linkedinIndustry` string, nullable — Linkedin industry of the company<br>Available values can be found at /v2/data-fields endpoint.
      - `ecommerce` boolean, nullable — True if the company is an e-commerce company
      - `keywords` string[], nullable — Keywords associated with the company
      - `employeeCountOcean` integer, nullable — Number of people working at the company in our database.
      - `employeeCountLinkedin` integer, nullable — Number of people linked to the company page on Linkedin. This number might be higher than `employeeCountOcean` because of private profiles.
      - `revenue` '0-1M' | '1-10M' | '10-50M' | '50-100M' | '100-500M' | '500-1000M' | '>1000M'
      - `yearFounded` integer, nullable — Year the company was founded
      - `description` string, nullable — Company's description
      - `emails` string[], nullable — Emails of the company
      - `phones` ContactNumber[], nullable — Phones of the company
        - `number` string, required — Contact number
        - `country` string, nullable — Country code of the contact number
        - `primary` boolean, nullable — True if the contact number is the primary contact number of the company
      - `logo` string, nullable — Logo of the company (URL)
      - `technologies` string[], nullable — Software technologies used by the company
      - `technologyCategories` string[], nullable — Technology categories of the company
      - `mobileApps` MobileApp[], nullable — Mobile apps produced by the company
        - `link` string, nullable — Website address for this app
        - `name` string, required — App name
      - `webTraffic` WebTraffic
        - `visits` integer, nullable — Total number of visits of the website for the last available month
        - `pageViews` integer, nullable — Number of views of the website for the last available month
        - `pagesPerVisit` number, nullable — Average number of pages viewed per visit for the last available month
        - `bounceRate` number, nullable — Bounce rate of the domain for the last available month
      - `medias` Medias
        - `linkedin` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `twitter` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `youtube` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `facebook` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `xing` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `tiktok` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
        - `instagram` Media
          - `url` string, required — URL of the media
          - `handle` string, nullable — ids extracted from social media urls
          - `name` string, nullable — Name of the company as it appears in the social media account
          - `specialties` string[], nullable — Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
      - `name` string, nullable — Name of the company
      - `legalName` string, nullable — Legal name of the company
      - `locations` PublicApiModelsCompanyLocation[], nullable — Locations of the company
        - `primary` boolean — True if the location is the headquarter of the company
        - `latitude` number, nullable — Latitude of the location
        - `longitude` number, nullable — Longitude of the location
        - `country` string, nullable — Country code of the location
        - `locality` string, nullable — Locality (city) of the location
        - `region` string, nullable — Region of the location. Available abbreviation values are located at /v2/data-fields endpoint (region section)
        - `postalCode` string, nullable — Postal code of the location
        - `streetAddress` string, nullable — Street address of the location
        - `state` string, nullable — Abbreviation of the location (if applicable). Available abbreviation values are located at /v2/data-fields endpoint (region section). Deprecated, please use `region` instead
        - `regionCode` string, nullable — Region code of the location
      - `departmentSizes` DepartmentSize[], nullable — Number of employees per department
        - `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
        - `size` integer, required — Department size
      - `rootUrl` string, nullable — Root url to access the website
      - `faxes` ContactNumber[], nullable — Faxes of the company
        - `number` string, required — Contact number
        - `country` string, nullable — Country code of the contact number
        - `primary` boolean, nullable — True if the contact number is the primary contact number of the company
      - `impressum` Impressum
        - `company` string, nullable — Company name as mentioned in Impressum
        - `address` string, nullable — Company address as mentioned in Impressum
        - `email` string, nullable — Company email as mentioned in Impressum
        - `phone` string, nullable — Company phone as mentioned in Impressum
        - `fax` string, nullable — Company fax as mentioned in Impressum
        - `vat` string, nullable — VAT number as mentioned in Impressum
        - `url` string, nullable — url where Impressum can be found
        - `people` ImpressumPerson[], nullable — People mentioned in Impressum
          - `name` string, required
          - `position` string, nullable
      - `fundingRound` FundingRound
        - `date` string, nullable — Date of the funding round
        - `type` 'Seed' | 'Series A' | 'Angel' | 'Series B' | 'Series Unknown' | 'Pre-Seed' | 'Grant' | 'Series C' | 'Convertible Note' | 'Debt Financing' | 'Non-Equity Assistance' | 'Undisclosed' | 'Series D' | 'Corporate Round' | 'Equity Crowdfunding' | 'Product Crowdfunding' | 'Series E' | 'Private Equity' | 'Secondary Market' | 'Initial Coin Offering' | 'Post-IPO Equity' | 'Series F' | 'Post-IPO Debt' | 'Series H' | 'Series G' | 'Post-IPO Secondary' | 'Series I' | 'Series J'
        - `moneyRaisedInUsd` integer, nullable — Amount of money raised in USD
        - `cbUrl` string, nullable — URL of the funding round on Crunchbase
      - `redirectedFrom` string[], nullable — Urls that redirects to this domain. We provide maximum 10 urls in this field.
      - `updatedAt` string, nullable — When has the company data been updated for the last time
      - `headcountGrowth` Growth
        - `threeMonths` integer, nullable — Actual headcount change (positive or negative number)
        - `threeMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
        - `sixMonths` integer, nullable — Actual headcount change (positive or negative number)
        - `sixMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
        - `twelveMonths` integer, nullable — Actual headcount change (positive or negative number)
        - `twelveMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
      - `headcountGrowthPerDepartment` DepartmentSizesGrowth[], nullable — Headcount growth per department
        - `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
        - `growth` Growth, required
          - `threeMonths` integer, nullable — Actual headcount change (positive or negative number)
          - `threeMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
          - `sixMonths` integer, nullable — Actual headcount change (positive or negative number)
          - `sixMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
          - `twelveMonths` integer, nullable — Actual headcount change (positive or negative number)
          - `twelveMonthsPercentage` number, nullable — Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
    - `score` number, nullable — Similarity score used for similarity search

## Other responses

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

## Changes

- **2026-08-24** `7be4c13a1cf6` — 2 warning, 6 info
  - added the new `Education` enum value to the `companies/items/company/departmentSizes/items/department` response property for the response status `200`
  - added the new `Education` enum value to the `companies/items/company/headcountGrowthPerDepartment/items/department` response property for the response status `200`
  - 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/`
  - …4 more
- **2026-07-26** `0f900a1e318f` — 2 info
  - the `companiesFilters/geolocation/radius` request property's max was increased from `500000.00` to `1000000.00`
  - the `companiesFilters/headquarterGeolocation/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/v2/search/companies/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/a5d5c0530873/schema)
