Claude Code for Sales Prospecting: Free Company Data in 5 Minutes

Nick Timms·Published ·Reviewed by Duda Timms
The short version

Claude Code can build prospect lists for you, but only if it can reach real company data. This guide connects AgentData’s free MCP server in one command, then walks four prompts that go from “who should I target” to a CSV with verified emails. Everything here is free with no card: 1,000 lookups a day, six tools, no credits. Setup takes about two minutes and the whole workflow runs in under five. Every command below is copy-paste runnable as of 20 September 2026.

Start free →No card. 1,000 lookups a day.

Why do this in Claude Code at all

You can build a prospect list in a web app. The reason to do it in Claude Code is that the list is rarely the end of the job. You want to filter it, cross-reference it against your CRM, drop the ones you have already contacted, score the rest, write the first line of an email for each, and put the result somewhere. That is five tools and a spreadsheet, or it is one terminal session where the model does each step and you correct it in plain English.

The part that is usually missing is data. Claude Code can reason about companies it knows, but it cannot tell you which companies added HubSpot last month, and it will guess if you let it. An MCP server fixes that: it gives the model a set of functions that return real records, so “find me 200 Shopify stores in the UK” becomes a query rather than a hallucination.

This guide uses AgentData’s MCP server because it is ours and it is free. Disclosure: AgentData is our product. The workflow works with any MCP data server; Apollo, Hunter, Lusha and ZoomInfo all ship one, and we compare them honestly in the MCP server roundup. What is specific to ours is the tech-stack filtering, which is what most of the prompts below depend on.


What you need

  • Claude Code installed. If you do not have it: npm install -g @anthropic-ai/claude-code
  • A free AgentData account. Sign up at agentdata.run, then copy your key from Settings. No card, 1,000 lookups a day.
  • That is it. No other tools, no paid tier, nothing to configure.

Step 1: Connect the MCP server

One command. Hosted, so there is nothing to install:

claude mcp add agentdata --transport http https://mcp.agentdata.run/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Prefer to run it locally instead:

claude mcp add agentdata -- npx agentdata-mcp-server --api-key YOUR_API_KEY

Confirm it is connected:

claude mcp list

You should see agentdata listed with seven tools: lookup_company, search_companies, find_people, get_person, get_technologies, get_signals and check_usage.

Start a session in whatever directory you want the output to land in:

claude

Step 2: Find companies by what they run

The first prompt. Plain English, no syntax to learn:

Prompt

Find Shopify stores in the United Kingdom with 10 to 50 employees. Show me the domain, company name, sector and size for the first 25.

Claude calls search_companies with tech: "shopify", country: "GB" and size: "small", and returns one row per company.

Fields returnedsearch_companies
domaincompany_namesectoremployee_rangecountrytechnologies[]last_seen

Ask for the columns you want and Claude formats the table; the underlying record carries all of these.

Two things worth knowing about that query.

The size parameter takes micro, small, medium or large, not a headcount range, so Claude maps “10 to 50 employees” onto small for you. If you want a specific band, say so and check what it picked.

The technology filter uses our slug, not the brand name as you would write it. Shopify is shopify, but some tools are stored under a more specific name — Intercom’s help centre is intercom-articles, for instance. If a query comes back thinner than you expect, ask Claude to check the slug first:

Prompt

Before you search, use get_technologies to show me the exact slug and company count for Shopify, Klaviyo and Webflow.


Step 3: Get the people

Now attach humans to the companies:

Prompt

For each of those domains, find the founder or head of marketing with a verified email. Only include people where has_email is true and email confidence is high.

That is find_people with domain, seniority or department, has_email: true and email_confidence: "high".

Fields returnedfind_people
full_nametitlesenioritydepartmentemailemail_confidenceverification_statusverified_atlinkedin_url

Every email we return carries a verification_status, a confidence score from 0 to 100 and a verified_at date, so you can tell Claude to drop anything stale:

Prompt

Drop anyone whose email was verified more than 90 days ago.


Step 4: Qualify with switch signals

This is the step that is hard to do anywhere else. We record when a company adds or drops a technology, so you can prospect on change rather than on state:

Prompt

Use get_signals to show me which of these companies added or removed a live chat or helpdesk tool in the last 90 days.

Fields returnedget_signals
domaintechnologychangedetected_atprevious_technology

change is added or removed. Signal volume varies a lot by category and cohort — live chat and helpdesk churn more than payments, and a tight geographic filter will thin it further.

Why it matters: a company that dropped a tool last month has an open problem and a budget line that just freed up. A company that added one has just signalled what it cares about. Both are better openers than “I noticed you use X”.


Step 5: Export it

Prompt

Write all of that to prospects.csv with columns: domain, company, sector, size, contact name, title, email, confidence, and any signal from the last 90 days.

Claude writes the file in your working directory. From there it goes into Instantly, Smartlead, Lemlist, HubSpot or wherever you send from — we do not send email, so this is the handoff point.

domain,company,sector,size,contact_name,title,email,email_confidence,signal_90d

The header Claude writes from that prompt, one row per contact beneath it.

Start free →No card. 1,000 lookups a day.

Make it repeatable with CLAUDE.md

Do this once and every future session in that directory starts with the rules already loaded. Drop this in CLAUDE.md:

# Prospecting rules

Data source: the `agentdata` MCP server. Never invent company data, emails or
technology detections. If a tool returns nothing, say so — do not fill the gap
from memory.

## Our ICP
- E-commerce and B2B SaaS, 10–200 employees
- UK, Ireland, Netherlands, Germany
- Must have a verified email at director level or above

## Defaults
- Always set has_email: true and email_confidence: "high" on find_people
- Check get_technologies for the exact slug before filtering by tech
- Exclude anything already in ./crm-export.csv (match on domain)
- Write output to ./prospects/YYYY-MM-DD.csv

## Never
- Never guess an email pattern; only use addresses the API returned
- Never include a person without a title

That “never invent” instruction matters more than it looks. Without it, a model that gets an empty result will sometimes fill the gap with a plausible-looking company. With the MCP server connected and that rule in place, it tells you the query returned nothing.


What the data actually covers

This is where most tool tutorials go quiet, so here are the real numbers as of 20 September 2026.

We detect technology on far more sites than we hold full profiles for. Shopify, for example, is detected on 183,003 sites, but 5,940 of those have a full profile with sector, size and contacts attached. Detection is cheap; enrichment is the expensive part, and it runs continuously.

What that means in practice:

If you filter by
Expect
A high-volume technology (Google Analytics, WordPress, Shopify, Cloudflare)
Large detection counts, a smaller enriched subset to actually prospect
A mid-volume B2B tool (HubSpot CMS Hub ~2,900, Webflow ~2,000, HubSpot Forms ~1,450)
Workable list sizes, most with profiles
A niche chat or support tool (Intercom Articles ~146, Drift ~171, Crisp ~134)
Thin. Useful for research, too small for a campaign

So: prospect on the mid-volume tools, research on the niche ones, and do not promise your boss 183,000 Shopify leads. If a company has not been profiled yet you can ask for it — we crawl on request — but the honest framing is that the enriched pool is the number that matters.

Counts read from agentdata.run/tech/directory and /tech/shopify on 20 September 2026. They move daily.


The seven tools, in full

Tool
What it does
Useful parameters
search_companies
Build a list
query, sector, vertical, size (micro/small/medium/large), b2b, model, tech, country, page
lookup_company
Everything we hold for one domain
domain
find_people
People at companies
domain, title, seniority (founder/executive/senior/mid/junior), department, has_email, email_confidence, sector, tech, limit
get_person
One person, with their email
id (from find_people)
get_technologies
The tech index, or companies using one tool
slug, or none for the index
get_signals
Technology changes and career moves
moved_from, moved_to, type, days
check_usage
Your remaining lookups
none

Rate limits: 5 requests a second, 1,000 lookups a day. A lookup returns everything we hold for that company, so one lookup can be forty emails.


What this can’t do

Worth saying plainly before you build a workflow on it.

No phone numbers. We return verified work emails and people, not mobiles or direct dials. If you call, you need a contact vendor alongside. Lusha and Apollo both do this well, and we compare them honestly in our Lusha alternatives guide and Apollo alternatives guide.

No sending. No sequences, no dialer, no inbox. The CSV is the handoff.

Coverage skews to sites with real content. A two-page brochure site gets a thin profile. Our classification comes from reading the site, so companies that say little about themselves are harder to classify.

Not every brand name is a slug. Covered above; run get_technologies first when a result looks thin.


Doing the same thing without Claude Code

Claude Desktop

Same server, added through Settings → Connectors, or the same claude mcp add if you have the CLI.

Cursor

Add the server to .cursor/mcp.json:

{
  "mcpServers": {
    "agentdata": {
      "transport": "http",
      "url": "https://mcp.agentdata.run/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

No MCP client at all

The REST API is the same data.

curl -H "Authorization: Bearer $KEY" \
  "https://agentdata.run/api/v1/companies?tech=shopify&country=GB&size=small"

Full endpoint list in the docs.


Related reading

Sources: agentdata.run/docs (endpoints, rate limits); agentdata-mcp-server README and source (tool names and parameters); agentdata.run/tech/directory and /tech/shopify (counts, read 20 September 2026); Claude Code documentation for claude mcp add.

Guides·Nick Timms·

Frequently asked questions

Start free. No credit card, no catch.

5M+ company profiles. 9M+ email addresses with verification status. 3,000+ technologies. Native MCP server. Free, with Pro at $99 a year.

From our portfolio

Drag

Shared inboxes and collaboration for teams inside Gmail. 200K+ users.

Replaces Hiver, Gmelius, Front

Try free →
HeyHelp

AI email assistant inside Gmail. Writes replies, summarises threads, manages your inbox.

Try free →
Oneway

All-in-one customer comms. Live chat, email, automations, changelogs with AI.

Replaces Intercom, Zendesk, Drift

Try free →
AgentData

5M+ company profiles. Email addresses. Tech stacks. Free.

Start free