Part of Solutions. LeadOcean holds 693M people and 63M companies. Every endpoint below works the same on the Free plan and on Pro.
The work you do
A GTM engineer builds the pipes that feed sales: lists in, clean records out, no one clicking through a UI. Three jobs come back every week.
- Build and refresh target lists. Turn an ICP into filters, size it, pull it, and re-pull it when the market moves.
- Enrich rows as they arrive. Inbound leads, CRM exports and table rows need a work email, a title and the account behind them.
- Wire data into agents and tables. A Claude or Clay step needs one tool call that returns structured people and companies, not a web page to parse.
If you are new to the role, read what a GTM engineer does. For the wider picture, see The GTM Engineer Report 2026.
How teams like yours use LeadOcean
1. Size an ICP before you spend anything
Counts are free. Send count=true as a query parameter on POST /v1/people/search with limit 1, or call the count_leads MCP tool. You get meta.total and no rows. It is capped at 100,000.
curl -s "https://api.leadocean.io/v1/people/search?count=true" \
-H "x-api-key: $LEADOCEAN_API_KEY" -H "content-type: application/json" \
-d '{"title": ["GTM Engineer"], "limit": 1}' | jq '.meta'On 30 September 2026 that count was 154 mailable people worldwide. Pulling all of them with search_leads costs 154 records. Check the number first, then decide.
2. Enrich every inbound row
POST /v1/people/enrich takes exactly one of linkedin_url, email, phone or person_id. Set reveal_email to true to get the address. A person we hold nothing for is a 404 and costs nothing.
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","reveal_email":true}'For the account side, POST /v1/companies/enrich takes a domain. Run both from n8n, Make or a Clay HTTP column at 100 requests per second per key.
3. Give your agent the data tools
The hosted MCP server at https://api.leadocean.io/mcp has 12 tools and signs in with OAuth, so no key is pasted into a config. get_company and search_leads return an account and its buying committee. find_phone returns a number on request.
Example prompt in Claude Code: "Research acme.com and list the VPs and directors in sales." The Account Researcher skill runs that in a fixed order for 14 records or fewer.
What it costs
There are two plans. Free is 1,000 records, one-off, no card, with the same API and MCP server as Pro. Pro is $499 a month, flat. See pricing.
A record is one person or company returned. Counts, filter lookups and a 404 on enrich are free. There is no per-record price, no credits and no overage invoice.
Worked example. You enrich 20,000 people and 4,000 companies in a month for your clients' tables. That is 24,000 records, and Pro is still $499. A very large month past the fair-usage line is paced to one request a minute until the reset, not cut off. For more headroom, email support.
Use the Free 1,000 to prove the workflow first. It is a pilot, not a monthly allowance.
What it does not do
LeadOcean is data, not a sales workspace. It has no sequencer, no dialer, no CRM and no Chrome extension. It has no table or workflow builder either.
The app at app.leadocean.io has an Exports page: a filter builder, a column picker, the record price before you start, and a CSV download. You bring the sending tool, the CRM and the orchestration.
Bounced emails are not refunded or credited back. Read email_status before you send. Revenue and funding fields are thin for small private companies.
Start here
- LeadOcean + Clay: enrich table rows with an HTTP API column.
- Build a lead list in Claude Code: count, search and spot-check over MCP.
- Account Researcher skill: a domain in, an account brief out.
Comparing vendors? See the best B2B data providers for GTM engineers.
FAQ
Do I need an API key or can I use MCP only?
Either. The REST API uses an x-api-key header. The MCP server uses OAuth sign-in, so no key is pasted. Both draw on the same record balance, and Free keys get search and enrich scopes.
Can I look up a person by name and company domain?
Not in one call. There is no name plus domain lookup. Search by domain first, then enrich by person_id. The search is where you pay a record per person returned.
How fresh is the data?
The dataset is refreshed monthly. Each record also carries its own fetched_at date, so you can filter stale rows in your pipeline.
What happens when the 1,000 free records run out?
The API answers 402 once the records are used up. Move to Pro at $499 a month for unlimited searches, enrichments and lookups, 5 API keys and the whole database.
Wire B2B data into your GTM stack with a free API key
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →