Email Finder & Verifier - MX + pattern confidence avatar

Email Finder & Verifier - MX + pattern confidence

Pricing

from $10.00 / 1,000 contact resolveds

Go to Apify Store
Email Finder & Verifier - MX + pattern confidence

Email Finder & Verifier - MX + pattern confidence

Find business emails from a name + company domain. Guesses the likeliest pattern, verifies the domain's MX records, scores confidence, and flags catch-alls. Plug in your own SMTP verifier API for mailbox-level checks. Clean per-contact pricing.

Pricing

from $10.00 / 1,000 contact resolveds

Rating

0.0

(0)

Developer

Korado Labs

Korado Labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

9 days ago

Last modified

Share

Email Finder & Verifier ๐Ÿ“ง

Turn a name + company domain into a verified business email. This actor generates the common corporate email patterns, resolves the domain's mail servers, and checks each candidate for real over SMTP โ€” so you get a deliverable address with a confidence score, not a guess. Bulk-ready. Export data, run via API, schedule runs, or integrate with other tools.

What makes it reliable

  • โœ… Honest verification, no false positives โ€” resolves the domain's MX and, where the network allows it (e.g. self-hosted), checks each candidate mailbox for real over SMTP (RCPT TO). On Apify โ€” whose platform blocks outbound SMTP (port 25) โ€” it returns truthful MX/pattern-level results (mx_only) instead of pretending an address is confirmed. Plug in an HTTPS verifier API (verifierApiUrl) for true mailbox checks on-platform.
  • ๐Ÿ•ณ๏ธ Catch-all detection โ€” probes a random mailbox first, so domains that "accept everything" are flagged (catchAll: true) instead of returning a false positive.
  • ๐ŸŽฏ Confidence score per result and the pattern that matched.
  • ๐Ÿ” Alternatives โ€” every other deliverable pattern it found.
  • ๐Ÿ“ฆ Bulk โ€” pass hundreds of contacts; MX and catch-all results are cached per domain so large lists stay fast.
  • ๐Ÿšซ Fair billing โ€” only resolved contacts are charged; no-MX/no-result contacts and failed runs cost nothing.

What data do I get per contact?

FieldDescription
emailBest verified email (or best-guess on catch-all domains)
statusvalid, catch_all, invalid, mx_only, unknown, no_mx, no_domain, no_name
deliverabletrue / false / null (unknown / catch-all)
catchAllWhether the domain accepts all addresses
confidence0โ€“100 score
patternWhich pattern matched (e.g. first.last, flast)
alternativeEmailsOther deliverable candidates
smtpCodeRaw SMTP response code
candidatesTriedHow many patterns were tested

Email patterns tested

first.last, flast, first, firstl, f.last, first_last, firstlast, last.first, lastf, last, last_first, f-last โ€” ranked by real-world frequency, tested best-first.

How much does it cost?

Pay-per-event โ€” only resolved contacts are billed:

EventPrice
Contact resolved (deliverable or catch-all best-guess)$0.01

1,000 contacts where 700 resolve โ‰ˆ $7.00. No actor-start fee, nothing for no-result contacts, nothing on a failed run.

How do I use it?

Input โ€” single

{ "firstName": "Jane", "lastName": "Doe", "domain": "apify.com" }

Input โ€” bulk

{
"contacts": [
{ "firstName": "Jane", "lastName": "Doe", "domain": "apify.com" },
{ "fullName": "John Smith", "domain": "example.com", "companyName": "Example Inc" }
],
"stopOnFirstValid": true
}

Output

{
"inputFirstName": "Jane", "inputLastName": "Doe", "domain": "apify.com",
"email": "jane.doe@apify.com", "status": "valid", "deliverable": true,
"catchAll": false, "confidence": 95, "pattern": "first.last",
"alternativeEmails": [], "smtpCode": 250, "candidatesTried": 3
}

What can you do with the data?

  • ๐Ÿ“‡ Build outreach lists โ€” enrich a CSV of names + companies into verified emails.
  • ๐Ÿงน Clean existing lists โ€” flag invalid and catch-all addresses before you send.
  • ๐Ÿค Sales & recruiting โ€” reach the right person with a deliverable address.
  • ๐Ÿ”— Pipe into your CRM / sequencer via the Apify API or an integration.

FAQ

How is verification done? The actor resolves the domain's MX record. Where the network permits (self-hosted), it opens an SMTP conversation and issues RCPT TO per candidate โ€” 250 = mailbox accepted, 550 = doesn't exist. On Apify, which blocks outbound port 25, it returns honest mx_only results unless you supply a verifierApiUrl (an HTTPS verification API, which works over port 443).

Why mx_only instead of valid? Because faking a "valid" verdict without a real mailbox check would bounce your emails. mx_only means: the domain accepts mail and this is the most-likely pattern, but the mailbox wasn't individually confirmed. Add a verifierApiUrl for a confirmed valid/invalid.

What is a catch-all domain? Some servers accept mail for any address. The actor detects these by probing a random local-part first; when a domain is catch-all, the best-guess email is returned with catchAll: true and a capped confidence, because no single mailbox can be individually confirmed.

Why are some results unknown? Greylisting or temporary SMTP responses (4xx) mean the server deferred the check. Re-running later usually resolves them.

Do you send any email? No. Verification stops at the RCPT TO step โ€” no message is ever delivered.

Can I verify an email I already have? Yes โ€” pass the name whose address it is, or watch for it in allCandidates with includeAllCandidates: true.

Is this legal / GDPR-safe? You're responsible for using contact data lawfully (legitimate interest, opt-outs, local rules). The actor only tests deliverability of business addresses and never sends mail.

Can I run it in bulk / via API? Yes โ€” pass a contacts array, and schedule or call it via the Apify API/SDK like any actor.