You get a Clay table that takes a column of company domains and returns total raised, last round type, last round date and lead investors from one API call. LeadOcean answers from its own company records, so there is no search and no page scrape. Funding is held for a small fraction of companies, so some rows come back without it (LeadOcean docs, September 2026). Clay's HTTP API column needs Growth or higher (Clay pricing, September 2026).
Clay's own template takes a different route. It runs a Google search for the Crunchbase link, confirms the link, then scrapes it with ZenRows (Clay template, September 2026). That is three steps per row and a scraper bill. This recipe is one step per row.
How it works
- Add your domains. Create a text column named
Domain, one bare domain per row, likeacme.com. Striphttps://andwww.first. - Add an HTTP API column. Method POST, URL
https://api.leadocean.io/v1/companies/enrich. - Send the domain. The body is
{ "domain": "/Domain" }, where/Domainis Clay's reference to the column (Clay docs, September 2026). Add your key in thex-api-keyheader. - Return the funding block. Set the field path to
data.company_data.company_funding. Clay documents dot notation for field paths. - Split it into columns. Add one formula column per field you want: total raised, round type, round date, lead investors.
- Skip finished rows. Use an "Only run if" formula so the column skips rows that are empty or already filled (Clay docs, September 2026).
- Test on five rows, then run the table.
Configuration
The column setup in Clay:
Method: POST
URL: https://api.leadocean.io/v1/companies/enrich
Headers: x-api-key: <your LeadOcean key>
content-type: application/json
Body: { "domain": "/Domain" }
Field paths to return:
data.company_data.company_fundingTest the same call from a terminal with a placeholder domain.
curl -s -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 company LeadOcean holds returns 200 and the funding block sits at data.company_data.company_funding. A company it does not hold returns 404. To find funded companies instead of enriching a list, the company search filters fundingType, minFunding, maxFunding, minLastFundingYear and maxLastFundingYear find funded companies directly (LeadOcean docs, September 2026).
Field mapping
| LeadOcean field | Clay column | Note |
|---|---|---|
company_data.company_funding.total_raised_usd | Total raised (USD) | A number. Empty when LeadOcean holds no figure. |
company_data.company_funding.last_round_type | Last round | Values like Seed or Series A. |
company_data.company_funding.last_round_date | Last round date | Use it to filter for recent rounds. |
company_data.company_funding.last_round_year | Last round year | Handy for a simple "2025 or later" filter. |
company_data.company_funding.lead_investors[] | Lead investors | A list. Join it into one text cell. |
Cost at 10,000 rows
10,000 domains cost LeadOcean up to 10,000 records, with no per-record price on a paid plan.
LeadOcean. A company found is one record, even when it has no funding block. A 404 costs nothing (LeadOcean docs, September 2026). Free holds 1,000 records for life, so it covers a test of one tenth of the list. Solo is $97 a month with a fair-use pace of 10k enrichments every 5 hours. Agency is $497 a month (LeadOcean pricing).
Clay. Each HTTP API call uses one Action, so 10,000 rows use 10,000 Actions. Growth includes 40,000 Actions a month and costs $495 a month billed monthly, or $446 billed yearly (Clay pricing, September 2026). This recipe spends no Data Credits.
Clay's Crunchbase template. It runs a Google search, a link check and a ZenRows scrape per row, so each row is three steps to pay for instead of one (Clay template, September 2026).
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No HTTP API column | Clay Free or Launch plan | The column starts on Growth (Clay pricing, September 2026). Or run the calls from a script. |
| 401 on every row | Wrong header | Use x-api-key, not Authorization. |
| 404 on some rows | LeadOcean holds no record for that domain | Expected and free. Check the spelling, drop www., or leave the row empty. |
| 200 but empty funding cells | Company found, no funding held | Normal for many companies. Use the row for firmographics or send it to another source. |
| 402 mid-run | The 1,000 free records are spent | Move to Solo or Agency, or stop the run. |
| 429 errors | Over 5 requests a second on Free | Lower Clay's per-column rate limit and honor Retry-After. |
FAQ
Does every company come back with funding data?
No. Funding is held for a small fraction of companies, and absent is the normal case. Test five rows from your list and count the filled cells before you run all of it.
Can I find funded companies instead of enriching a list?
Yes. Filter company search by fundingType, minFunding or minLastFundingYear and page the results. Each company returned is one record.
Can I run this without Clay?
Yes. It is one HTTP call per domain. The same request pattern works in code, see Go, C# and TypeScript for the LinkedIn version.
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. See pricing.
Add funding data to your list. Start free.
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →