Email Pattern Finder - Likely Work Emails from Name + Domain
Pricing
from $1.40 / 1,000 person processeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
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.lastranks highest), and surfaces the singlebest_guessper 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 thefirst@pattern rather than fabricated surnames). - Accepts messy domain input —
acme.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_guesscolumn. - 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
patternsfor the whole department.
Input
| Field | Type | Default | Description |
|---|---|---|---|
domain | string | (required) | The company domain emails should use, e.g. acme.com or https://acme.com. |
names | array | (required) | People to generate email guesses for, one full name per line (e.g. Jane Doe). |
verifyMx | boolean | true | Look 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. |
maxCandidatesPerPerson | integer | 6 | How many ranked email guesses to return per person (1–12). |
patterns | array | (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:
| Field | Description |
|---|---|
name / first_name / last_name | The input name and its parsed parts |
domain | Normalized company domain |
mx_found | Whether the domain has mail servers (null if verifyMx was off) |
email_provider | Detected provider from MX (e.g. Google Workspace, Microsoft 365) |
best_guess | The single most likely address |
best_guess_confidence | Its 0–99 score |
candidates | All 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:
| name | domain | best_guess | best_guess_confidence | mx_found |
|---|---|---|---|---|
| Patrick Collison | stripe.com | patrick.collison@stripe.com | 95 | true |
| John Smith | stripe.com | john.smith@stripe.com | 95 | true |
| Jane Doe | stripe.com | jane.doe@stripe.com | 95 | true |
| Maria Garcia | stripe.com | maria.garcia@stripe.com | 95 | true |
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üller → rene.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).
Related actors
- Bulk Email Verifier — the natural next step: verify and score the guessed addresses before you send.
- Company & Domain Enricher — enrich the same domains with company name, socials, and tech stack.
- Phone Number Validator — clean the phone column of the same lead list.
Found a bug or missing a feature? Open an issue on this actor's Issues tab — typical response within 1 business day.