Use Hunter when an agent needs a real, verified business email rather than a guess, and you want that inside Claude, ChatGPT, Gemini or Cursor with one connector. It is a contact-data skill, not a scraper or a full enrichment table builder. The vendor's claim of 7 million users and its published agent setup files make it the low-risk default for prospecting agents.
Hunter is an email-finding and verification service that agents reach through a hosted Model Context Protocol server at mcp.hunter.io, included on all plans, or through its REST API at api.hunter.io/v2. The tools cover Domain Search, Email Finder, Email Verifier, Discover (company search), person and company enrichment, and leads, with every address returned alongside a verification status and confidence score.
Maker: Hunter · Protocol: MCP · Auth: api key
Compatible agents: Claude Code (plugin: hunter-io/claude-plugin), Claude Desktop and claude.ai (OAuth connector), ChatGPT app, Gemini app, Gemini CLI, AI Studio, Vertex, Cursor and Grok Bot (plugin marketplace), VS Code Copilot, Windsurf, Codex, Any MCP client via mcp-remote
Required runtime: Any MCP client (Claude Code plugin, Claude Desktop, ChatGPT, Gemini, Cursor, VS Code, Windsurf, Codex), Node 18 or newer only for the mcp-remote bridge, Any HTTP client for the REST API; a Google Sheets add-on and a Chrome extension exist for non-agent use
About Hunter
Hunter is the email-finding service that sales teams have used for years through its web app, browser extension and Google Sheets add-on; this record covers the part that agents plug into. Since the launch of the hosted Hunter MCP server, any assistant that speaks the Model Context Protocol can search a company domain for people and addresses, find one person's email from a name and company, verify deliverability with a confidence score, discover companies by industry, size and location, enrich a contact or an account, and save the results as leads, all without leaving the chat. The vendor's pitch is grounding: when Hunter cannot verify a contact the tool says so rather than letting the model invent an address, and the MCP page cites data on more than 100 million companies.
The server lives at mcp.hunter.io over Streamable HTTP and is included in every plan, the free one too. Claude Code installs it as a plugin that bundles skills and the server and authorises by OAuth on first use; Claude Desktop, the ChatGPT app and the Gemini app connect the same way with no key in any file. Cursor, VS Code, Windsurf, Codex and any other client send an API key in an X-API-Key header, and clients that only run local servers bridge through mcp-remote. Underneath sits the REST API at api.hunter.io/v2, where every capability is a GET or POST with the key in the same header (a query-string key is accepted but discouraged). A published test key exercises the REST plumbing without an account; it is refused by the MCP endpoint.
Typical agent flows: research an account before a call by resolving the company's domain, pulling its contacts and ranking them by seniority and department; qualify an inbound lead by verifying the address and listing colleagues; enrich a CSV of names with verified addresses; or build a segment with Discover's natural-language query and headcount, industry and location filters, which costs no credits. The lead endpoints then push results into lists and, with a connected mailbox, into outreach sequences. On HokAI the closest neighbours are Orthogonal Find Leads, a pay-per-call lead finder on the Orthogonal gateway, Riveter, which enriches whole tables with sourced cells, and Pipedrive MCP Server for the CRM side of the same workflow; the Google Sheets skill is where many teams keep the lists Hunter fills.
Billing is credit-based: a search costs one credit and a verification half a credit, and a repeated lookup of the same address or domain is counted once per calendar month. Plans differ in monthly credits, connected email accounts for sequences, and saved-lead capacity; yearly billing takes roughly thirty percent off and grants the whole year's credits up front. An API-only Data Platform sells search and verification credits in packs that stay valid for twelve months, priced separately from the outreach plans.
Hunter publishes an agents.md and per-client setup files (claude.md, gemini.md) and keeps a prompt library for the MCP, which suggests the agent channel is now a first-class product rather than an add-on. If you are weighing an email finder against an enrichment platform or a lead database for your stack, Smart Match asks the questions that decide it.
Key Features
- Hosted MCP on every plan: mcp.hunter.io works with Claude, ChatGPT, Gemini, Cursor and any MCP client, by OAuth or an X-API-Key header, at no extra cost.
- Verified, not guessed: Every address returns a status and a confidence score, and the tools report when no verified contact exists instead of inventing one.
- Domain Search with buyer filters: Seniority, department, decision-maker, job-title, location and verification-status filters narrow a company to the people worth contacting.
- Discover at no credit cost: Natural-language company search with industry, headcount, headquarters, technology, funding and hiring filters.
- Enrichment in Clearbit shape: Person, company and combined enrichment can return the Clearbit-compatible schema for drop-in replacement.
- Leads to sequences: Agents can save contacts to named lists and, with a connected mailbox, hand them to outreach sequences and a CRM push.
- Published agent setup files: agents.md, claude.md and gemini.md give assistants exact per-client instructions and a test key for a dry run.
Use Cases
- Pre-call account research: Resolve the company's domain, run Domain Search filtered to executive seniority and the relevant department, and hand the agent names, titles and verified addresses in one turn.
- Inbound lead qualification: Verify the sender's address, enrich the person and company from the email, and list colleagues in the buying department before the first reply.
- CSV enrichment: For each row of first name, last name and company, call Email Finder with max_duration raised for accuracy, then Email Verifier, and return the original columns plus address, status and score.
- Segment building with Discover: Query companies by industry, headcount and headquarters location at no credit cost, then spend credits only on the contacts worth reaching, saving them to a named leads list.
Install
claude plugin marketplace add hunter-io/claude-plugin && claude plugin install hunter@hunter
Requirements
- A Hunter account; the free plan is enough to run every tool and the MCP server is included on all plans
- For header clients: an API key from hunter.io/api-keys placed in the client's user-level MCP config as X-API-Key, never in a committed project file
- For OAuth clients (Claude Code plugin, Claude Desktop, ChatGPT, Gemini): sign in when the first tool call prompts; tools appear after a restart in Claude Code
- A connected mailbox only if the agent should start outreach sequences
Actions
Domain Search
Lists the people and email addresses Hunter has for a company domain, with filters for seniority, department, decision makers, location, job titles and verification status.
curl -H "X-API-Key: $HUNTER_API_KEY" \
"https://api.hunter.io/v2/domain-search?domain=stripe.com&department=executive,finance&seniority=executive&limit=25"domain(string): Company domain, e.g. stripe.com; required unless company is given and preferred over it.company(string): Company name when the domain is unknown.limit(number): Maximum addresses to return.offset(number): Addresses to skip for paging.type(string): personal or generic.seniority(string): junior, senior or executive, comma-separated.department(string): One or more of executive, it, finance, management, sales, legal, support, hr, marketing, communication, education, design, health, operations, product, research, consulting, administrative, procurement.decision_maker(boolean): Only buying-authority contacts (true) or only the rest (false).required_field(string): full_name, position and/or phone_number must be present.verification_status(string): valid, accept_all and/or unknown.location(object): include and exclude lists of continent, business_region, country, state or city (POST only).job_titles(string): Comma-separated job titles to match.aggregations(boolean): Add a per-department and per-seniority breakdown in meta.aggregations.
Email Finder
Returns the most likely email address for a named person at a company, with a confidence score and the sources it was seen on.
import os, requests
r = requests.get(
"https://api.hunter.io/v2/email-finder",
params={"domain": "reddit.com", "first_name": "Alexis", "last_name": "Ohanian", "max_duration": 15},
headers={"X-API-Key": os.environ["HUNTER_API_KEY"]},
timeout=30,
)
print(r.json()["data"]["email"], r.json()["data"]["score"])domain(string): Company domain; required unless company or linkedin_handle is given.company(string): Employer name if the domain is unknown.linkedin_handle(string): LinkedIn profile handle as an alternative to name plus company.first_name(string): Given name; required with last_name unless full_name or linkedin_handle is used.last_name(string): Family name.full_name(string): Full name when first and last are not separable.max_duration(number): Seconds Hunter may spend refining the result; longer is more accurate.
Email Verifier
Checks whether an email address is deliverable and returns a status, a score and the checks behind them.
curl "https://api.hunter.io/v2/email-verifier?email=patrick@stripe.com" -H "X-API-Key: $HUNTER_API_KEY" | jq .data.statusemail(string) — required: The address to verify.
Email Count
Returns how many addresses Hunter holds for a domain or company, free of charge, split by type, department and seniority.
const key = process.env.HUNTER_API_KEY;
const res = await fetch("https://api.hunter.io/v2/email-count?domain=stripe.com", { headers: { "X-API-Key": key } });
const { data } = await res.json();
console.log(data.total, data.personal_emails, data.generic_emails);domain(string): Domain to count; required unless company is given.company(string): Company name when you lack the domain.type(string): Count only personal or generic addresses.
Domains Suggestion
Suggests the web domains that match a company name, for resolving a name before a Domain Search.
import os, requests
KEY = os.getenv("HUNTER_API_KEY")
hits = requests.get("https://api.hunter.io/v2/domains-suggestion", params={"query": "grab", "limit": 5}, headers={"X-API-Key": KEY}).json()["data"]query(string) — required: Company name, 3 to 100 characters.limit(number): Suggestions to return, 1 to 10.
Discover Companies
Finds companies from a natural-language query and structured filters (industry, headcount, headquarters, type, keywords, hiring); costs no credits.
curl -X POST "https://api.hunter.io/v2/discover" -H "Content-Type: application/json" -H "X-API-Key: $HUNTER_KEY" \
-d '{
"query": "fintech companies in Singapore",
"headcount": ["51-200", "201-500"],
"headquarters_location": {"include": [{"country": "SG"}]},
"job_openings": {"hiring": true}
}'query(string): Natural-language description; required unless a filter is set.organization(object): Lists of domain and/or name to select on.similar_to(object): A domain or name to find look-alike companies for.headquarters_location(object): include and exclude location lists.industry(object): Industries to include and exclude (vendor's industries.json).headcount(array): Size bands such as 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.company_type(object): educational, government, nonprofit, partnership, private, public and so on, include and exclude.year_founded(object): Years or a range (Premium plans).keywords(object): Keyword include and exclude lists.technology(object): Technologies in use, include and exclude (Premium plans).funding(object): Funding series such as pre_seed, seed, series_a (Premium plans).job_openings(object): hiring true plus optional role filters.limit(number): Companies per page, up to 100 (changeable on Premium).offset(number): Companies to skip, up to 10,000 (Premium).
Discover People
Finds people at the companies a Discover query matches, accepting every Discover filter.
const people = await fetch("https://api.hunter.io/v2/discover/people?query=payments+companies+in+France&industry[include][]=Financial+Services", {
headers: { "X-API-Key": process.env.HUNTER_API_KEY },
}).then((r) => r.json());query(string): Plain-language description of the companies; a filter may replace it.filters(object): Any Discover filter (industry, headcount, headquarters_location, technology, funding and the rest).limit(number): Page size, max 100; adjustable on Premium.offset(number): Rows to skip, max 10,000; Premium only.
Email Enrichment
Returns what Hunter knows about a person from an email address or LinkedIn handle: name, position, company, location and social profiles.
curl --header 'X-API-Key: YOUR_HUNTER_API_KEY' 'https://api.hunter.io/v2/people/find?email=matt@hunter.io'email(string): The address to enrich; required unless linkedin_handle is given.linkedin_handle(string): LinkedIn handle alternative.clearbit_format(boolean): Clearbit-compatible output shape.
Company Enrichment
Returns a company profile for a domain: name, description, industry, size, location, technologies and social handles.
http GET https://api.hunter.io/v2/companies/find domain==hunter.io X-API-Key:$HUNTER_API_KEYdomain(string) — required: The company domain.clearbit_format(boolean): Emit the Clearbit schema instead of Hunter's.
Combined Enrichment
Returns the person and their company in one call from an email address.
import os, requests
auth = {"X-API-Key": os.environ.get("HUNTER_API_KEY")}
res = requests.get("https://api.hunter.io/v2/combined/find", params={"email": "matt@hunter.io"}, headers=auth)
person, company = res.json()["data"]["person"], res.json()["data"]["company"]email(string) — required: The address to enrich.clearbit_format(boolean): Return the Clearbit-compatible schema.
Create Lead
Saves a contact into a Hunter leads list, with company, position, score, country, LinkedIn, phone, notes and custom attributes.
curl -X POST "https://api.hunter.io/v2/leads" --header "X-API-Key: $HUNTER_API_KEY" --header "Content-Type: application/json" \
-d '{"email": "jane@example.com", "first_name": "Jane", "last_name": "Tan", "position": "Head of Growth", "company": "Example", "website": "example.com", "country_code": "SG", "leads_list_name": "Fintech SG Q4", "source": "agent research"}'email(string) — required: The lead's address.first_name(string): Given name.last_name(string): Family name.position(string): Job title.company(string): Employer name.company_industry(string): Sector, ideally from Hunter's recommended list.company_size(string): Employer size band.confidence_score(number): 0 to 100, usually the finder's score.website(string): Employer domain.country_code(string): ISO 3166-1 alpha-2.department(string): Department.linkedin_url(string): Public LinkedIn profile.phone_number(string): Phone.twitter(string): Twitter handle.notes(string): Free-text notes.source(string): Where the lead came from.leads_list_id(number): Target list; the last created list is used when omitted.leads_list_ids(array): Several target lists.leads_list_name(string): Target list by name, created if missing (255 characters max).custom_attributes[slug](string): Values for your team's custom attributes; an unknown slug returns 422.
Account
Returns the account behind the key: plan, credits used and remaining, reset date and team.
curl -s https://api.hunter.io/v2/account --header "X-API-Key: $HUNTER_API_KEY" | jq .data.requests
How to Invoke
Hosted MCP server at https://mcp.hunter.io/mcp (Streamable HTTP; OAuth in Claude Code, Claude Desktop, ChatGPT and Gemini, X-API-Key header elsewhere, mcp-remote bridge for stdio-only clients) exposing Email Finder, Email Verifier, Domain Search, Discover, enrichment and lead tools; or REST at https://api.hunter.io/v2 with the key in an X-API-Key header.
Pricing
Outreach platform plans, monthly, with about 30% off paid yearly (hunter.io/pricing, read 11 October 2026). Free: $0, 50 credits a month, 1 connected email account, 100,000 saved leads. Starter: $49 a month ($34 a month billed yearly), 2,000 credits a month, 3 email accounts. Growth: $149 ($104 yearly), 10,000 credits a month, 10 email accounts. Scale: $299 ($209 yearly), 25,000 credits a month, 20 email accounts. Enterprise: custom. A search costs 1 credit and a verification 0.5; credits reset monthly and do not roll over; a repeated lookup of the same target is counted once per calendar month; Discover is free. API-only Data Platform packs: 1,000 search credits $50, 1,000 verification credits $11, valid 12 months. The MCP server is included on every plan.
Strengths
- The free plan runs every tool and the MCP server, so an agent integration can be proven before any spend.
- Repeated lookups of the same address in a calendar month are not charged again, which suits agents that re-check.
- OAuth paths for Claude, ChatGPT and Gemini keep the API key out of config files entirely.
Weaknesses
- Per-minute rate limits are not published on the API pages read; agents learn them from 429 responses.
- Changing Discover's page size or offset, and the technology, funding and founding-year filters, are reserved for Premium plans.
- Monthly credits expire without rolling over, so bursty prospecting fits the yearly or Data Platform options better.
Frequently Asked Questions
What do Hunter credits cost and what does the free plan allow?
Free gives 50 credits a month, one connected mailbox and the MCP server. Starter is $49 a month for 2,000 credits, Growth $149 for 10,000 and Scale $299 for 25,000, each about 30% cheaper billed yearly. Searches cost 1 credit each and verifications 0.5, Discover is free, and the API-only Data Platform sells 1,000 search credits for $50 and 1,000 verification credits for $11, valid 12 months.
How does an agent connect to Hunter without pasting keys into files?
In Claude Code, add the hunter-io marketplace and install the hunter plugin; it authorises by OAuth on the first tool call and the tools appear after a restart. The Claude Desktop, ChatGPT and Gemini apps connect the same way as a custom connector pointing at mcp.hunter.io. Cursor, VS Code, Windsurf and Codex send the key in an X-API-Key header from a user-level config, and a published test key lets you smoke-test the REST side before you have an account.
Which assistants and clients does Hunter support?
The vendor names Claude, ChatGPT, Gemini (app, CLI, AI Studio, Vertex), Cursor and its Grok Bot, VS Code Copilot, Windsurf and Codex, plus any MCP client through the mcp-remote bridge. Anything else can call the REST API directly, and the Google Sheets add-on and Chrome extension cover the non-agent routes.
When would a different lead or enrichment skill fit better?
If you only need an occasional lead pull and already run on the Orthogonal gateway, its Find Leads skill bills per call without a plan. If the job is filling many columns about companies or people with sources, Riveter's enrichment runs do that. For moving the results into a CRM, the Pipedrive MCP server is the complementary piece rather than an alternative.
Hunter or Orthogonal Find Leads for an agent that prospects?
They overlap on finding contacts but differ in depth and billing. Orthogonal Find Leads is a gateway tool paid per call from an Orthogonal balance, handy when prospecting is a small part of a larger agent. Hunter is the data owner: it adds verification scores, Discover for company segments, enrichment, leads lists and sequences, and it runs on a plan whose credits the whole team shares. Agents that prospect daily end up on Hunter; agents that prospect occasionally stay on the gateway.
Top Alternatives
- Orthogonal Find Leads: Pick Orthogonal Find Leads for occasional pay-per-call lead pulls inside that gateway; pick Hunter when you want verification scores, Discover and leads lists on a plan you already hold.
- Riveter: Pick Riveter to enrich whole tables with sourced cells across any attribute; pick Hunter when the attribute you need is a verified email address.