/v2/enrich/companyWebhook 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 |
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.
The more identifiers you provide, the more accurate the match. In descending order of strength:
domain › linkedin › registrationNumber › name + countryCode + city › email › phone
apiToken string x-api-token string name string registrationNumber string email string phone string countryCode string state string city string streetAddress string postalCode string address string facebook string twitter string linkedin string instagram string xing string domain string youtube string id string name string firstName string lastName string jobTitle string email string phone string facebook string twitter string linkedin string country string "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"200 Successful Responsedomain string Required primaryCountry string "0-1""2-10""11-50""51-200""201-500""501-1000""1001-5000""5001-10000""10001-50000""50001-100000""100001-500000""500000+"linkedinIndustry string ecommerce boolean employeeCountOcean integer employeeCountLinkedin integer "0-1M""1-10M""10-50M""50-100M""100-500M""500-1000M"">1000M"yearFounded integer description string number string Required country string primary boolean logo string link string name string Required visits integer pageViews integer pagesPerVisit number bounceRate number url string Required handle string name string url string Required handle string name string url string Required handle string name string url string Required handle string name string url string Required handle string name string url string Required handle string name string url string Required handle string name string name string legalName string primary boolean latitude number longitude number country string locality string region string postalCode string streetAddress string state string DeprecatedregionCode string "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 rootUrl string number string Required country string primary boolean company string address string email string phone string fax string vat string url string name string Required position string date string "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 cbUrl string updatedAt string threeMonths integer threeMonthsPercentage number sixMonths integer sixMonthsPercentage number twelveMonths integer twelveMonthsPercentage number "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"threeMonths integer threeMonthsPercentage number sixMonths integer sixMonthsPercentage number twelveMonths integer twelveMonthsPercentage number creditsUsed number Required 201 Createddetail enum Required "Data gathering process has started. Please try again later."400 Bad Requestdetail enum Required "Conflicting API tokens provided in query parameters and headers""Empty body"402 Payment Requireddetail enum Required "Insufficient credits"403 Forbiddendetail enum Required "API token should be provided in headers or query parameters""Current API token is not registered in our database"404 Not found422 Validation Errormsg string Required type string Required input any 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.