---
title: "Lookup multiple companies by domain"
method: POST
path: "/v2/lookup/companies"
tags: ["Lookup"]
---

# Lookup multiple companies by domain

`POST /v2/lookup/companies`

Lookup and enrich multiple companies by domain (max 1000). This endpoint provides simple, per-result pricing.

**Key features:**
- Batch lookup up to 1000 company domains
- Domain redirections are handled automatically

Returns enriched company data for each domain. Companies not found will have `company: null` in the result.

## Query parameters

- `apiToken` string, nullable

## Headers

- `x-api-token` string, nullable

## Request body

- LookupCompaniesRequest
  - `domains` string[], required — List of company domains to lookup (max 1000). Domain redirections are handled automatically.
  - `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

- LookupCompaniesResponse
  - `companies` PublicCompany[], required — List of enriched companies found. Only includes successfully matched companies.
    - `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)
  - `totalRequested` integer, required — Total number of domains requested
  - `totalFound` 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.

## Other responses

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

## Changes

- **2026-08-24** `7be4c13a1cf6` — 2 warning
  - added the new `Education` enum value to the `companies/items/departmentSizes/items/department` response property for the response status `200`
  - added the new `Education` enum value to the `companies/items/headcountGrowthPerDepartment/items/department` response property for the response status `200`

[Change history](https://skmtc.dev/ocean/apis/ocean-io-api-documentation/changes/v2/lookup/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/505121e48722/schema)
