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

How-to guide

How to Research an Account Before a Call (in ChatGPT)

Add one MCP URL to ChatGPT, then pull the company, the buying group and one contact into a one-page call brief.

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

TL;DR

  • ChatGPT reaches LeadOcean through one MCP URL, added as a plugin. You size the buying group for free, then pull the company, five people and one contact.
  • It takes about 15 minutes the first time and about 5 after that. One account spends about 7 of your 1,000 free records.
  • LeadOcean supplies the facts: company profile, technologies and contacts. It carries no news, so add any recent news yourself.

Prerequisites

  • A LeadOcean account from app.leadocean.io. The free plan has no card and 1,000 records, one-off.
  • ChatGPT on the web. On a workspace plan, your admin may need to allow custom MCP servers. Details are on Connect LeadOcean to ChatGPT.
  • Optional, for the REST step: an API key exported as $LEADOCEAN_API_KEY, plus curl and jq.
bash
export LEADOCEAN_API_KEY="paste-your-key-here"

The examples use acme.com as a placeholder. Swap in the domain of the account you are calling.

Step 1: Connect LeadOcean to ChatGPT

Add the server URL as a plugin with OAuth. No key is pasted into the chat.

text
chatgpt.com/plugins > + > Add custom MCP server
Connection: https://api.leadocean.io/mcp
Auth: OAuth
I understand and want to continue > Create as a plugin > install

Connect the plugin, sign in to LeadOcean and approve. The full walkthrough is on Connect LeadOcean to ChatGPT. The server exposes 13 tools, and seven of them never spend records: the two counts, filter list, enum list, account, get export and list exports.

Step 2: Size the buying group for free

Start with a count, so you know how many people you could find before you spend anything. Type @ in the prompt box, select the LeadOcean plugin and send this.

text
Use the LeadOcean plugin only. Call leadocean_count_leads with domain ["acme.com"]
and jobLevel ["C-Team", "VP", "Director"]. Report the total and say which email
statuses it counted. Do not pull anyone.

ChatGPT may ask you to confirm the tool call. Open the JSON payload, check the filters, then approve. A count costs 0 records.

The answer also carries totalAll: the same filters with no email condition. The gap between the two tells you how many senior people we hold without a sendable address, so you know how many you would reach by LinkedIn instead.

If the total is 0, the domain may be wrong or the company may sit under another domain. Fix that before you go further.

Step 3: Pull the company profile

One record buys the company facts you want on screen during the call: size, industry, location and detected technologies. Ask for them in a fixed shape so the output is easy to scan.

text
Call leadocean_get_company for acme.com. Return five lines: what the company
does, headcount, industry, headquarters, and the technologies detected on its
site. Say "not on file" for anything missing. Do not guess.

The tool takes a domain or a LinkedIn URL. A company we hold nothing for costs nothing, so a miss is free to retry with a corrected domain.

Step 4: Find the people in the room

Five rows are enough for a first call. Ask for the seniority and function you expect to sit in the meeting, then note who looks like the buyer and who looks like the user.

text
Call leadocean_search_leads with domain ["acme.com"], jobLevel ["C-Team", "VP",
"Director"], jobFunction ["Sales & Business Development"] and limit 5. Show a
table of job title, seniority and email_status. Mark the most likely buyer.

Each person returned counts one record, so this spends 5. Change jobFunction to match your product. For a data tool the buyer may sit in Operations or Information Technology.

The same search over REST is one request. The body is flat JSON and the filters are arrays.

bash
curl -s https://api.leadocean.io/v1/people/search \
  -H "x-api-key: $LEADOCEAN_API_KEY" -H "content-type: application/json" \
  -d '{
    "domain": ["acme.com"],
    "jobLevel": ["C-Team", "VP", "Director"],
    "jobFunction": ["Sales & Business Development"],
    "limit": 5
  }' | jq '.meta'

Step 5: Enrich the one person you will talk to

Pick the contact on your calendar invite and enrich only that person. Every row from Step 4 carries a person_id that the enrich call accepts.

text
Call leadocean_get_lead for the person I marked as the buyer, using their
person_id. Summarise their current role, how long they have been in the job, and their
past roles and education. Skip anything that is not on file.

That is 1 record. Since October 2026 the person record includes career history: past roles with title, company name and dates, plus education and certifications when we hold them. Past employers carry no company ID yet, so ask ChatGPT to name them rather than look them up. A shared past employer or school makes a better opener than a line about the weather.

A lookup that finds nobody costs nothing, and phone numbers are a separate leadocean_find_phone call at 1 more record, so skip it unless you plan to dial.

Step 6: Write the one-page brief

Now ask ChatGPT to turn what it holds into a call sheet. This step spends nothing, because it only rewrites results already in the chat.

text
Using only the results above, write a one-page call brief for Acme: the company
in two sentences, who is in the buying group, three questions to ask, and one
risk. Mark anything inferred rather than returned by LeadOcean.

The last line matters. It makes the model separate returned data from its own guesses, so you can trust the first half of the page.

What you get

The count in Step 2 is a real result. We ran the same filters through the free leadocean_count_leads tool on 2026-10-21 (trimmed).

json
{
  "total": 13,
  "totalIsExact": true,
  "totalAll": 276,
  "credits": 0,
  "defaults": "Counted only addresses worth sending to (emailStatus: verified or catch_all_valid or catch_all)",
  "unsupportedFilters": []
}

That is 13 mailable people at the C-Team, VP and Director levels. totalAll shows 276 at those levels with any email status or none. Your number will differ as the data changes.

The people search returns rows with a cursor. This is the response shape from the API reference, with placeholder values.

json
{
  "success": true,
  "data": [
    {
      "profile_data": { "...": "Jane Doe, job title, company" },
      "contact_data": { "has_email": true, "email_status": "verified" },
      "meta": { "source_ids": { "person_id": "<person id>" } }
    }
  ],
  "meta": { "total": "<match count, capped at 100,000>", "nextCursor": "<cursor or null>" }
}

A run on the whole flow costs 7 records: 1 for the company, 5 for the search and 1 for the contact.

Troubleshooting

ErrorCauseFix
401Missing, wrong or revoked API key on a REST callRe-copy the key from app.leadocean.io and export $LEADOCEAN_API_KEY again.
429Above your plan's rate limit (5 requests a second on Free, 200 on Agency), or a fair-use window reached on a paid planWait the Retry-After seconds, then retry. Ask for pages of 100 rather than more calls.
402The 1,000 free records are spentCheck leadocean_get_account or GET /v1/account, or move to Solo ($97 a month).
Count of 0, or 400 on a filterA value outside the catalogue, such as jobLevel: "Executive"Have ChatGPT call leadocean_list_enum_values and pass the exact string.
404 on a companyWe hold nothing for that domain or LinkedIn URLTry the company's LinkedIn URL. A 404 costs nothing.
400 export_limit_rowsYou exported the whole account above 50,000 rowsNarrow the filters and run several exports.

FAQ

How many records does one account cost?

About 7: 1 for the company, 5 for the people and 1 for the contact. Counting is free. Skip the contact enrich and it is 6.

Does LeadOcean tell me what the company announced last week?

No. It returns company, technology and contact data, refreshed monthly. Add news from a source you trust and paste it into the chat before Step 6.

What happens after the free 1,000 records?

Free answers 402 once they are spent, and they do not reset. Paid plans have no credits: Solo is $97 a month for one person and Agency is $497 a month for teams. Each has a fair-use pace, and reaching it slows the key until the window resets. Nothing stops. See pricing.

Do I need an API key for ChatGPT?

No. The MCP server uses OAuth sign-in. The REST step uses an x-api-key header, and both draw on the same record balance.

Can I do this in another editor?

Yes. The same MCP URL works elsewhere. See research an account in Cursor, in VS Code and in Windsurf. Plans are on pricing.

More recipes live in the blog hub.

Research your next account in ChatGPT, free

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

Get your free API key →