Email Finder API - Find Work Email by Name and Domain avatar

Email Finder API - Find Work Email by Name and Domain

Pricing

$4.99 / 1,000 verified email founds

Go to Apify Store
Email Finder API - Find Work Email by Name and Domain

Email Finder API - Find Work Email by Name and Domain

No API key required. Email lookup by name + company domain (or company name): find anyone's work email, verified live over SMTP. Hunter alternative: pay only for verified emails, $4.99/1,000. Catch-all guesses free.

Pricing

$4.99 / 1,000 verified email founds

Rating

0.0

(0)

Developer

PNDA

PNDA

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿ“ง Email Finder: Find Verified Work Emails by Name and Domain

Give a first name, last name and company domain. Get back the person's work email, verified live over SMTP. You need no API key, no Hunter, Snov or Apollo subscription and no credits to buy. You pay $4.99 per 1,000 emails found, and only for addresses that were actually verified.

It is a Hunter alternative that runs on Apify. Paste a list, click Run, and export a cold-email-ready CSV. You can also call it as an email finder API from n8n, Make, Zapier, Clay or your own code.

  • ๐Ÿ”‘ No API key. Everything runs inside the Actor. You don't need an account with any other email lookup service.
  • โœ… Verified, not guessed. Each candidate address is checked against the company's mail server (MX lookup, then SMTP RCPT TO). The search stops at the first deliverable mailbox.
  • ๐Ÿ’ธ You pay only for verified emails. Not found, unknown and catch-all results are never charged. There is no start fee.
  • ๐Ÿง  Smart patterns. It tests first.last, first, flast, firstlast, f.last, first_last and more, in order of real-world frequency. It handles accents, compound names and particles (van der, de).
  • ๐Ÿข No domain? Give the company name. The Actor deduces the domain (Acme Labs โ†’ acmelabs.com) and keeps it only if it actually receives email.
  • ๐ŸŽ Try it free. On the free Apify plan, the first 10 persons of every run are looked up at no cost.

๐Ÿ’ก Who is it for?

  • Sales and SDR teams who need to turn a lead list (name + company) into verified work emails before a cold email campaign.
  • Recruiters who want to reach candidates directly at their work email.
  • Founders and marketers doing partnership, PR, podcast or investor outreach.
  • RevOps and CRM owners filling in a missing email column in bulk.
  • Clay, n8n, Make and Zapier users who need an email lookup step without paying for another seat.
  • Developers who want a pay-as-you-go email finder API without a monthly plan.

๐Ÿงฐ Use cases

  • Find an email by name and domain. Rand Fishkin + sparktoro.com returns rand@sparktoro.com, verified.
  • Bulk email lookup. Upload thousands of contacts exported from LinkedIn Sales Navigator, a conference attendee list or a CRM.
  • Enrich scraped leads. Chain it after a Google Maps, LinkedIn or company website scraper to add the decision maker's work email.
  • Clean a list before sending. Rows marked catch-all or unknown tell you which addresses are risky, so you can protect your sender reputation.
  • Find the company email pattern. The pattern field (first.last, flastโ€ฆ) shows you how a company formats its addresses.

โš™๏ธ How it works

  1. Normalize. For each person, the name is normalized: accents are removed and titles like Dr. are dropped. The domain is cleaned too: https://www.acme.com/about becomes acme.com.
  2. Build candidates. Up to 12 candidate addresses are built, from the most common corporate pattern to the least common.
  3. Verify. Candidates are verified one by one over SMTP. The first deliverable address is returned with status: "found" and confidence: "verified".
  4. Catch-all domains. Some domains accept any address, which is common on Google Workspace, so no mailbox can be proven. For these, the most likely pattern is returned with status: "catch-all", free of charge. The domain is remembered for the rest of the run, so other people at the same company cost no extra check.

No email is ever sent. The SMTP conversation stops before any message is delivered.


๐Ÿ“ฅ Input

FieldTypeRequiredDescription
personsarrayโœ…One object per person: { "firstName", "lastName", "domain" } or { "fullName", "companyDomain" }. Use companyName when you don't know the domain.
maxPatternsPerPersonintegerHow many patterns are tested per person, from 1 to 16 (default 12).
concurrencyintegerHow many persons are looked up in parallel, from 1 to 10 (default 5).

Example input

{
"persons": [
{ "firstName": "Rand", "lastName": "Fishkin", "domain": "sparktoro.com" },
{ "fullName": "Sahil Lavingia", "companyDomain": "https://gumroad.com" },
{ "firstName": "Jane", "lastName": "Doe", "companyName": "Acme Labs" }
]
}

URLs and email addresses are accepted as domains, for example https://www.acme.com/team or someone@acme.com.


๐Ÿ“ค Output

You get one row per input person.

{
"input": { "firstName": "Rand", "lastName": "Fishkin", "domain": "sparktoro.com" },
"firstName": "rand",
"lastName": "fishkin",
"domain": "sparktoro.com",
"domainSource": "input",
"email": "rand@sparktoro.com",
"status": "found",
"confidence": "verified",
"pattern": "first",
"mxHost": "aspmx.l.google.com",
"checkedEmails": 2,
"charged": true
}

Here is a row for a catch-all domain:

{
"domain": "acme.com",
"email": "jane.doe@acme.com",
"status": "catch-all",
"confidence": "catch-all",
"pattern": "first.last",
"charged": false
}
statusMeaningCharged?
foundThe mailbox was verified over SMTP.โœ…
catch-allThe domain accepts every address. You get the best guess, unverified.โŒ free
not-foundThe mail server rejected every tested pattern.โŒ
unknownThe mail server gave no clear answer (greylisting, anti-spam).โŒ
no-mxThe domain does not receive email.โŒ
invalid-inputThe first name or the domain is missing.โŒ

A SUMMARY record in the key-value store gives the totals by status. You can export the dataset to CSV, Excel or JSON, or read it through the API.


๐Ÿ’ฐ Pricing

The Actor uses pay per event, with one event and no start fee:

EventWhat triggers itPrice
email-found1 verified email found$4.99 / 1,000 ($0.00499 each)

Catch-all guesses, not found, unknown and invalid rows are free.

Example runPersonsVerified emailsCost
Quick test104~$0.02
Lead list1,000400~$2.00
Big list10,0004,000~$19.96
  • Free Apify plan: the first 10 persons of each run are looked up for free, and nothing is charged. Upgrade to a paid plan to process full lists.
  • Spending cap: set Maximum cost per run in the run options. The Actor never starts a lookup that your limit could not pay for. The persons it skips are counted as skippedForBudget in SUMMARY.

๐ŸฅŠ Email finder comparison

The table below compares public prices for finding a work email from a name and a domain, as of October 2026.

ToolWhat you pay forPrice per 1,000API key or subscription
This ActorVerified emails only$4.99None
Hunter.ioCredits (monthly plan)~โ‚ฌ24.50 (โ‚ฌ49 for 2,000)Subscription
Findymail / ProspeoCredits (monthly plan)~$20โ€“25Subscription
IcypeasCredits~$10โ€“19Subscription
clearpath/email-finder-apiEvery pattern tested, plus a start fee$8 per pattern (several patterns per person)None
automation-lab/email-finderEvery person searched, found or not$5 + start feeNone
memo23/email-finderEmail found, plus a start fee$20None

You only pay when a mailbox is proven to exist. Misses and catch-all guesses cost nothing.


๐Ÿ”Œ Use it as an email finder API

curl -X POST "https://api.apify.com/v2/acts/pnda~email-finder/run-sync-get-dataset-items" \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"persons":[{"firstName":"Rand","lastName":"Fishkin","domain":"sparktoro.com"}]}'

You can also use the Apify JavaScript and Python clients, the n8n, Make and Zapier integrations, or an HTTP column in Clay.


โ“ FAQ

Do I need an API key from Hunter, Snov or another provider? No. Everything runs inside the Actor. You only need an Apify account.

How accurate is it? An email with status found passed a live SMTP check: the company's mail server confirmed that the mailbox exists. On domains that are not catch-all, most lookups end with a verified address.

What is a catch-all domain? It is a mail server that accepts every address, so no mailbox can be proven. You get the most likely pattern for free, flagged confidence: "catch-all". Verify it with your own tools before you send to it.

Why was an email not found? The person may use a nickname or an unusual pattern, or may have left the company. The server may also block verification, which gives unknown. You are not charged in any of these cases.

Does it send any email? No. The check stops before any message is sent.

Can I use it on the free Apify plan? Yes. The first 10 persons of each run are free. For larger lists, use a paid Apify plan (pricing).

Can I find an email from a LinkedIn profile? Yes, if you pass the person's name and the domain of their current company. Chain this Actor after a LinkedIn or company scraper.

Is it legal? It checks professional addresses built from public information. You are responsible for using the results in compliance with the GDPR, CAN-SPAM, the CCPA and any other law that applies to you. That includes having a legitimate interest before you contact anyone.


๐Ÿงฉ More tools from PNDA

ActorWhat it does
๐Ÿ” Semrush Keyword ScraperKeyword volume, CPC, difficulty and intent, plus domain overview, competitors and backlinks. No Semrush login.

โ–ถ๏ธ Start now

Paste your names and company domains, click Run, and export your verified emails. You pay only for what is found.