Use case

Data for an AI SDR

Give your agent people, work emails and phones from one API or MCP server. Size the list free, pay 1 record per person.

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

The job in one paragraph

An AI SDR is only as good as the contacts it reads. It needs a list that matches your ICP, a work email it can trust, and a record fresh enough that the first line is not wrong. LeadOcean supplies the data, over REST or a hosted MCP server. It is not the SDR: it has no sequencer, no inbox and no dialer. Your agent, or the sending tool you already use, does the writing and the sending.

The workflow

  1. Check the account. GET /v1/account (MCP: leadocean_get_account). Free. Your agent should read the balance before it loops.
  2. Resolve the filters. GET /v1/enums (MCP: leadocean_list_enum_values). Free. Filter values are exact strings, so let the agent look them up instead of guessing.
  3. Size the audience. POST /v1/people/search?count=true with "limit": 1, or leadocean_count_leads. Free. meta.total is capped at 100,000.
  4. Pull the list. POST /v1/people/search (MCP: leadocean_search_leads). 1 record per person returned, up to 100 per page. Page with cursor.
  5. Fill the gaps. POST /v1/people/enrich (MCP: leadocean_get_lead) with exactly one of email, linkedin_url, phone or person_id. Set reveal_email to true for the address. 1 record per hit. A 404 costs nothing.
  6. Add a phone for call tasks. GET /v2/people/phone (MCP: leadocean_find_phone). 1 record per call, including a call that finds nothing.
  7. Gate on email status. Read email_status before the agent drafts. Send to verified first. Hold catch_all for a second pass.
  8. Add company context. POST /v1/companies/enrich (MCP: leadocean_get_company) with domain. 1 record per company. Dedupe domains first.

For bulk lists, POST /v1/exports (MCP: leadocean_export_leads) takes up to 50,000 rows per request at 1 record per row. The Exports page in the app does the same with a filter builder and a price preview.

bash
curl -X POST "https://api.leadocean.io/v1/people/search" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "content-type: application/json" \
  -d '{"jobLevel":["VP"],"jobFunction":["Sales & Business Development"],"country":["US"],"employeeRange":["201-500"],"limit":25}'

A worked example

Say your ICP is VPs of Sales at US companies with 201-500 employees. We ran leadocean_count_leads on 1 October 2026 with jobLevel VP, jobFunction Sales & Business Development, country US and employeeRange 201-500.

With the default email filter (verified, catch_all_valid and catch_all), it returned 11,207 people. With emailStatus set to verified only, it returned 3,138. Both counts cost 0 records.

Now pick a pilot of 1,000 people from the verified set. Pulling them is 1,000 records. That fits inside the Free plan, which gives 1,000 records once, with no card.

If the agent then looks up phones for 300 of them, that is 300 more records. The Pro plan at $499 a month has no per-record price, inside fair use. See pricing.

Tools that fit

For the term and the buyer checklist, read what is an AI SDR and the 2026 AI SDR data needs report. To compare databases, see the best B2B databases.

Pitfalls

  • Stale data. The dataset is refreshed monthly, and each record carries its own fetched_at date. Check it before an agent writes a line about a job change.
  • Catch-all emails. catch_all addresses accept any mail, so a send can still bounce. There is no refund for bounces. Send to verified first.
  • Rate limits. The limit is 100 requests per second per key, on every plan. A 429 is never metered. Make the agent back off and retry.
  • Enum strings. jobLevel is C-Team, VP or Director. Seniority is lowercase, such as c_suite. An agent that invents a value gets an empty list.

FAQ

What data does an AI SDR need?

A matched person, a work email with a status, the title and company, and optionally a phone. LeadOcean returns these fields. Your agent adds the message and the send.

Does LeadOcean send the emails?

No. LeadOcean returns data. Your agent or sending tool writes and sends, and you read email_status first.

Can the agent call LeadOcean without an API key?

Yes, over MCP. The hosted server at https://api.leadocean.io/mcp uses OAuth sign-in. The REST API uses the x-api-key header.

How do I keep an agent from overspending?

Have it call leadocean_count_leads first, which is free, and leadocean_get_account before each loop. On Free the cap is the 1,000 one-off records.

Feed your AI SDR real contacts, free

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

Get your free API key →