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

Recipe

LeadOcean + Clay: LinkedIn profile lookalikes to an enriched outreach list

One LinkedIn URL in, a list of similar people with work emails out. Three LeadOcean calls from two Clay tables.

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

You give a Clay table one LinkedIn URL of someone who already bought. You get back a list of people with the same title, level, function and country, each with a work email. LeadOcean does the data work in three HTTP calls, and Clay holds the rows. The same recipe runs from a script if you have no Clay seat.

How it works

  1. Trigger. Add a column with the seed URL, for example https://www.linkedin.com/in/jane-doe-example. One seed per row.
  1. Read the persona. Add an HTTP API column that calls POST /v1/people/enrich with linkedin_url. The current role is in contact_current_experiences[], with job_title and job_functions[]; the country is in the profile_data address. A miss is a 404 and costs nothing.
  1. Size the list. Call /v1/people/search?count=true with limit 1 and the persona as filters. It is free, and meta.total caps at 100,000.
  2. Pull the lookalikes into a new table. Start a second table from the source "Import data from an HTTP API" with GET /v1/people/search and the persona filters. Set the results path to data and paginate on the cursor query parameter with meta.nextCursor (Clay docs, October 2026). Each person becomes a row. One search pages to 10,000 rows.
  1. Enrich each row. Add an HTTP API column on POST /v1/people/enrich with the row's meta.source_ids.person_id and reveal_email: true. Reveal costs no extra record.
  2. Send it on. Filter on email_status, then push the rows to your CRM or sequencer.

Clay's HTTP API column lets you set a rate limit and a conditional run per column (Clay docs, October 2026). Set 5 requests a second on Free and 50 on Solo, and run only when the URL cell is filled.

Configuration

The enrich call from step 2, as the HTTP column sends it:

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-example"}'

The search call from step 4. Values are placeholders for what step 2 returned. In the Clay source, send the same filters as query parameters, comma-separated:

bash
curl -X POST https://api.leadocean.io/v1/people/search \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": ["Head of Growth"], "jobLevel": ["Director"],
       "jobFunction": ["Sales & Business Development"],
       "country": ["US"], "limit": 100}'

Enum values are exact strings. Check them with list_enum_values before you map anything.

Field mapping

LeadOcean fieldTarget fieldNote
contact_current_experiences[].job_titletitle filterWrap in brackets for an exact match.
Set by you from the seed titlejobLevel filterC-Team, VP, Director, Manager, Staff or Other.
contact_current_experiences[].job_functions[]jobFunction filterCheck each value with list_enum_values.
profile_data address country_codecountry filterTwo-letter code, such as US.
data[].meta.source_ids.person_id (search)Clay column for step 5On every search row.
data.contact_data.contact_emails[]Clay email columnReturned when reveal_email is true.
data.contact_data.email_statusSend-ready flagBounces are not refunded. Read it first.

Cost at 10,000 rows

On LeadOcean, 10,000 lookalikes plus the seed is 10,001 records. Enriching each row for its email adds 10,000, so 20,001 in total. Free holds 1,000 records for life, enough to prove the recipe. Solo at $97 a month covers the volume, with bulk CSV included. See pricing.

Clay's HTTP API column starts on Growth: $495 a month billed monthly, $446 billed yearly. Each call uses one Action (Clay pricing, September 2026). The enrich column on 10,000 rows is 10,000 Actions, inside Growth's 40,000.

The FullEnrich template does the same job with its own search and email credits. Search costs 0.25 credits per person and a work email 1 credit (FullEnrich docs, September 2026). That is 12,500 credits for 10,000 rows. The 15,000-credit tier is $720 a month, or $655 a month billed yearly (FullEnrich pricing, September 2026).

Troubleshooting

SymptomCauseFix
Enrich returns 404No record for that URLFree. Fill the filters by hand and search anyway.
Search returns zero rowsAn enum value is misspelledCheck list_enum_values.
402 on searchThe 1,000 Free records are spentMove to Solo or Agency.
429 with Retry-AfterOver the plan's rateLower the column's rate limit.
Seed person in the resultsSearch matches them tooDrop their person_id from the rows.

FAQ

Do I need Clay for this?

No. Any HTTP client runs the three calls. Clay adds the table and the formula columns. Its HTTP API column needs Growth or the 14-day trial (Clay pricing, September 2026).

How tight should the filters be?

Start with level, function and country, then size the list. Add title if the count is too big and drop it if the count is too small.

Can it be run from Claude instead?

Yes. Use leadocean_get_lead, leadocean_count_leads and leadocean_search_leads in a single chat.

Where do I start from a single URL without Clay?

See find lookalike profiles from any LinkedIn URL. For list structure, use the B2B prospect list template. To enrich a profile from chat, see enrich a LinkedIn profile from Slack. All recipes are on the integrations hub.

Build your first lookalike list free

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

Get your free API key →