API review

Hunter API review

Open-web email finder, domain search and verifier with free company Discover, person/company enrichment, built-in cold-email sequences, a large REST API and an official hosted MCP (100+ tools). Best for domain search: every published email at a company with sources and confidence.

Verified 25 Oct 2026 · 23 endpoints listed · Official MCP server

What a call costs

The actions you pay for, as Hunter prices them in credits.

ActionCostPer
Search (Domain Search / Email Finder)1 creditper email found
Bulk Domain Search1 creditper up to 10 emails found
Email Verifier0.5 creditper verified email (unknown free)
Enrichment (person / company)0.2 creditper call
Multi-domain reveal1 credit per personal email; 1 credit per domain for genericsper revealed row
Discover, Email Count, Lookalikes, Domain Finder, account/usageFreeper call
Data Platform search credit$0.05 to $0.0056per search credit by volume tier
Data Platform verification credit$0.011 to $0.0022per verification credit by volume tier
Show all 11 priced actionsHide the rest
ActionCostPer
Additional connected email account (add-on)From $10/mo (monthly and yearly; paid plans only)per email account
Buy custom domains & email accounts (add-on)From $6.00/mo (paid plans only)per email account
Inbox Protection (add-on)From $7.50/mo billed monthly, from $6.00/mo billed yearly (paid plans only)per email account

Pricing, plan by plan

US dollars, as Hunter's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier Free plan: 50 credits/month, unlimited users

Free

$0

Free

50 credits/mo

API included

Starter

$49/mo

billed monthly

$34/mo

billed annually

2,000 credits/mo (24,000/yr upfront on annual); 3 email accounts

API included
Plan details

Add-ons: Credit Packs, Email account slots, Managed email accounts, Inbox Protection (prices for Credit Packs not shown on the page)

Growth

$149/mo

billed monthly

$104/mo

billed annually

10,000 credits/mo (120,000/yr); 10 email accounts

API included
Plan details

Add-ons: Credit Packs, Email account slots, Managed email accounts, Inbox Protection (prices for Credit Packs not shown on the page)

Scale

$299/mo

billed monthly

$209/mo

billed annually

25,000 credits/mo (300,000/yr); 20 email accounts; account manager

API included
Plan details

Add-ons: Credit Packs, Email account slots, Managed email accounts, Inbox Protection (prices for Credit Packs not shown on the page)

Enterprise

Custom quote

Custom credits

API included

Data Platform (API-only, prepaid)

One-off pack

Buy search and verification credits separately on a volume slider; credits usable 12 months from purchase.

API included
Plan details

Calculator data (USD) at volume breakpoints 1,000 / 9,999 / 19,999 / 49,999 / 149,999 / 249,999 / 499,999 / 999,999 / 1,999,999: search $0.05 / 0.0209 / 0.0153 / 0.0095 / 0.0092 / 0.0075 / 0.0073 / 0.0069 / 0.0056 each; verification $0.011 / 0.011 / 0.009 / 0.0074 / 0.0046 / 0.0037 / 0.003 / 0.0028 / 0.0022 each

Rate limits

Per-key: Domain Search, Email Finder, Email/Company/Combined Enrichment 15 req/s and 500 req/min; Email Verifier 10 req/s and 300 req/min; Email Count 15 req/s; Discover 5 req/s and 50 req/min.

More on limitsLess

Hitting the rate limit returns 403; 429 means the usage (credit) limit is reached; 451 means the person asked not to be processed.

How to get an API key

Hunter uses API key. The steps below follow Hunter's own docs.

  1. Create a Hunter account. The Free plan includes API access.
  2. hunter.io/api-keys after free signup (signup and login sit behind a Cloudflare Turnstile; 50 free credits only after the email-confirmation link, valid 24 h). Test key 'test-api-key' returns fixed dummy 'Pied Piper' data on Domain Search, Email Finder and Email Verifier whatever the input, and 401 on /account.
  3. Send it with every request: REST: header X-API-KEY (preferred), Authorization: Bearer, or query ?api_key=. MCP: OAuth for Claude (Code/Desktop/.ai), ChatGPT and Gemini apps; X-API-Key header for Cursor, VS Code, Windsurf, Codex and other clients (incl. custom connectors such as Perplexity). MCP OAuth metadata: authorization server hunter.io, scopes read/write, dynamic client registration at hunter.io/oauth/applications, PKCE S256.
  4. Make a first call: Most likely email for a person at a domain. Keep the key in an environment variable, never in the command.
    curl -X GET "https://api.hunter.io/v2/email-finder" \
      -H "X-API-KEY: $HUNTER_API_KEY"

Where the docs live

WhatWhere
Documentationhunter.io/api
API referencehunter.io/api-documentation/v2
OpenAPI spechunter.io/openapi.json
llms.txthunter.io/llms.txt
Changeloghunter.io/changelog
Base URLhttps://api.hunter.io
MCP serverhttps://mcp.hunter.io/mcp
SDKsOpenAPI JSON, Code samples in Node.js, Python, Ruby on the API page, Claude Code plugin (hunter-io/claude-plugin)

Strengths and limits

Where it fits

  • Domain search: every published email at a company with sources and confidence
  • Cheap email pattern / email finder step early in a waterfall
  • Email verification at 0.5 credit per check
  • Free company discovery (Discover, Email Count, Lookalikes, Domain Finder)
  • Agents: official hosted MCP at mcp.hunter.io with OAuth or X-API-Key
  • Testing integrations at zero cost with test-api-key

Where it falls short

  • Phone/mobile data (no dedicated phone finder)
  • Deep firmographics or people search by title at scale (Discover is company-first)
  • Signed webhooks for enrichment jobs (webhooks only cover sequence message events and are unsigned)
  • Rolling unused monthly credits forward (monthly credits reset and do not roll over)

Worth knowing

  • Rate-limit hit returns 403, not 429; 429 means you ran out of credits/usage.
  • Email Verifier returns 202 after 20 s if not finished; poll the same call (counted once).
  • Monthly-plan credits reset and do not roll over; annual plans get the year's credits upfront.
  • Older accounts may have separate searches and verifications quotas instead of one credit pool: check data.requests.credits in /account.
  • Domain Search billing wording differs: pricing FAQ says 1 credit per email found; API reference says a query is counted per call returning at least one result. Test on your own account.
9 moreShow fewer
  • Repeated searches/verifications of the same item count once per billing period (calendar month on Data Platform).
  • Data Platform prices search and verification credits separately, and the calculator's default display ($6,500 for 1,000 search + 200,000 verification credits) is a static placeholder, not the price for the default selection.
  • test-api-key works on REST only; the MCP rejects it with 401.
  • Webhooks are unsigned; put a random token in the target_url path.
  • 451 claimed_email: the person opted out; do not process the address yourself.
  • Terms: abusive or excessively frequent API use can suspend API access at Hunter's sole discretion.
  • Signup and web login sit behind a Cloudflare Turnstile, and the 50 free credits arrive only after the email-confirmation link (expires 24 h after signup).
  • 'Free' endpoints (Email Count, Account, Discover) still need a valid API key; only Email Insight and Logos work without one (hands-on api/05; API reference).
  • test-api-key ignores the inputs and always returns the same Pied Piper dummy record, so it tests plumbing only, not parsing of real data (hands-on api/01-03).

Our take

Hunter's email finder is the first step in the email chain of an enrichment service we built for a B2B data company, because it was the cheapest effective step when we reviewed the first days of spend.

Who should use it

Use Hunter for
Domain search: every published email at a company with sources and confidence
Look elsewhere for
Phone/mobile data (no dedicated phone finder)

If Hunter is not the answer

Other Enrichment tools in this directory, each with its own review.

Before you build

Four things to settle first, each read off Hunter's own pages.

  • Confirm the API is on your planThe Free plan includes API access. Free tier: Free plan: 50 credits/month, unlimited users.
  • Keep the key out of your codeAPI key. It is sent as: REST: header X-API-KEY (preferred), Authorization: Bearer, or query ?api_key=. MCP: OAuth for Claude (Code/Desktop/.ai), ChatGPT and Gemini apps; X-API-Key header for Cursor, VS Code, Windsurf, Codex and other clients (incl. custom connectors such as Perplexity). MCP OAuth metadata: authorization server hunter.io, scopes read/write, dynamic client registration at hunter.io/oauth/applications, PKCE S256..
  • Design around the rate limitPer-key: Domain Search, Email Finder, Email/Company/Combined Enrichment 15 req/s and 500 req/min; Email Verifier 10 req/s and 300 req/min; Email Count 15 req/s; Discover 5 req/s and 50 req/min.
  • Know the catch before you scaleRate-limit hit returns 403, not 429; 429 means you ran out of credits/usage.

Want us to build it for you?

Tell us what you want Hunter to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from hunter.io/pricing, hunter.io/api-documentation/v2 and hunter.io/llms-full.txt. Verified 25 Oct 2026.

All 23 endpointsFor developers: method, path, what it does and what it costs.

Base URL: api.hunter.io

Bulk and async: Bulk Domain Search / Email Finder / Verifier exist in the web app (/bulks); API has multi-domain-search + reveal and leads bulk endpoints, no general async bulk-enrichment job endpoint.

Webhooks: Yes, but only for outreach message.* events (sent, read, clicked, etc.); unsigned (no secret), 30 s timeouts, no retries on errors, 410 deletes the webhook.

23 endpoints
MethodPathWhat it doesCost
GET/POST/v2/domain-searchAll emails Hunter has for a domain or company, filterablePricing FAQ: 1 credit per email found (bulk: 1 per up to 10 emails); API doc: a query is counted for calls returning at least one result; free if nothing found
GET/v2/email-finderMost likely email for a person at a domain1 credit per email found; free if not found
GET/POST/v2/email-finder/foundReturn an email Hunter already found (no new search)No credit when nothing is returned
GET/v2/email-verifierVerify deliverability (waits up to 20 s, else 202 and poll)0.5 credit per verified email; unknown is free; disposable skipped free; repeats counted once
GET/v2/email-countHow many emails Hunter indexes for a domainFree, but still needs a valid API key (401 without one, hands-on api/05)
POST/v2/discoverCompany search by filters or natural-language query (AI assistant)Free
GET/POST/v2/discover/people, /v2/domain-countPeople counts / domain counts matching discovery filtersFree (Discover People: 'This call is free', Beta; Domain Count: free, does not count against quota)
POST/v2/multi-domain-searchMasked email survey across every company matching filters, one row per email with reveal_handleFree (masked)
POST/v2/multi-domain-search/revealReveal chosen masked rows1 credit per personal email; 1 credit per domain for all its generic emails; already-revealed rows free this period; batch rejected (429) up front if balance too low
GET/POST/v2/domain-finder, /v2/domains-suggestionFind or suggest the domain for a company nameFree (does not decrement search quota, but blocked once quota exhausted)
GET/v2/email-insightLight deliverability insight without a full verification: gibberish local part, recognised domain pattern, MX records, disposable/webmailFree, does not count against quota; API key optional (no authentication required)
GET/v2/people/findEmail Enrichment: person attributes from email or LinkedIn handle0.2 credit per enrichment (needs at least 1 credit left)
GET/v2/companies/findCompany Enrichment from domain0.2 credit per enrichment
GET/v2/combined/findPerson + company enrichment in one call0.2 credit per enrichment (stated per enrichment; combined charge not separately specified)
GET/v2/lookalikesLookalike companies from a company list or domain (beta)Free
GET/v2/account (GET, PUT), /v2/account-stats, /v2/usage, /v2/usage/historyAccount details, current-period usage and 2-year request historyFree (account-stats and usage: free, do not count against quota)
GET/POST/PUT/PATCH/DELETE/v2/leads, /v2/leads/{id}, /v2/leads/bulk, /v2/leads/{id}/enrich, /v2/leads_lists, /v2/leads_custom_attributes, /v2/tags, /v2/leads-importsLeads CRM: CRUD, bulk upsert/move/delete, lists, folders, tags, custom attributes, CSV import, enrich a leadEnrich a lead uses enrichment credits; CRUD not stated
GET/POST/PUT/PATCH/DELETE/v2/companies, /v2/company-lists, /v2/company-tagsSaved companies, company lists, folders and tags (bulk move/copy/delete/tag)Not stated
GET/POST/PUT/PATCH/DELETE/v2/sequences, /v2/campaigns, /v2/message-templates, /v2/messages, /v2/email-accountsOutreach: sequences, follow-ups, recipients, start/pause/archive/test, stats, templates, one-off messages, email accounts with health/warmup/capacity reportsNot stated
GET/POST/v2/connected-apps, /v2/connected-apps/{id}/pushList connected apps and push leads to a CRMNot stated
GET/POST/PUT/PATCH/DELETE/v2/webhooks, /v2/webhooks/{id}Webhooks for message.* events (sent, read, clicked, replied...)Not stated
GET/POST/PUT/PATCH/DELETE/v2/api-keys, /v2/team/members, /v2/discover/views, /v2/feedbackAPI key management, team members, saved Discover views, product feedbackNot stated
GEThttps://logos.hunter.io/{domain}Company logo image (PNG, WEBP or AVIF) by domain; 404 if not yet in the databaseFree; no authentication required