Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

Integration recipe

LeadOcean + Clay: warm intros to ICP companies through your close contacts

Take your close contacts, read where they used to work, and list the champions still there. Clay runs the table. LeadOcean supplies the career history and the people.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

You get a Clay table that starts with the people you know and ends with the people at their old companies who match your ICP. Each close contact is a bridge. If Jane Doe worked at Acme, the VPs still at Acme are one message away from a warm intro. Clay runs the table and LeadOcean supplies the career history and the people. You need a free LeadOcean key and a Clay plan with the HTTP API column.

Clay's own template does the same job with Claygent to judge ICP fit (Clay template, September 2026). This version uses data filters instead of an AI guess.

How it works

  1. Import your close contacts as a Clay table. One column: linkedin_url. Export them from your own LinkedIn connections or your CRM.
  2. Add an HTTP API column that calls POST /v1/people/enrich with the linkedin_url. LeadOcean returns resume_data.experiences[], the past roles. Each one carries company_name and, when held, company_domain.
  3. Pull out the past employers. Add a formula column that lists each company_domain from the experiences. The current role is not repeated there.
  4. Fill the missing domains. Past employers carry no company_id yet. Where company_domain is empty, match by company_name with the recipe use company names to get domains.
  5. Size the list before you spend. Call people search with count=true and limit=1. That call is free and returns the total in meta.total.
  6. Add a second HTTP API column that calls GET /v1/people/search with the domain and a seniority filter as query parameters. The rows are your champions.
  7. Write the intro ask. Join each champion to the close contact who used to work there, and send the contact a two-line request.

Configuration

Call 1 reads the career history. Call 2 finds the champions at one past employer.

bash
curl -X POST "https://api.leadocean.io/v1/people/enrich" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "content-type: application/json" \
  -d '{"linkedin_url":"https://www.linkedin.com/in/jane-doe"}'

curl -G "https://api.leadocean.io/v1/people/search" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  --data-urlencode "domain=acme.com" \
  --data-urlencode "seniority=vp,director" \
  --data-urlencode "limit=25"

In Clay, save x-api-key once as an HTTP API (Headers) account and select it on both columns. The enrich body is {"linkedin_url": "/linkedin_url"}, with the column reference in quotes. The search column uses query string parameters: key domain, value the domain column (Clay docs, October 2026). Multi-value query parameters are comma-separated. Seniority values are lowercase and exact (vp, director, c_suite); check them with leadocean_list_enum_values.

Field mapping

LeadOcean fieldClay columnNote
data.resume_data.experiences[]Past rolesBy name only. No company_id yet.
data.resume_data.experiences[].company_namePast employerUse it when the domain is empty.
data.resume_data.experiences[].company_domainPast employer domainFeeds the search column.
data.contact_data.contact_current_experiences[]Current employerDrop it from the past-employer list.
data[].profile_data.profile_full_name (search)ChampionOne row per person returned.
data[].profile_data.profile_url (search)Champion LinkedInCan be empty for about one person in five.
data[].meta.source_ids.person_id (search)Champion idEnrich by it to get the email.
meta.total (search)ICP sizeCapped at 100,000.

Cost at 10,000 rows

10,000 close contacts is 10,000 enrich calls, so at most 10,000 LeadOcean records. A person LeadOcean holds nothing for is a 404 and costs nothing. Every champion row the search returns counts one record. The first 1,000 records are free, for life (LeadOcean pricing).

LeadOcean. Free is $0 for 1,000 records. Solo is $97 a month and Agency is $497 a month, both with a fair-use pace and no per-record price. A count is free, so size each list first.

Clay. The HTTP API column is on Growth and Enterprise, not Launch or Free, and each call uses one Action (Clay pricing, September 2026). Growth is $495 a month billed monthly and $446 a month billed yearly, with 40,000 Actions in the entry tier. Ten thousand enrich calls use 10,000 of them, and every search call uses more (Clay pricing, September 2026). Clay's own template judges ICP fit with Claygent, which spends Data Credits; those start at $0.05 each (Clay pricing, September 2026).

Troubleshooting

SymptomCauseFix
Past-employer column is emptyLeadOcean holds no career history for that personSkip the row. Expected for some profiles.
400 on enrichMore than one identifier sentSend linkedin_url alone.
404 on enrichNothing held for that profileFree. Move on.
Search returns nobodyDomain wrong, or the seniority filter is too tightCheck the domain. Add manager to seniority.
401Wrong headerUse x-api-key, not Authorization.
402 mid-runThe 1,000 free records are spentMove to Solo or Agency.
HTTP API column missing in ClayPlan is Launch or FreeGrowth or Enterprise has it (Clay pricing, September 2026).

FAQ

Do I need Clay?

No. Any script that loops the two calls above works. Clay is the no-code route and gives you the table.

Does LeadOcean return mutual connections?

No. LeadOcean returns career history and company people. The overlap is the past employer you join in the table.

Why not rely on an AI agent to judge ICP fit?

Filters are repeatable and cost nothing to count. Use filters first, then review a short list by hand.

What if the past employer has no domain match?

Drop the row or fix the name by hand. See company names to domains. For another warm-lead angle, see warm leads from LinkedIn posts.

Back to all integrations. See pricing.

Turn your close contacts into warm intros. Start free.

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →