canonical: https://jentic.com/apis/ocean.io/ocean-io

# Ocean.io API

Ocean.io provides B2B company and contact intelligence for account-based marketing and lead generation. The API exposes structured firmographic data on companies, lookalike search to expand a target list from a seed set, and contact search by role and seniority. Output is geared toward sales and marketing teams who want to programmatically build, enrich, and segment account lists.

## For AI agents

Search and enrich B2B company profiles, find lookalike accounts, and surface contacts by role through Ocean.io's intelligence API.

## Scope

Does not handle outbound email sending, CRM record writes, or payment processing - use for B2B company and contact intelligence lookups only.

## Capabilities

- Search companies by domain, industry, headcount, or geography
- Retrieve a full firmographic profile for a single company by its Ocean.io company ID
- Generate a lookalike account list from a seed of customer domains
- Search contacts within a company by job title, function, or seniority
- Build and refresh an account-based marketing target list programmatically
- Enrich a CRM record with up-to-date industry, size, and location attributes

## Use cases

### Account-Based Marketing List Building

Build a target account list for an ABM campaign by combining `/companies/search` filters with `/companies/lookalike` expansion from a seed of best-fit customers. The API returns ranked company matches with firmographic attributes that can be loaded directly into a CRM or ad-platform audience. Sales and marketing teams typically refresh the list monthly to keep targeting aligned with current ICP signals.

Example prompt: Call `/companies/lookalike` with 10 seed customer domains and return the top 50 lookalike companies with their domain, industry, and employee count.

### CRM Account Enrichment

Enrich existing CRM accounts with current Ocean.io firmographic data - industry, size band, country, and tech stack signals - by looking up each account by domain or company ID. Useful for sales operations teams who want to clean up stale Salesforce or HubSpot records before a campaign or territory plan. Each lookup returns a structured profile that can be mapped directly to CRM fields.

Example prompt: For each of 100 CRM account domains, call `/companies/{companyId}` and return the industry, employee count, and country for each.

### Buying Committee Mapping

Identify the buying committee inside a target account by calling `/contacts/search` with title and seniority filters. Sales teams use this to find the VP and Director-level stakeholders most likely to influence a purchase decision before launching outbound. Combined with company search, the workflow turns an account list into a prioritised contact list ready for cadence.

Example prompt: Call `/contacts/search` for company domain example.com with title contains 'VP' or 'Director' and return the matching contacts.

### AI Agent ABM Research

An AI sales agent can research a target account end to end by calling Ocean.io through Jentic - pulling the company profile, finding lookalikes, and identifying decision-makers in a single chained workflow. Jentic exposes each operation by intent so the agent does not need to know endpoint paths or auth details, and credentials stay in the vault throughout.

Example prompt: Use Jentic to look up a target company, find five lookalike companies, and return the VPs of Sales at each one.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/companies/search` | Search companies by firmographic filters |
| GET | `/companies/{companyId}` | Retrieve a full company profile |
| POST | `/companies/lookalike` | Find lookalike companies from a seed list |
| GET | `/contacts/search` | Search contacts within companies by role |

## Key resources

- **Companies** — Search, retrieve, and find lookalikes for B2B company profiles.
- **Contacts** — Search contacts by company, title, function, and seniority.

## Why Jentic

- **Setup:** Wiring the Ocean.io API by hand means managing a bearer token, attaching it to the Authorization header on every call against api.ocean.io, and coding your own retry and rate-limit handling. Through Jentic you install once, import the Ocean.io API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** This surface is read-only B2B company and contact intelligence, so scope it by operation: limit the agent to the operations it needs, such as company search, company lookup by id, lookalike search, or contact search, and leave the rest out. You choose which operations it may call, so nothing beyond the allowed lookups runs.
- **Credential handling:** Your Ocean.io bearer token is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find lookalike companies from seed domains', and Jentic returns the matching Ocean.io operation with its input schema so the agent calls the right endpoint directly.

## Related APIs

- **Clearbit API** — Company and contact enrichment plus reveal and prospecting
- **Apollo.io API** — B2B prospecting database with email and dialer features
- **Hunter.io API** — Find and verify professional email addresses by domain
- **FullContact API** — Person and company identity resolution across data signals

## FAQ

### What authentication does the Ocean.io API use?

Bearer token in the Authorization header. Jentic stores the token encrypted in its vault and injects it at execution time, so the raw bearer string never enters the agent's prompt or model context.

### Can I generate lookalike companies from my customer list?

Yes. POST a list of seed domains to `/companies/lookalike` and Ocean.io returns ranked similar companies based on firmographic and behavioural signals. This is the primary mechanism for expanding an ABM target list from a small set of best-fit customers.

### What are the rate limits for the Ocean.io API?

Rate limits are tier-dependent and not exposed in the spec - confirm your plan limits with Ocean.io before running bulk enrichment. For large CRM cleanups, batch requests and respect 429 responses with exponential backoff.

### How do I enrich a single company through Jentic?

Search Jentic for 'get company profile by domain', load the schema for `/companies/{companyId}`, and execute with the company ID. The Python SDK pattern is await client.search(...), await client.load(...), await client.execute(...) inside an asyncio.run wrapper.

### Does Ocean.io return personal email addresses?

The `/contacts/search` endpoint returns contact records with role and seniority data; the availability of direct email or phone fields depends on your subscription tier and applicable data-protection rules in the contact's region.

### Is the Ocean.io API suitable for real-time enrichment in a web form?

Yes for company-level enrichment by domain - the `/companies/{companyId}` call returns within a few hundred milliseconds. For contact search, treat results as batchable rather than blocking a form submission.

### Can I limit what my agent is allowed to do with the Ocean.io API?

Yes. Because you run your own self-hosted Jentic One instance, your rules decide which Ocean.io operations and credentials the agent may use. This surface is read-only company and contact intelligence, so you can scope the agent to only the operations it needs, such as company search, company lookup by ID, lookalike search, or contact search, and leave the rest out. Nothing beyond the lookups you allow ever runs.
