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

Clay recipe

LeadOcean + Clay: enrich any LinkedIn URL into name, role, company and email

One HTTP API column sends each profile URL to POST /v1/people/enrich and returns the person's current role, company and email.

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

You get a Clay table where each LinkedIn profile URL turns into a full name, current job title, company and work email. Clay's template does this with a bundle of its own enrichments. This recipe does it with one HTTP API column calling LeadOcean at a flat price. The HTTP API column needs Clay Growth or higher (Clay pricing, September 2026).

LeadOcean enrich takes a LinkedIn profile URL, an email, a phone or a person_id. Other URL types are not accepted. To start from a name and a company, see find email from name and company.

How it works

  1. Get a free key. Sign up at app.leadocean.io/register. No card, 1,000 records.
  2. Add a URL column. Name it LinkedIn URL and paste or import your profile URLs.
  3. Add the HTTP API column. Method POST, endpoint https://api.leadocean.io/v1/people/enrich.
  4. Set headers and body. Send x-api-key and one identifier, the LinkedIn URL column.
  5. Pick the field paths. Clay uses dot notation for nested values (Clay docs, September 2026).
  6. Run five rows first. Check the columns fill, then run the table.

Configuration

Set the column like this. /LinkedIn URL is Clay's column reference.

text
Method:   POST
URL:      https://api.leadocean.io/v1/people/enrich
Headers:  x-api-key: <your LeadOcean key>
          content-type: application/json
Body:     {
            "linkedin_url": "/LinkedIn URL",
            "reveal_email": true
          }
Field paths to return:
          data.profile_data.profile_full_name
          data.contact_data.email_status
          data.contact_data.contact_emails
          data.contact_data.contact_current_experiences

Test the same request in a terminal first. This is what Clay sends per row.

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","reveal_email":true}'

Send exactly one identifier. Two returns a 400 (LeadOcean docs, September 2026). reveal_email costs no extra record.

Field mapping

LeadOcean fieldClay columnNote
data.profile_data.profile_full_nameFull nameName as held on the profile.
data.contact_data.contact_current_experiencesCurrent roleHolds job_title, company_name and company_domain.
data.contact_data.contact_emailsEmailsA list. Pick the work entry in a Clay formula.
data.contact_data.email_statusEmail statusOne of 13 values. Send only verified and catch_all_valid.
data.contact_data.has_emailHas emailCheapest check for a run condition.
data.resume_data.experiencesPast rolesPast titles and dates, when held. Past employers carry no company_id yet.

Cost at 10,000 rows

LeadOcean costs $0 for the first 1,000 records, $97 on Solo or $497 on Agency for all 10,000. Clay adds its own plan on top.

A hit counts one record. A miss is a 404 and costs nothing (LeadOcean docs, September 2026). Solo is $97 a month and covers 10k enrichments every 5 hours, so 10,000 rows fit in one run. There is no per-record price.

Clay's HTTP API column starts on Growth at $495 a month billed monthly, or $446 billed yearly. It uses one Action per call, and Growth includes 40,000 Actions a month (Clay pricing, September 2026). So 10,000 rows use a quarter of the Actions. Clay Data Credits are only spent if you add its own enrichments.

Troubleshooting

SymptomCauseFix
No HTTP API columnClay Free or Launch planThe column is Growth and up. Run the calls from a script and import the CSV instead.
401 on every rowWrong headerUse x-api-key, not Authorization.
400 on some rowsBlank or non-profile URLAdd a run condition that skips empty cells.
404 on some rowsLeadOcean holds nothing for that personExpected and free.
402 mid-runThe 1,000 free records are spentMove to Solo or Agency.
429 errorsOver 5 requests a second on FreeLower the column's rate limit and honor Retry-After.

FAQ

Can I enrich a company website URL?

Not with this endpoint. POST /v1/companies/enrich handles companies, with a domain as the input. Use a second column for it.

Does a miss cost anything?

No LeadOcean record. Clay still spends one Action per call, so set an "Only run if" formula that skips blank URL cells (Clay docs, September 2026).

Do I need a card to test it?

No. The free plan has no card and 1,000 records, one-off.

Can I skip Clay?

Yes. Run the curl call above in a script, or export a list with POST /v1/exports. See find email from CSV of names and find email from a YC company list.

Back to all integrations. Plans are on pricing.

Turn your URL list into emails. Start free.

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

Get your free API key →