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

Role playbook

How to Sell to a Data Scientist (and Count the List by Region)

What a data scientist cares about, who else is in the room, how many are mailable by region, and four first lines to send.

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

You sell to a data scientist by being specific about their work and cheap to evaluate. They distrust claims and trust a result they can reproduce in an afternoon. A pitch that needs a call before they can test anything loses to one that lets them try it.

This guide covers what they care about, where they sit in the buying committee, how many you can reach by region, and first lines to send. Every step has a request you can run against the LeadOcean API.

TL;DR

  • A data scientist evaluates and recommends. They rarely own budget, so sell them a tool they can test alone, then give them what they need to win the internal case.
  • On 2026-10-21 LeadOcean showed 50,005 mailable data scientists in North America, 29,004 in EMEA, 18,576 in APAC and 3,630 in LATAM. Counts are free.
  • The recipe takes about 25 minutes and spends about 31 LeadOcean records: 5 for the account sample, 1 enrichment and 25 for the first send batch.

Prerequisites

  • A LeadOcean API key from app.leadocean.io. Free gives you 1,000 records for life, no card, 5 requests a second.
  • The key in your shell as $LEADOCEAN_API_KEY.
  • curl and jq.
  • A target company domain. The examples use acme.com.
bash
export LEADOCEAN_API_KEY="paste-your-key-here"

What a data scientist cares about

A data scientist cares about whether the thing works on their data, how much of their week it takes, and whether it will embarrass them in front of their team. Those three questions filter everything they read.

  • Correctness. They check claims. Give a number, a method and a way to rerun it. "Improves accuracy" gets deleted. "Matched {N} of {M} records on a test set you can rerun" gets read.
  • Time. They are already behind on a model or a dashboard. Anything that adds a pipeline to maintain needs a clear payoff.
  • Tooling fit. Python, SQL, notebooks, an API. A web form with no API is a nonstarter, and so is a sales call before a test.
  • Reputation. If they recommend a tool and it fails, the cost lands on them. They want a low-risk way to try it.

Write to those four. Skip adjectives. Name a dataset, a field or a method.

Where a data scientist sits in the buying committee

A data scientist is usually an evaluator and a champion, not the signer. The person who signs is a manager, a director or a head of data, and for larger spends it is also procurement and security.

RoleWhat they do in the dealWhat they need from you
Data scientistTests the tool, writes the recommendationA free test, docs, a result they can reproduce
Senior or lead data scientistShapes the shortlist, vetoes weak optionsTechnical depth and an honest limits list
Head or director of dataHolds budget, signsCost, risk, and who else uses it
Data or platform engineerOwns the integrationAn API, a schema, rate limits
Procurement and securityGate the contractTerms and a standard review pack

Your first message goes to the evaluator. Your second should give them something to forward to the budget holder. If you only ever email the data scientist, a good test dies without a sponsor. If you only email the director, nobody has tried the product.

This is a pattern, not a rule. In a small company one person is all five rows.

Step 1: Count data scientists by region for free

Count the people with a verified or catch-all address in each region before you spend a record. Send count=true and limit=1 as query parameters. Arrays go comma-separated.

bash
for region in NORAM EMEA APAC LATAM; do
  echo -n "$region: "
  curl -s -G https://api.leadocean.io/v1/people/search \
    -H "x-api-key: $LEADOCEAN_API_KEY" \
    --data-urlencode "title=Data Scientist" \
    --data-urlencode "salesRegion=$region" \
    --data-urlencode "emailStatus=verified,catch_all_valid,catch_all" \
    --data-urlencode "count=true" \
    --data-urlencode "limit=1" | jq -c '.meta | {total, totalIsExact}'
done

Title values are keywords, so "Senior Data Scientist" and "Lead Data Scientist" are included. We set no job level, so every level is counted. A count never costs a record, and meta.total in REST stops at 100,000.

Step 2: Count the budget holders at the same companies

Count the people one step above the evaluator, so you know whether the committee is reachable. Use the MCP tool leadocean_count_leads if you have it connected, or the same REST call with leadership titles.

bash
curl -s -G https://api.leadocean.io/v1/people/search \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  --data-urlencode "title=Head of Data Science,Director of Data Science,VP Data Science" \
  --data-urlencode "emailStatus=verified,catch_all_valid,catch_all" \
  --data-urlencode "count=true" \
  --data-urlencode "limit=1" | jq -c '.meta | {total, totalIsExact}'

The ratio matters. Leaders are far fewer than evaluators, so a campaign that reaches only leaders is small and one that reaches only data scientists has no sponsor. Plan both.

Step 3: Pull a small sample at one account

Search by company domain and title to see who actually sits at a target account. Each person returned costs 1 record, so keep limit at 5.

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"],
    "title": ["Data Scientist", "Head of Data Science"],
    "limit": 5
  }' | jq '.data[] | {person_id: .meta.source_ids.person_id, contact_data}'

Read the titles that come back. If you see one head of data and four data scientists, you have your committee: one sponsor and four evaluators.

Step 4: Read one profile for a first line

A first line that mentions their work beats a first line that mentions your product. Enrich one person by person_id to read their profile. Enrich takes exactly one of linkedin_url, email, phone or person_id.

bash
curl -s https://api.leadocean.io/v1/people/enrich \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"person_id": "PERSON_ID_FROM_STEP_3"}' \
  | jq '.data | {profile: .profile_data.profile_headline, current: .contact_data.contact_current_experiences, resume: .resume_data}'

This costs 1 record. A person we hold nothing for is a 404 and costs nothing. Since October 2026 enrich also returns career history in resume_data: past roles, education, certifications, awards and publications, each when held. Past employers carry no company_id yet.

Look for one concrete hook. A publication, a past role in a regulated industry, a skill like "causal inference" or a move from academia to a startup.

Step 5: Write the first line

Open with the one fact you found, then one sentence on why it matters to them, then a low-effort next step. Keep the whole email under 90 words.

HookFirst line (placeholders)
A publication"Jane, I read your paper on churn modelling at Acme. The part on label leakage is the problem our data check is built for."
A stack skill"Jane, your profile lists dbt and Snowflake. Our API returns flat JSON you can load without a connector."
A new role"Jane, congratulations on moving to Acme. Is there a clean company list for you to work from yet?"
Pain you can name"Jane, if your enrichment job fails on missing company domains, here is a 10-line check that counts the gaps first."

Then offer a test, not a meeting: "I can send a sample of 50 records matched to your schema. No call needed." That respects the Time and Reputation rows above.

Never claim a result you have not measured. If you have no result, offer to produce one on their data.

Step 6: Send in small batches and read the status

Send to verified, catch_all_valid or catch_all only. Start with 20 to 50 emails, watch bounces, then widen. This page of 25 spends 25 records.

bash
curl -s -G https://api.leadocean.io/v1/people/search \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  --data-urlencode "title=Data Scientist" \
  --data-urlencode "salesRegion=EMEA" \
  --data-urlencode "emailStatus=verified" \
  --data-urlencode "limit=25"

The search row carries the email status flags; the address itself comes from enrich with reveal_email set to true. LeadOcean gives no refund for bounced emails, so read email_status first. For the full address workflow, see how to find a data scientist's email.

What you get

Steps 1 and 2 are free. We ran them on 2026-10-21 with leadocean_count_leads, title Data Scientist, no level filter. The counts are mailable data scientists (verified, catch_all_valid or catch_all, the tool default), not every data scientist we hold.

RegionMailable data scientistsAll matching peopleEmployersExact
NORAM50,005112,56211,337Yes
EMEA29,00495,5219,827Yes
APAC18,57663,8314,742Yes
LATAM3,63012,3471,359Yes

The leadership count for Head, Director or VP of Data Science titles, worldwide and mailable, was 3,403 across 2,417 employers, out of 7,258 matches with any email status. Roughly 1 mailable data science leader exists for every 30 mailable data scientists in the four regions combined (3,403 against 101,215).

Mailable data scientists are about a third of all matches. North America holds almost half of the mailable audience, so a campaign that ignores APAC and LATAM still reaches most of the market.

A sample search row comes back in the shape below. This is the response shape from the API reference, with placeholder values. Rows carry no addresses; enrich by person_id for those.

json
{
  "success": true,
  "data": [
    {
      "profile_data": { "profile_full_name": "Jane Doe", "profile_headline": "Data Scientist at Acme" },
      "contact_data": { "has_email": true, "email_status": "verified" },
      "meta": { "source_ids": { "person_id": "1234567890", "person_group_id": "1234567890" } }
    }
  ],
  "meta": { "count": 1, "nextCursor": "..." }
}

Troubleshooting

ErrorCauseFix
401The x-api-key header is missing, or the key is wrong or revoked.Copy a fresh key from the app and reload $LEADOCEAN_API_KEY.
402Your records are spent. On Free the 1,000 are a one-off allowance.Check GET /v1/account, or move to Solo ($97 a month) or Agency ($497 a month).
429More requests a second than your plan allows on one key (5 on Free, 200 on Agency).Wait the Retry-After seconds and retry.
Empty resultsA filter value is not an exact enum string, such as Region: Europe for salesRegion.Call leadocean_list_enum_values for sales_region and pass NORAM, EMEA, APAC or LATAM.
404 on enrichWe hold nothing for that person.Nothing was charged. Try another person_id.
Export refusedOne export is capped at 50,000 rows a request and 500,000 rows a day.Split the job across requests and days, or narrow the filters.

FAQ

Who actually signs the contract when you sell to a data scientist?

Usually a head of data, a director or a manager, with procurement and security behind them. The data scientist tests and recommends. Plan one message for the evaluator and a second they can forward.

Should I sell to the data scientist or their manager first?

Start with the evaluator when the product can be tested without a purchase, as an API or a free plan can. Start with the manager when you need budget before anyone can try it. Say which one your motion is before you build the list.

How many data scientists can I reach on the free plan?

You have 1,000 records, one-off. A sample of one person costs 1 record from search and 1 from enrich, so roughly 500 people. Counts are free and do not use the allowance.

Can I pull a whole region at once?

On a paid plan, yes. The Exports page in the app takes the same filters, shows the record price before you start, and gives you a CSV. POST /v1/exports does the same by API, up to 50,000 rows a request. Bulk CSV export is not on Free.

For the same recipe on other roles, see how to sell to a VP of Sales. To compare data sources, read best B2B databases and best B2B data providers in the UK. Plans are on pricing. More recipes live in the blog hub.

Count your data scientist list free, then pull the verified ones

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

Get your free API key →