post /v2/enrich/company

Enrich company

Match a company with our database and enrich it with additional information.

Webhook result: Documentation


Endpoint POST /v2/enrich/company
Credit cost 0.1 credits / result
Response Synchronous
When to use You have one company to look up and want detailed firmographic data

Quickstart#

curl -X POST "https://api.ocean.io/v2/enrich/company" \
  -H "X-Api-Token: YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "company": {
      "domain": "ocean.io",
      "name": "Ocean"
    }
  }'
import requests

response = requests.post(
    'https://api.ocean.io/v2/enrich/company',
    headers={'X-Api-Token': 'YOUR_API_TOKEN'},
    json={'company': {'domain': 'ocean.io', 'name': 'Ocean'}},
)
data = response.json()
const response = await fetch('https://api.ocean.io/v2/enrich/company', {
  method: 'POST',
  headers: { 'X-Api-Token': 'YOUR_API_TOKEN', 'Content-Type': 'application/json' },
  body: JSON.stringify({ company: { domain: 'ocean.io', name: 'Ocean' } }),
});
const data = await response.json();

Example response:

{
  "domain": "ocean.io",
  "name": "Ocean",
  "companySize": "51-200",
  "primaryCountry": "dk",
  "revenue": "10-50M",
  "yearFounded": 2017,
  "industries": ["SaaS", "B2B"],
  "technologies": ["HubSpot", "Salesforce", "Mixpanel"],
  "fundingRound": {
    "type": "Series A",
    "moneyRaisedInUsd": 5000000,
    "announcedOn": "2021-06-01"
  }
}

HTTP 201 — Data gathering started

If you get 201, the domain is not yet in Ocean.io's database and background crawling has been triggered. No credits are charged. Retry after 2–5 minutes.


Identifier strength#

The more identifiers you provide, the more accurate the match. In descending order of strength:

domainlinkedinregistrationNumbername + countryCode + cityemailphone

Authorizations

apiToken string
x-api-token string

Body application/json

The company to match with
name string
The name of the company
registrationNumber string
The registration number of the company
email string
The email of the company
phone string
The phone number of the company
countryCode string
Country code of the company's headquarters
state string
Name of the state/region where the company is located
city string
The city where the company is located
streetAddress string
Street address of the company
postalCode string
The postal code of the company
address string
Full address of the company
facebook string
The Facebook page of the company
twitter string
Company's Twitter page
linkedin string
LinkedIn page of the company
instagram string
Instagram page of the company
xing string
The Xing page of the company
domain string
The domain name of the company's website
youtube string
The YouTube page of the company
The people to match company with
Array of Person
id string
Ocean id of the person
name string
Full name of the contact
firstName string
First name of the contact
lastName string
Last name of the contact
jobTitle string
Job title of the contact
email string
Email address of the contact
phone string
Phone number of the contact
facebook string
Facebook page of the contact
twitter string
The Twitter page of the contact
linkedin string
The LinkedIn page of the contact
country string
The country of the contact
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.
Array of CompanyField
enum
"domain""countries""primaryCountry""companySize""industryCategories""industries""linkedinIndustry""ecommerce""keywords""employeeCountOcean""employeeCountLinkedin""revenue""yearFounded""description""emails""phones""phones.number""phones.country""phones.primary""logo""technologies""technologyCategories""mobileApps""mobileApps.link""mobileApps.name""webTraffic""webTraffic.visits""webTraffic.pageViews""webTraffic.pagesPerVisit""medias""medias.linkedin""medias.twitter""medias.youtube""medias.facebook""medias.xing""medias.tiktok""medias.instagram""name""legalName""locations""locations.primary""locations.country""locations.locality""locations.region""locations.postalCode""locations.streetAddress""locations.state""locations.regionCode""departmentSizes""rootUrl""faxes""faxes.number""faxes.country""faxes.primary""impressum""impressum.company""impressum.address""impressum.email""impressum.phone""impressum.fax""impressum.vat""impressum.url""impressum.people""fundingRound""fundingRound.date""fundingRound.type""fundingRound.moneyRaisedInUsd""fundingRound.cbUrl""redirectedFrom""updatedAt""headcountGrowth""headcountGrowth.threeMonths""headcountGrowth.threeMonthsPercentage""headcountGrowth.sixMonths""headcountGrowth.sixMonthsPercentage""headcountGrowth.twelveMonths""headcountGrowth.twelveMonthsPercentage""headcountGrowthPerDepartment"

Responses

200 Successful Response
domain string Required
Domain of the company, used as a unique identifier
List of all countries in which the company operates
Array of string
primaryCountry string
Main country of the company
Company size range
enum
"0-1""2-10""11-50""51-200""201-500""501-1000""1001-5000""5001-10000""10001-50000""50001-100000""100001-500000""500000+"
Industry categories of the company<br>Available values can be found at /v2/data-fields endpoint.
Array of string
Industries of the company<br>Available values can be found at /v2/data-fields endpoint.
Array of string
linkedinIndustry string
Linkedin industry of the company<br>Available values can be found at /v2/data-fields endpoint.
ecommerce boolean
True if the company is an e-commerce company
Keywords associated with the company
Array of string
employeeCountOcean integer
Number of people working at the company in our database.
employeeCountLinkedin integer
Number of people linked to the company page on Linkedin. This number might be higher than `employeeCountOcean` because of private profiles.
Revenue range
enum
"0-1M""1-10M""10-50M""50-100M""100-500M""500-1000M"">1000M"
yearFounded integer
Year the company was founded
description string
Company's description
Emails of the company
Array of string
Phones of the company
Array of ContactNumber
number string Required
Contact number
country string
Country code of the contact number
primary boolean
True if the contact number is the primary contact number of the company
logo string
Logo of the company (URL)
Software technologies used by the company
Array of string
Technology categories of the company
Array of string
Mobile apps produced by the company
Array of MobileApp
link string
Website address for this app
name string Required
App name
Web traffic of the domain
visits integer
Total number of visits of the website for the last available month
pageViews integer
Number of views of the website for the last available month
pagesPerVisit number
Average number of pages viewed per visit for the last available month
bounceRate number
Bounce rate of the domain for the last available month
Social medias of the company
LinkedIn page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
Twitter page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
YouTube page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
Facebook page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
Xing page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
TikTok page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
Instagram page associated with the company
url string Required
URL of the media
handle string
ids extracted from social media urls
name string
Name of the company as it appears in the social media account
Specialties of the company as it appears in the social media account. Right now we only have this for LinkedIn.
Array of string
name string
Name of the company
legalName string
Legal name of the company
Locations of the company
Array of Location
primary boolean
True if the location is the headquarter of the company
latitude number
Latitude of the location
longitude number
Longitude of the location
country string
Country code of the location
locality string
Locality (city) of the location
region string
Region of the location. Available abbreviation values are located at /v2/data-fields endpoint (region section)
postalCode string
Postal code of the location
streetAddress string
Street address of the location
state string Deprecated
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
Region code of the location
Number of employees per department
Array of DepartmentSize
Department name
enum
"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"
size integer Required
Department size
rootUrl string
Root url to access the website
Faxes of the company
Array of ContactNumber
number string Required
Contact number
country string
Country code of the contact number
primary boolean
True if the contact number is the primary contact number of the company
Impressum (Imprint) data of the company (only for Germany, Austria, Switzerland)
company string
Company name as mentioned in Impressum
address string
Company address as mentioned in Impressum
email string
Company email as mentioned in Impressum
phone string
Company phone as mentioned in Impressum
fax string
Company fax as mentioned in Impressum
vat string
VAT number as mentioned in Impressum
url string
url where Impressum can be found
People mentioned in Impressum
Array of ImpressumPerson
name string Required
position string
Funding round of the company
date string
Date of the funding round
Type of the funding round
enum
"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
Amount of money raised in USD
cbUrl string
URL of the funding round on Crunchbase
Urls that redirects to this domain. We provide maximum 10 urls in this field.
Array of string
updatedAt string
When has the company data been updated for the last time
Headcount growth of the company
threeMonths integer
Actual headcount change (positive or negative number)
threeMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
sixMonths integer
Actual headcount change (positive or negative number)
sixMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
twelveMonths integer
Actual headcount change (positive or negative number)
twelveMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
Headcount growth per department
Array of DepartmentSizesGrowth
Department name
enum
"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"
Headcount growth per department
threeMonths integer
Actual headcount change (positive or negative number)
threeMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
sixMonths integer
Actual headcount change (positive or negative number)
sixMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
twelveMonths integer
Actual headcount change (positive or negative number)
twelveMonthsPercentage number
Headcount growth as a decimal (e.g., 0.15 represents 15% growth)
creditsUsed number Required
Number of credits charged for this request.
201 Created
detail enum Required
"Data gathering process has started. Please try again later."
400 Bad Request
detail enum Required
"Conflicting API tokens provided in query parameters and headers""Empty body"
402 Payment Required
detail enum Required
"Insufficient credits"
403 Forbidden
detail enum Required
"API token should be provided in headers or query parameters""Current API token is not registered in our database"
404 Not found
422 Validation Error
Array of ValidationError
Array of string | integer
string | integer
msg string Required
type string Required
input any
object

FAQs#

Can I enrich multiple companies at once?

Yes — use Enrich Companies (Batch) which accepts up to 10,000 companies and delivers results via webhook.

What if my domain returns 201 repeatedly?

The site may be unreachable, password-protected, or have insufficient business content for Ocean.io to index.

Can I request only specific fields?

Yes. Use the fields parameter with a list of field names (e.g., ["domain", "name", "technologies"]). This doesn't affect credit cost but reduces response size.