Email Finder — Name + Domain to Work Email + Score
Pricing
from $1.45 / 1,000 email results
Email Finder — Name + Domain to Work Email + Score
Find a person's likely work email from their name + company domain. Returns an MX-validated best-guess address with a numeric confidence score, role & disposable flags, and ranked alternative candidates — not a single bare guess.
Pricing
from $1.45 / 1,000 email results
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
34
Total users
27
Monthly active users
7 days ago
Last modified
Categories
Share
Email Finder — Name + Domain → Best-Guess Work Email
Give this actor a person's name and their company domain, and it returns the most likely work email — with a numeric confidence score, MX validation, and a ranked list of alternative candidates. No API key, no signup, no monthly seat.
What you actually get: a ranked, MX-gated best guess, not a hard-confirmed mailbox. The actor attempts live SMTP verification, but most cloud networks (including Apify's) block outbound port 25, so it degrades to MX + pattern ranking and labels the method
mx_pattern. SMTP confirmation only fires where the run network allows it.
Why this one
Most email-finder actors hand back a single guessed address and, at best, a catch_all
flag. That leaves you to guess whether the address is real. This actor instead:
- Builds frequency-ranked candidate patterns —
first.last,flast,first,firstlast, and ~9 more — weighted by how common each scheme actually is in corporate email. - Validates what it can — one MX lookup per domain to confirm the mail server exists,
then (where the network allows) a catch-all probe and RCPT verification of candidates in
priority order. A confirmed mailbox is marked
verified; on port-25-blocked networks the best guess is markedunverified_guesswith its MX host and confidence. - Tells you the truth — every record carries
confidence(0–1), theverificationMethod(smtp/mx_pattern/none),isCatchAll,isDisposable,isRoleAccount, and the rankedalternativeEmailsso you can fall back if the top pick bounces.
If the run network blocks outbound port 25 (common on cloud), the finder degrades
gracefully to MX + pattern ranking and labels the method mx_pattern — you still get a
ranked, MX-gated best guess instead of a hard failure.
Input
{"people": [{ "firstName": "Patrick", "lastName": "Collison", "domain": "stripe.com" },{ "firstName": "Tobias", "lastName": "Lutke", "domain": "shopify.com" }],"verifySmtp": true,"maxAlternatives": 5,"smtpTimeoutSecs": 8,"maxItems": 0}
| Field | Type | Notes |
|---|---|---|
people | array | Each item: firstName (required), lastName or surname, optional fullName, and domain (required). |
verifySmtp | boolean | Attempt live SMTP RCPT verification. Auto-falls back to MX + pattern if port 25 is blocked. Default true. |
maxAlternatives | integer | Ranked alternatives returned per person. Default 5. |
smtpTimeoutSecs | integer | Per-probe SMTP timeout. Default 8. |
maxItems | integer | Total output cap, 0 = unlimited. |
Output (per person)
{"firstName": "patrick","lastName": "collison","domain": "stripe.com","email": "patrick.collison@stripe.com","confidence": 0.45,"status": "unverified_guess","verificationMethod": "mx_pattern","isCatchAll": null,"isDisposable": false,"isRoleAccount": false,"mxFound": true,"mxHost": "aspmx.l.google.com","patternUsed": "first.last","alternativeEmails": [{ "email": "pcollison@stripe.com", "pattern": "flast", "confidence": 0.319, "smtpStatus": "not_checked", "smtpCode": null }],"parse_confidence": 0.9,"warnings": ["smtp_unreachable_port25"]}
The example above is a real Apify-cloud result (port 25 blocked →
mx_pattern). On a network with outbound SMTP open,statusbecomesverified/accept_all,verificationMethodbecomessmtp, andconfidencerises accordingly.
status values: verified (SMTP confirmed the mailbox) · accept_all (domain accepts
all mail — can't single one out) · unverified_guess (MX present, SMTP not usable, ranked
best guess) · no_valid_pattern (SMTP worked but no candidate accepted) · no_mx (domain has
no mail server).
Pricing
Pay-per-result. You are charged once per person record produced — never for an invalid input. You run it on your own Apify account, so compute is billed to you at platform cost.
More scrapers from our toolkit
Building a data pipeline? These actors pair well with this one — each runs on your own Apify account with the same pay-per-result pricing, no subscription:
- Epa Data Scraper
- Firmy Cz Scraper
- Gelbeseiten Directory
- Google Maps Leads
- Google Maps Scraper
- Hiring Signal Monitor
Chain any of them together from the Integrations tab (the Run succeeded trigger) to build a multi-step workflow — one actor's output feeds the next.