You get a beehiiv publication where each new subscriber is checked against LeadOcean, and the job title, company and company domain are written back to custom fields. You then segment your list by seniority and sell sponsorships against it. LeadOcean needs a free key. beehiiv webhooks need the Lite plan or above (beehiiv docs, September 2026).
How it works
- Create the custom fields. In beehiiv, add
job_title,companyandcompany_domain. A field sent in an update that does not exist already is dropped, not created (beehiiv docs, September 2026). - Point a webhook at your automation. In
Settings > Webhooks, add an endpoint for thesubscription.createdevent. In Make, use a Custom Webhook module and paste its URL there (beehiiv docs, September 2026). - Call LeadOcean. Add an HTTP "Make a request" module (Make docs, September 2026). POST the subscriber's email to
/v1/people/enrich. - Skip the misses. A person LeadOcean holds nothing for is a 404 and costs nothing. Stop the scenario on a 404 with a filter.
- Write back to beehiiv. Send a PUT to the subscription with the three values as
custom_fields. - Test on five subscribers, then switch the scenario on.
Configuration
Step 3, the LeadOcean call. {{1.email}} stands for the email from the webhook.
Method: POST
URL: https://api.leadocean.io/v1/people/enrich
Headers: x-api-key: <your LeadOcean key>
content-type: application/json
Body: { "email": "{{1.email}}" }Step 5, the write-back. Map the publication and subscription ids from the webhook payload in Make.
curl -X PUT "https://api.beehiiv.com/v2/publications/$PUBLICATION_ID/subscriptions/$SUBSCRIPTION_ID" \
-H "Authorization: Bearer $BEEHIIV_API_KEY" \
-H "content-type: application/json" \
-d '{"custom_fields":[
{"name":"job_title","value":"VP Marketing"},
{"name":"company","value":"Acme"},
{"name":"company_domain","value":"acme.com"}]}'To test the LeadOcean half alone:
curl -X POST "https://api.leadocean.io/v1/people/enrich" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{"email":"jane.doe@acme.com"}'Send one identifier per call. Two is a 400 (LeadOcean docs, September 2026). LeadOcean's docs list a work email as the email input. Many subscribers sign up with webmail, so expect misses on those.
Field mapping
| LeadOcean field | beehiiv custom field | Note |
|---|---|---|
data.contact_data.contact_current_experiences[0].job_title | job_title | The current role. |
data.contact_data.contact_current_experiences[0].company_name | company | Use it for sponsor reports. |
data.contact_data.contact_current_experiences[0].company_domain | company_domain | Join key for company enrichment. |
data.contact_data.contact_current_experiences[0].job_seniority | seniority | Add this field to segment by level. |
See person enrichment for the full record.
Cost at 10,000 rows
10,000 subscribers cost LeadOcean at most 10,000 records. Misses are free, so the real number is lower. Free covers the first 1,000 records for life. Solo is $97 a month and Agency is $497 a month, both with a fair-use pace and no per-record price (LeadOcean pricing).
beehiiv. Webhooks need Lite, listed at $49 a month billed yearly (beehiiv pricing, October 2026). The API rate limit is 30 requests a minute on Free and 180 on Lite (beehiiv docs, September 2026). A backfill of 10,000 existing subscribers at 180 a minute takes about an hour per call type.
Make. This scenario runs three modules per subscriber, so 10,000 subscribers is about 30,000 module runs on your Make plan. Size the plan on Make's pricing page.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Webhook never fires | Free beehiiv plan | Webhooks need Lite or above. Use a scheduled list pull instead. |
| 401 from LeadOcean | Wrong header | Use x-api-key, not Authorization. |
| 404 on many rows | Webmail or unknown address | Expected and free. Skip the write-back. |
| Custom fields stay empty | Field names differ | The PUT response carries warnings for unknown names. Match the names exactly. |
| 429 from beehiiv | Over the per-minute limit | Queue the calls and back off. |
| 402 from LeadOcean | The 1,000 free records are spent | Move to Solo or Agency. |
FAQ
Can I enrich existing subscribers, not just new ones?
Yes. Export the list, loop the same two calls over it, and respect the 180 requests a minute on Lite.
Does LeadOcean find personal emails?
Enrich is built for work emails. A webmail address may still match, or return a free 404. Test five of your own rows to see your match rate.
Do I need Make?
No. Any tool that receives a webhook and sends two HTTP calls works, including a short script.
Do I need a card to try it?
No. The free plan needs no card and gives 1,000 records for life. All features are on it.
Back to all integrations. Run it from Claude with the enrich person skill. See pricing.
Know who reads your newsletter. Start free.
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →