You get a Clay table where each target company carries its industry, headcount band and detected tech, plus a fit flag and a one-line opener that names the match. Clay's own template builds the opener from the company's one-liner, its typical ICP and customers named on its website (Clay template, September 2026). This recipe adds a structured layer underneath: firmographic fields from one LeadOcean call, so the opener rests on data you can filter and score.
Use it when you already have a list of domains. If you need the list first, size it free with GET /v1/companies/count, then search.
How it works
- Get a free key. Sign up at app.leadocean.io/register. No card, 1,000 records.
- Load your target domains into Clay. One row per company, one
Domaincolumn. - Add the HTTP API column. POST each domain to
https://api.leadocean.io/v1/companies/enrich. Clay lists the HTTP API column on Growth and Enterprise (Clay pricing, September 2026). - Skip rows already filled. Clay supports an "only run if" formula on this column (Clay docs, October 2026).
- Flag ICP fit. Add a formula column that compares industry, headcount band and tech to your ICP.
- Draft the opener. Add an AI column that reads the fit flag and the company fields.
- Review, then send from your own inbox or sequencer. LeadOcean has no sequencer.
Configuration
/Domain is Clay's reference to the domain column. Save x-api-key once as an HTTP API (Headers) account and select it (Clay docs, October 2026).
Method: POST
URL: https://api.leadocean.io/v1/companies/enrich
Header account: LeadOcean (x-api-key)
Body: { "domain": "/Domain" }
Field paths to return:
data.company_data.company_name
data.company_data.company_industries
data.company_data.company_employees
data.company_detected_technologies
data.company_data.company_descriptionTest one domain in a terminal first.
curl -X POST "https://api.leadocean.io/v1/companies/enrich" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{"domain":"acme.com"}'A fit formula can be plain. Write your ICP once and let the column answer yes or no.
fit = industry in ["Computer Software", "Information Technology and Services"]
AND number_of_employees_code in ["51-200", "201-500"]
AND "HubSpot" in detected_technologiesIndustry values are exact strings; check them with GET /v1/enums. Technology names match technology_product.name as written.
Field mapping
| LeadOcean field | Clay column | Note |
|---|---|---|
data.company_data.company_name | Account | Use it in the opener. |
data.company_data.company_industries[].name2 | Industry | First input to the fit formula. |
data.company_data.company_employees.number_of_employees_code | Size band | Bands run 1-10 up to 10001+. |
data.company_detected_technologies[].technology_product.name | Tech | Crawled from the company's site. Empty when not held. |
data.company_data.company_description | One-liner | Context for the AI column, when held. |
Cost at 10,000 rows
LeadOcean is $0 for the first 1,000 records. For 10,000 domains use Solo at $97 a month (10k enrichments every 5 hours) or Agency at $497 a month. There is no per-record price.
A hit counts one record. A domain we hold nothing for returns a 404 and costs nothing.
Clay's HTTP API column starts on Growth at $495 a month billed monthly, or $446 billed yearly. Each call uses one Action, and Growth includes 40,000 Actions a month (Clay pricing, September 2026). Ten thousand domains use a quarter of that. The AI column adds one Action per run, plus Data Credits unless you connect your own AI key (Clay docs, October 2026). Clay publishes no fixed credit price per AI row.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No HTTP API column | Clay Free or Launch plan | The column starts on Growth. Run the lookup from a script instead. |
| 401 on every row | Wrong header | Use x-api-key, not Authorization. |
| 404 on a row | Domain not held | Expected and free. Skip the row or fall back to the one-liner. |
| Fit is false for all rows | Tech or industry string mismatch | Strings are exact. Check industries with GET /v1/enums. |
| 402 mid-run | The 1,000 free records are spent | Move to Solo or Agency. |
| 429 errors | Over 5 requests a second on Free | Lower the column rate limit and honor Retry-After. |
FAQ
Can I start from a company name?
Not in one call. Search companies first, then enrich the domain you get back. Sizing the list is free with GET /v1/companies/count.
Do I still need Clay's website scrape?
For customers named on a site, yes. LeadOcean supplies the structured fields. The scrape supplies the free text.
What if I want to name the right buyer, not just the company?
Pull people with GET /v1/companies/{domain}/people. See personalize emails that reference a company's target personas.
Where do prompts and tools for the draft come from?
The guide to AI-personalized cold emails covers prompts. For person-level data, see personalize emails based on customer data.
Back to all integrations. Plans are on pricing.
Match every target account to your ICP before you write. Start free.
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →