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

Integration recipe

Enrich recent hires: keep only people who started in the last 6 months

Call POST /v1/people/enrich from a Clay HTTP API column, read the current role and start date, and keep recent hires.

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 asks LeadOcean for each person's current role and start date, then flags everyone who started within the last 6 months. Clay's own template does the same job with Clay enrichments and defaults to a 6 month window (Clay template, September 2026). This version fills the role from LeadOcean at a flat price. The HTTP API column needs Clay Growth or higher (Clay pricing, September 2026).

How it works

  1. Start with LinkedIn URLs. Your table needs one column named LinkedIn URL. Pull it from a list, a CSV or a Clay source.
  2. Add an HTTP API column. Method POST, endpoint https://api.leadocean.io/v1/people/enrich, with your key in an x-api-key header.
  3. Return the current role. Ask for data.contact_data.contact_current_experiences. It holds the title, employer, domain and role start date.
  4. Add a formula column. Compare the start date to today minus 6 months. Change the 6 to any window you like.
  5. Filter the table. Keep rows where the formula is true. These are your recent hires.
  6. Send them on. Push the filtered rows to your sequencer or CRM with the Clay integration you already use.

Configuration

Set the HTTP API column like this. /LinkedIn URL is Clay's column reference (Clay docs, September 2026).

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" }
Field paths to return:
          data.contact_data.contact_current_experiences
          data.contact_data.contact_emails

Test one row from a terminal first. This is the request Clay sends.

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 is a 400. Drop reveal_email if you only need the role, since the role does not depend on it. The start date is start_date on the role object, a YYYY-MM-DD string (LeadOcean docs). Point the formula at contact_current_experiences[0].start_date.

No LinkedIn URLs yet? Search by company with POST /v1/people/search, which returns the current role and start date on each row, and leadocean_count_leads sizes the list for free.

Field mapping

LeadOcean fieldClay columnNote
contact_current_experiences[0].start_dateRole start dateCompare it to today minus 6 months.
contact_current_experiences[].job_titleCurrent titleThe title as written.
contact_current_experiences[].company_nameEmployerCurrent employer.
contact_current_experiences[].company_domainEmployer domainUse it to link to company data.
contact_data.contact_emailsEmailsNeeds reveal_email. Accept verified and catch_all_valid.
contact_data.has_emailHas emailTrue or false.

Cost at 10,000 rows

At 10,000 rows, LeadOcean costs $0 for the first 1,000 records and $497 flat on Agency. Clay adds 10,000 Actions on top.

LeadOcean. A hit counts as one record. A person we hold nothing for is a 404 and costs nothing. Free covers 1,000 records, one-off, with no card. Agency is $497 a month with a fair-use pace, not credits.

Clay. The HTTP API call uses one Action per row. Growth starts at $495 a month, or $446 a month billed yearly, and includes 40,000 Actions (Clay pricing, September 2026). So 10,000 Actions fit inside Growth.

Troubleshooting

SymptomCauseFix
No HTTP API columnClay plan is Free or LaunchThe column starts on Growth (Clay pricing, September 2026). Export a CSV from LeadOcean and import it instead.
401 on every rowWrong header nameUse x-api-key, not Authorization.
404 on some rowsWe hold nothing for that personExpected and free. Drop those rows.
Start date is emptyThe role has no date on recordTreat the row as unknown, not as a recent hire.
402 mid-runThe 1,000 free records are spentMove to Solo or Agency on the pricing page.
429 errorsOver your plan's rate limitFree allows 5 requests a second, Agency 200. Lower the per-column rate limit in Clay.

FAQ

Does a recent hire list need a search instead of enrichment?

Only if you have no LinkedIn URLs. Enrich person is one request per known person. For a company-first list, search by domain and read the start date on each row.

Can I add company data too?

Yes. Pass the employer domain to enrich company in a second column.

Can I run this from Claude instead of Clay?

Yes. The enrich person skill calls the same data through the hosted MCP server.

Do I need a card to test it?

No. Free needs no card and gives you 1,000 records.

Back to all integrations, or see the full Clay integration.

Find recent hires in your own list. Start free.

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

Get your free API key →