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

How-to guide

How to Set Up 5 Enrichment Tools for a Small Business (in Under an Hour)

Five working setups on one free key: curl, a CSV script, Claude Code, n8n and the app. Real requests, real output, and what each costs in records.

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

Five enrichment tools that small businesses can set up in under an hour are: a curl call, a CSV script, Claude Code over MCP, an n8n workflow and the LeadOcean app. All five run on one free key. Pick the one that matches who does the work.

This is the short version. Each tool has a request you can paste and the output you should see.

TL;DR

  • The five setups take 5 to 15 minutes each, about 50 minutes for all of them. You only need one.
  • Testing all five on the free plan costs about 10 records of your 1,000. Counts and misses cost nothing.
  • Pick curl or the script if you code, Claude Code if you prefer prompts, n8n if you want a workflow, the app if you want a CSV and nothing else.

Prerequisites

  • A LeadOcean account and key from app.leadocean.io/register. The free plan has no card, 1,000 records for life and 5 requests a second.
  • Your key in the shell: export LEADOCEAN_API_KEY=...
  • Python 3 for Step 2, Claude Code for Step 3, n8n for Step 4. Skip any you will not use.
  • A list of LinkedIn URLs or work emails to enrich. Use two or three to test.

Step 1: Enrich one person with curl (5 minutes)

One call to POST /v1/people/enrich takes exactly one of linkedin_url, email, phone or person_id. Add reveal_email to get the addresses and phones we hold. It costs one record, and a miss is a 404 that costs nothing.

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

There is no name plus domain lookup. If you only have a company, search by domain first, then enrich with the person_id.

Step 2: Enrich a CSV with a short script (15 minutes)

A 20-line Python script covers most small-business lists. It reads leads.csv, calls enrich per row and writes enriched.csv. Stay under the plan's rate limit: 5 requests a second on Free.

python
import csv, os, time, requests

URL = "https://api.leadocean.io/v1/people/enrich"
HEAD = {"x-api-key": os.environ["LEADOCEAN_API_KEY"]}

with open("leads.csv") as f, open("enriched.csv", "w", newline="") as out:
    w = csv.writer(out)
    w.writerow(["linkedin_url", "has_email", "email_status", "email_type"])
    for row in csv.DictReader(f):
        r = requests.post(URL, headers=HEAD,
            json={"linkedin_url": row["linkedin_url"], "reveal_email": True})
        if r.status_code == 404:
            w.writerow([row["linkedin_url"], "", "not_found", ""]); continue
        r.raise_for_status()
        c = r.json()["data"]["contact_data"]
        w.writerow([row["linkedin_url"], c.get("has_email"),
                    c.get("email_status"), c.get("email_type")])
        time.sleep(0.25)

The sleep keeps you near 4 requests a second. Always read email_status before you send. Bounced emails are not refunded.

Step 3: Enrich from Claude Code over MCP (10 minutes)

Connect the hosted MCP server and ask in plain English. Claude Code supports HTTP MCP servers (Claude Code docs, September 2026). Sign-in is OAuth, so you paste no key.

bash
claude mcp add --transport http leadocean https://api.leadocean.io/mcp
claude mcp list

Then run /mcp inside Claude Code and sign in. Try this prompt. It sizes the audience first, which is free:

text
Use leadocean_count_leads to count C-Team people at US companies with 11-50
employees. Report the total and what the default email filter was.
Do not call search or get_lead.

There are 13 MCP tools. Counts, filter lists and enum lookups are free. Search, get_lead and find_phone spend records.

Step 4: Run it in n8n (15 minutes)

n8n's HTTP Request node can call the same endpoint (n8n docs, September 2026). Create a Header Auth credential with Name x-api-key and your key as Value. Then set the node to POST, URL https://api.leadocean.io/v1/people/enrich, body type JSON:

json
{
  "linkedin_url": "={{ $json.linkedin_url }}",
  "reveal_email": true
}

Feed it from a Google Sheets or Webhook node. Set the node's error handling to continue, so a 404 miss does not stop the run. For the full recipe, including the export route, see the n8n integration page.

Step 5: Export a list from the app (10 minutes)

The app is the no-code route. Open the Exports page at app.leadocean.io. Build the filters, pick the columns, read the record price before you start, then download the CSV. It is a filter builder, a column picker and a download button. It has no sequencer, dialer or CRM.

Bulk CSV export is not on Free. It is included on Solo at $97 a month. The same job from the API is one call, up to 50,000 rows a request:

bash
curl -X POST https://api.leadocean.io/v1/exports \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "US founders 11-50", "filters": {"jobLevel": ["C-Team"], "country": ["US"], "employeeRange": ["11-50"], "emailStatus": ["verified"]}, "limit": 500, "columns": ["profile_full_name", "current_company_name", "email_N_address", "email_N_status"]}'

What you get

Size the list before you spend anything. On 21 October 2026, leadocean_count_leads with jobLevel C-Team, country US and employeeRange 11-50 returned:

json
{
  "total": 732580,
  "totalIsExact": true,
  "totalAll": 2808968,
  "distinctCompanies": 339596
}

That is 732,580 people on the tool's default email filter: best address verified, catch_all_valid or catch_all. They span about 339,596 employers (an estimate). With no email condition, 2,808,968 match. The count cost 0 records.

An enrich call returns this shape (response shape from the API reference, placeholder values):

json
{
  "success": true,
  "data": {
    "profile_data": { "full_name": "Jane Doe" },
    "contact_data": {
      "has_email": true,
      "has_phone": true,
      "email_status": "verified",
      "email_type": "work",
      "contact_current_experiences": [ { "title": "Founder", "company": "Acme" } ]
    },
    "resume_data": {}
  },
  "meta": {}
}

Since October 2026, resume_data also carries past roles, education and certifications when held.

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-keyCheck $LEADOCEAN_API_KEY is set in this shell. Copy the key again from the app.
429Above the plan's rate limit (5 a second on Free, 200 on Agency)Honour Retry-After. Add a sleep, as in Step 2.
402Records spentFree is 1,000 for life. Move to Solo at $97 a month.
Empty resultsA filter value is not an exact enum stringLook it up with leadocean_list_enum_values. jobLevel is C-Team, not C-level.
404 on enrichWe hold nothing for that identifierNothing is charged. Try the email or a person_id from search.
Export refusedOver 50,000 rows a request or 500,000 a daySplit the job by country or headcount band.

FAQ

Which of the five should a small business start with?

Start with Step 5 if nobody codes. Start with Step 2 if someone does. Both give you a file you can open the same day.

How many records will I spend?

One per person returned or enriched. A search page of 25 is 25 records. Counts, misses and empty pages are free.

Do I need a paid plan?

Not to test. The free plan covers every step except bulk CSV export. Solo at $97 a month adds exports and a 50 requests a second pace. See pricing.

Is this a CRM or a sequencer?

No. LeadOcean is the data layer. You send the results to the tool you already use. For a wider comparison see best lead enrichment tools for small businesses and best B2B data providers for small businesses.

What is lead enrichment?

It adds fields such as email, phone and role to a record you already hold. The lead enrichment guide covers it in full.

Run your first enrichment in ten minutes

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

Get your free API key →