# Ocean.io

> B2B data enrichment and company/people search platform for finding and enriching business contacts and company information.

Source: https://cotera.co/docs/reference/tools/individual-tools/ocean-io

---

**Authentication Type:** API Key
**Description:** B2B data enrichment and company/people search platform for finding and enriching business contacts and company information.

***

## Authentication

To authenticate, you'll need an Ocean.io API key. Learn how to get one in the [Ocean.io documentation](https://docs.ocean.io/getting-started/authentication).

***

## Companies

Search and discover companies using comprehensive filtering options including industry, size, location, revenue, and technology stack.

### Search Companies

Find companies in the Ocean.io database using filters like industry, company size, location, revenue range, technology stack, and employee count. Results include detailed company information, contact details, and business intelligence data.

**Operation Type:** Mutation (Write)

**Parameters:**

* **size** `number` (default: 50): Number of companies to return (1-10000)
* **searchAfter** `string` (nullable): Pagination token from previous request
* **industries** `array of strings` (nullable): Array of industries to search for (e.g., \["Software", "Technology", "SaaS"]). Available values at /v2/data-fields endpoint.
* **companySizes** `array of strings` (nullable): Array of company sizes (e.g., \["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10001-50000", "50001-100000", "100001-500000", ">500000"])
* **includeDomains** `array of strings` (nullable): Only return these specific domains (e.g., \["google.com", "microsoft.com"])
* **excludeDomains** `array of strings` (nullable): Exclude these domains from results (e.g., \["spam.com", "test.com"])
* **countries** `array of strings` (nullable): Country codes to search (ISO 3166 alpha-2, e.g., \["us", "uk", "ca", "de"])
* **ecommerce** `boolean` (nullable): Filter by ecommerce companies: true=only ecommerce, false=exclude ecommerce, null=include all
* **revenues** `array of strings` (nullable): Revenue ranges (e.g., \["0-1M", "1-10M", "10-100M", "100-500M", "500-1000M", ">1000M"])
* **companiesFiltersJson** `string` (nullable): Advanced company filters as JSON. Available filters: lookalikeDomains, yearFounded, countriesCount, employeeCountOcean, mobileApps, locationsCount, departmentSizes, employeeCountLinkedin, industryCategories, excludeIndustries, excludeIndustryCategories, linkedinIndustries, excludeLinkedinIndustries, fundingRound, primaryLocations, otherLocations, webTraffic, socialMedias, technologies, keywords, minRelevance, maxRelevance, headcountGrowth, departmentHeadcountGrowth
* **peopleFiltersJson** `string` (nullable): People filters as JSON to find companies with matching people. Available filters: seniorities, skills, jobTitleKeywords, allJobDescriptions, currentJobDescription, profileDescription, states, excludeStates, excludeCountries, cities, names, departments, fieldsExist, fieldsNotExist, changedPositionAfter, changedPositionBefore, countries, includePeopleIds, includeLinkedinHandles, excludePeopleIds, excludeLinkedinHandles

**Returns:**

* **searchAfter** `string` (nullable): Pagination token for next request
* **detail** `string`: Query execution details
* **total** `number`: Total number of matching companies
* **missingDomains** `object` (nullable): Domains that were not found
* **redirectMap** `object` (nullable): Domain redirects mapping
* **companies** `array of objects`: Array of matching companies
  * **company** `object`: Company information
    * **domain** `string` (nullable): Company domain
    * **name** `string` (nullable): Company name
    * **legalName** `string` (nullable): Legal company name
    * **description** `string` (nullable): Company description
    * **countries** `array of strings` (nullable): Countries where company operates
    * **primaryCountry** `string` (nullable): Primary country of operation
    * **companySize** `string` (nullable): Company size category
    * **industryCategories** `array of strings` (nullable): Industry categories
    * **industries** `array of strings` (nullable): Specific industries
    * **linkedinIndustry** `string` (nullable): LinkedIn industry classification
    * **ecommerce** `boolean` (nullable): Whether company is ecommerce
    * **keywords** `array of strings` (nullable): Company keywords
    * **employeeCountOcean** `number` (nullable): Employee count from Ocean.io
    * **employeeCountLinkedin** `number` (nullable): Employee count from LinkedIn
    * **revenue** `string` (nullable): Revenue range
    * **yearFounded** `number` (nullable): Year company was founded
    * **emails** `array of strings` (nullable): Company email addresses
    * **phones** `array of objects` (nullable): Company phone numbers
      * **country** `string` (nullable): Phone country code
      * **number** `string` (nullable): Phone number
      * **primary** `boolean` (nullable): Whether this is primary phone
    * **logo** `string` (nullable): Company logo URL
    * **technologies** `array of strings` (nullable): Technologies used
    * **technologyCategories** `array of strings` (nullable): Technology categories
    * **locations** `array of objects` (nullable): Company locations
      * **primary** `boolean` (nullable): Whether this is primary location
      * **latitude** `number` (nullable): Location latitude
      * **longitude** `number` (nullable): Location longitude
      * **country** `string` (nullable): Country
      * **locality** `string` (nullable): City/locality
      * **region** `string` (nullable): Region/state
      * **postalCode** `string` (nullable): Postal code
      * **streetAddress** `string` (nullable): Street address
    * **webTraffic** `object` (nullable): Web traffic data
      * **bounceRate** `number` (nullable): Website bounce rate
      * **pageViews** `number` (nullable): Monthly page views
      * **pagesPerVisit** `number` (nullable): Average pages per visit
      * **visits** `number` (nullable): Monthly visits
    * **fundingRound** `object` (nullable): Latest funding information
      * **cbUrl** `string` (nullable): Crunchbase URL
      * **date** `string` (nullable): Funding date
      * **moneyRaisedInUsd** `number` (nullable): Amount raised in USD
      * **type** `string` (nullable): Funding round type
  * **relevance** `string` (nullable): Search relevance score

**Example Usage:**

```json
{
  "size": 25,
  "industries": ["Software", "Technology", "SaaS"],
  "companySizes": ["51-200", "201-500"],
  "countries": ["us", "ca"],
  "ecommerce": false,
  "revenues": ["1-10M", "10-100M"]
}
```

## People

Search and enrich people profiles with detailed professional information, work history, and contact data.

### Search People

Find people in the Ocean.io database using filters like seniority, department, location, job title, and company criteria. Results include professional profiles with work history, skills, and company information.

**Operation Type:** Mutation (Write)

**Parameters:**

* **size** `number` (default: 50): Number of people to return (1-10000)
* **searchAfter** `string` (nullable): Pagination token from previous request
* **peoplePerCompany** `number` (nullable): Number of people to return per company. Leave null to return all people.
* **jobTitleThreshold** `number` (default: 0.8): Job title similarity threshold (0-1). Default is 0.8
* **seniorities** `array of strings` (nullable): Array of seniorities (e.g., \["C-Level", "Founder", "Manager", "Individual Contributor"]). Available values at /v2/data-fields endpoint.
* **departments** `array of strings` (nullable): Array of departments (e.g., \["Engineering", "Sales", "Marketing and Advertising"]). Available values at /v2/data-fields endpoint.
* **countries** `array of strings` (nullable): Country codes for people (ISO 3166 alpha-2, e.g., \["us", "uk", "ca"])
* **names** `array of strings` (nullable): Filter by specific names (e.g., \["John Doe", "Jane Smith"])
* **peopleFiltersJson** `string` (nullable): Advanced people filters as JSON. Available filters: lookalikeLinkedinHandles, includePeopleIds, includeLinkedinHandles, excludePeopleIds, excludeLinkedinHandles, skills, jobTitleKeywords, allJobDescriptions, currentJobDescription, profileDescription, states, excludeStates, excludeCountries, cities, fieldsExist, fieldsNotExist, changedPositionAfter, changedPositionBefore
* **companiesFiltersJson** `string` (nullable): Company filters as JSON to find people from matching companies. Same filters as searchCompanies endpoint.

**Returns:**

* **people** `array of objects`: Array of matching people
  * **id** `string` (nullable): Ocean.io person ID
  * **domain** `string` (nullable): Company domain
  * **name** `string` (nullable): Full name
  * **firstName** `string` (nullable): First name
  * **lastName** `string` (nullable): Last name
  * **country** `string` (nullable): Person's country
  * **state** `string` (nullable): Person's state/region
  * **location** `string` (nullable): Person's location
  * **linkedinUrl** `string` (nullable): LinkedIn profile URL
  * **seniorities** `array of strings` (nullable): Seniority levels
  * **departments** `array of strings` (nullable): Departments
  * **photo** `string` (nullable): Profile photo URL
  * **jobTitle** `string` (nullable): Current job title
  * **jobTitleEnglish** `string` (nullable): Job title in English
  * **currentJobDescription** `string` (nullable): Current job description
  * **summary** `string` (nullable): Professional summary
  * **skills** `array of strings` (nullable): Professional skills
  * **phone** `object` (nullable): Phone information
    * **numbers** `array of strings` (nullable): Phone numbers
    * **status** `string` (nullable): Phone verification status
  * **email** `object` (nullable): Email information
    * **address** `string` (nullable): Email address
    * **status** `string` (nullable): Email verification status
  * **company** `object` (nullable): Current company
    * **companySize** `string` (nullable): Company size
    * **logo** `string` (nullable): Company logo URL
    * **name** `string` (nullable): Company name
  * **experiences** `array of objects` (nullable): Work experience
    * **dateFrom** `string` (nullable): Start date
    * **dateTo** `string` (nullable): End date
    * **description** `string` (nullable): Job description
    * **domain** `string` (nullable): Company domain
    * **jobTitle** `string` (nullable): Job title
* **detail** `string`: Query execution details
* **total** `number`: Total number of matching people
* **searchAfter** `string` (nullable): Pagination token for next request
* **lookalikePeopleStatuses** `object` (nullable): Status of lookalike people searches
* **redirectMap** `object` (nullable): Domain redirects mapping

**Example Usage:**

```json
{
  "size": 50,
  "seniorities": ["C-Level", "Manager"],
  "departments": ["Engineering", "Sales"],
  "countries": ["us", "uk"],
  "companiesFiltersJson": "{\"industries\": [\"Software\", \"Technology\"], \"companySizes\": [\"51-200\", \"201-500\"]}"
}
```

### Enrich Person

Enrich a person's profile with detailed professional information, work history, skills, and verified contact data. Supports email and phone reveal with webhook processing for async results.

**Operation Type:** Mutation (Write)

**Parameters:**

* **oceanId** `string` (nullable): Ocean.io person ID if known (e.g., "b8952796be57982d")
* **name** `string` (nullable): Full name of the person (e.g., "John Doe")
* **firstName** `string` (nullable): First name (e.g., "John")
* **lastName** `string` (nullable): Last name (e.g., "Doe")
* **email** `string` (nullable): Email address (e.g., "<john.doe@company.com>")
* **jobTitle** `string` (nullable): Job title (e.g., "CEO", "Software Engineer")
* **phone** `string` (nullable): Phone number (e.g., "+1 555-123-4567")
* **linkedin** `string` (nullable): LinkedIn profile URL (e.g., "<https://www.linkedin.com/in/johndoe>")
* **twitter** `string` (nullable): Twitter profile URL (e.g., "<https://twitter.com/johndoe>")
* **facebook** `string` (nullable): Facebook profile URL (e.g., "<https://www.facebook.com/johndoe>")
* **country** `string` (nullable): Country code (e.g., "us", "uk", "dk")
* **companyName** `string` (nullable): Company name (e.g., "Ocean ApS", "Google")
* **companyDomain** `string` (nullable): Company domain (e.g., "ocean.io", "google.com")
* **companyEmail** `string` (nullable): Company email (e.g., "<hello@ocean.io>")
* **companyPhone** `string` (nullable): Company phone (e.g., "+45 12345678")
* **companyCountry** `string` (nullable): Company country code (e.g., "dk", "us")
* **companyState** `string` (nullable): Company state/region (e.g., "California", "Arkansas")
* **companyCity** `string` (nullable): Company city (e.g., "Copenhagen", "San Francisco")
* **companyAddress** `string` (nullable): Company full address (e.g., "Strandgade 6, 1401 Copenhagen")
* **companyLinkedin** `string` (nullable): Company LinkedIn URL (e.g., "<https://www.linkedin.com/company/oceanio>")
* **includeEmails** `boolean` (default: false): Include verified emails (costs 1 email credit per verified email). REQUIRES webhookUrl for async processing.
* **includePhones** `boolean` (default: false): Include verified phones (costs 1 phone credit per verified phone). REQUIRES webhookUrl for async processing.
* **webhookUrl** `string` (nullable): REQUIRED webhook URL if includeEmails or includePhones is true. Ocean.io will POST results to this URL asynchronously.
* **personJson** `string` (nullable): Advanced person data as JSON string (for complex person matching not covered by above fields)

**Returns:**

* **id** `string` (nullable): Ocean.io person ID
* **domain** `string` (nullable): Company domain
* **name** `string` (nullable): Full name
* **firstName** `string` (nullable): First name
* **lastName** `string` (nullable): Last name
* **country** `string` (nullable): Person's country
* **state** `string` (nullable): Person's state/region
* **location** `string` (nullable): Person's location
* **linkedinUrl** `string` (nullable): LinkedIn profile URL
* **seniorities** `array of strings` (nullable): Seniority levels
* **departments** `array of strings` (nullable): Departments
* **photo** `string` (nullable): Profile photo URL
* **jobTitle** `string` (nullable): Current job title
* **jobTitleEnglish** `string` (nullable): Job title in English
* **currentJobDescription** `string` (nullable): Current job description
* **summary** `string` (nullable): Professional summary
* **skills** `array of strings` (nullable): Professional skills
* **phone** `object` (nullable): Phone information
  * **numbers** `array of strings` (nullable): Phone numbers
  * **status** `string` (nullable): Phone verification status
* **email** `object` (nullable): Email information
  * **address** `string` (nullable): Email address
  * **status** `string` (nullable): Email verification status
* **company** `object` (nullable): Current company information
  * **companySize** `string` (nullable): Company size
  * **logo** `string` (nullable): Company logo URL
  * **name** `string` (nullable): Company name
* **experiences** `array of objects` (nullable): Work experience history
  * **dateFrom** `string` (nullable): Start date
  * **dateTo** `string` (nullable): End date
  * **description** `string` (nullable): Job description
  * **domain** `string` (nullable): Company domain
  * **jobTitle** `string` (nullable): Job title

**Example Usage:**

```json
{
  "name": "John Doe",
  "email": "john.doe@techcorp.com",
  "jobTitle": "Senior Software Engineer",
  "companyName": "TechCorp",
  "companyDomain": "techcorp.com",
  "linkedin": "https://www.linkedin.com/in/johndoe",
  "includeEmails": false,
  "includePhones": false
}
```

## Common Use Cases

**Lead Generation:**

* Search for companies matching your ideal customer profile by industry and size
* Find decision makers at target companies using seniority and department filters
* Discover companies with specific technology stacks or revenue ranges
* Generate qualified prospect lists with verified contact information

**Sales Intelligence:**

* Enrich existing leads with comprehensive company and personal data
* Research prospects before outreach with detailed professional backgrounds
* Identify key contacts across departments within target organizations
* Track company growth metrics and funding information for timing outreach

**Market Research:**

* Analyze company landscapes within specific industries or regions
* Identify emerging companies and growth trends in target markets
* Research competitive intelligence and technology adoption patterns
* Build comprehensive databases of market participants and key players

**Data Enrichment:**

* Enhance CRM records with up-to-date company and contact information
* Validate and update existing contact databases with current job titles
* Fill in missing data points for leads and prospects automatically
* Maintain data accuracy with real-time professional profile updates

