Email Pattern Finder - Likely Work Emails from Name + Domain avatar

Email Pattern Finder - Likely Work Emails from Name + Domain

Pricing

from $1.40 / 1,000 person processeds

Go to Apify Store
Email Pattern Finder - Likely Work Emails from Name + Domain

Email Pattern Finder - Likely Work Emails from Name + Domain

Generate the most likely work email formats (first.last@, flast@, first@...) from a full name and company domain, ranked by how common each pattern is, plus an MX domain check. Read-only B2B prospecting: builds address strings and does a DNS lookup only - never sends email or probes mailboxes.

Pricing

from $1.40 / 1,000 person processeds

Rating

0.0

(0)

Developer

Flash Scrape

Flash Scrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Email Pattern Finder — find the email address pattern of any company from a name + domain

Find the email address pattern of a company and turn plain names into ranked work-email guesses. Give it a company domain and a list of full names; it returns each person's most likely addresses (first.last@, flast@, first@…) scored by how common each pattern is, plus a DNS check that the domain can actually receive mail and which provider runs it (Google Workspace vs Microsoft 365). It's the natural front end of a find → verify → enrich prospecting flow — no API key, no proxies, no per-seat email-finder subscription, just pay-per-result.

What it does

  • Generates up to 12 ranked email candidates per person from a library of common corporate patterns: first.last, flast, firstlast, f.last, first, first_last, firstl, first-last, lastfirst, last.first, lfirst, last.
  • Scores each candidate 0–99 based on how common that pattern is in the wild (first.last ranks highest), and surfaces the single best_guess per person.
  • Checks the domain's MX records via a DNS-over-HTTPS lookup to confirm the domain can receive mail at all — if no mail server exists, every candidate's confidence is cut, so dead domains can't inflate your list.
  • Detects the email provider from the MX host (Google Workspace, Microsoft 365, or other) — useful both as a deliverability signal and as a firmographic data point.
  • Normalizes names: strips accents (Joséjose), splits first/last name, and handles single-name inputs (those only get the first@ pattern rather than fabricated surnames).
  • Accepts messy domain inputacme.com, https://www.acme.com/about, it all resolves to the bare domain.
  • Lets you restrict generation to specific pattern IDs when you already know the company's format and just want it applied to a batch of names.

Everything is read-only and privacy-respecting: the actor only builds address strings from the names you provide and performs one DNS lookup on the domain. It never sends an email and never probes individual mailboxes.

Use cases

  • Sales prospecting — you found 20 decision-makers on LinkedIn at a target account but no contact info. Paste the names + domain, get ranked address guesses in seconds instead of paying per-credit on Hunter or Apollo.
  • Recruiting outreach — reach engineers and managers directly at their work address instead of fighting the InMail queue.
  • Lead-list completion for agencies — you're delivering a lead list on Fiverr/Upwork and half the rows have a name and company but no email; batch-fill the gap and mark each row with its confidence score.
  • CRM enrichment — export contacts missing an email, group them by company domain, run each group through the finder, and re-import the best_guess column.
  • Pattern discovery — confirm one address for any employee (from a signature, a press release), see which pattern it matches, then re-run the actor with that pattern locked in via patterns for the whole department.

Input

FieldTypeDefaultDescription
domainstring(required)The company domain emails should use, e.g. acme.com or https://acme.com.
namesarray(required)People to generate email guesses for, one full name per line (e.g. Jane Doe).
verifyMxbooleantrueLook up the domain's MX records (DNS) to confirm it can receive mail and detect the email provider. Boosts confidence. No mailbox probing, no email sent.
maxCandidatesPerPersoninteger6How many ranked email guesses to return per person (1–12).
patternsarray(empty)Optional: only generate these pattern ids (e.g. first.last, flast, first). Leave empty for all.

Example input:

{
"domain": "stripe.com",
"names": ["Patrick Collison", "Jane Doe"],
"verifyMx": true,
"maxCandidatesPerPerson": 6
}

Output

One dataset row per person:

FieldDescription
name / first_name / last_nameThe input name and its parsed parts
domainNormalized company domain
mx_foundWhether the domain has mail servers (null if verifyMx was off)
email_providerDetected provider from MX (e.g. Google Workspace, Microsoft 365)
best_guessThe single most likely address
best_guess_confidenceIts 0–99 score
candidatesAll ranked guesses, each with email, pattern, and confidence

Example row:

{
"name": "Jane Doe",
"first_name": "jane",
"last_name": "doe",
"domain": "stripe.com",
"mx_found": true,
"email_provider": "Google Workspace",
"best_guess": "jane.doe@stripe.com",
"best_guess_confidence": 95,
"candidates": [
{ "email": "jane.doe@stripe.com", "pattern": "first.last", "confidence": 95 },
{ "email": "jdoe@stripe.com", "pattern": "flast", "confidence": 88 },
{ "email": "janedoe@stripe.com", "pattern": "firstlast", "confidence": 78 },
{ "email": "j.doe@stripe.com", "pattern": "f.last", "confidence": 72 },
{ "email": "jane@stripe.com", "pattern": "first", "confidence": 65 },
{ "email": "jane_doe@stripe.com", "pattern": "first_last", "confidence": 60 }
]
}

Export to CSV, Excel, or JSON from the Apify Console or via API.

Example output

A real sample from a live run:

namedomainbest_guessbest_guess_confidencemx_found
Patrick Collisonstripe.compatrick.collison@stripe.com95true
John Smithstripe.comjohn.smith@stripe.com95true
Jane Doestripe.comjane.doe@stripe.com95true
Maria Garciastripe.commaria.garcia@stripe.com95true

Pricing

Pay-per-result: you're charged only per person processed — a fraction of a cent per validated row. No subscription, no monthly credit packs that expire. A free Apify plan is enough to run your first batches and test the output on real accounts before paying anything.

Tips / FAQ

Does it verify that the mailbox actually exists?

No — and that's deliberate. The actor generates pattern-based guesses ranked by real-world commonality and verifies the domain (MX lookup), not individual mailboxes. It performs no SMTP handshakes and sends nothing. For mailbox-level checking, pipe the best_guess column into the Bulk Email Verifier.

How accurate are the guesses?

first.last@ alone covers the largest share of corporate mailboxes, which is why it scores 95. Accuracy is highest at companies with standardized IT (most SMBs and mid-market firms); it's lower at very large enterprises with legacy formats or duplicate-name collisions. The confidence score tells you how much to trust each row — and if you can confirm one real address at the company, lock its pattern via patterns and accuracy for the rest of the batch jumps.

What happens with single names or names with accents?

Accents and diacritics are transliterated (René Müllerrene.muller@…). A single-token name (e.g. just Madonna) only generates the first@ pattern — the actor won't invent a surname.

Why did all my confidences drop for one domain?

The MX check found no mail servers, so every candidate's score was reduced (to roughly 60% of its base, floor 5) and mx_found is false. That usually means the domain can't receive mail at that apex — check whether the company actually uses a different email domain.

Can I process people from many different companies in one run?

One run handles one domain with any number of names. For a multi-company list, group your rows by domain and trigger one run per domain via the Apify API — each run is billed only for the people it processes.

How do I integrate it?

Start runs from the Apify API or SDK, schedule recurring runs with Apify Schedules, and export the dataset as CSV/Excel/JSON or push it onward with Apify integrations (webhooks, Zapier, Make).


Found a bug or missing a feature? Open an issue on this actor's Issues tab — typical response within 1 business day.