Email Combination Generator
Pricing
from $1.00 / 1,000 user combinations generateds
Email Combination Generator
Generate professional email combinations with this Email Combination Generator. Create email patterns from names and company domains in bulk or individually. Supports initials, middle names, nicknames, separators and birth years for B2B lead generation, email finding and verification workflows.
Pricing
from $1.00 / 1,000 user combinations generateds
Rating
5.0
(2)
Developer
CodeScraper
Maintained by CommunityActor stats
2
Bookmarked
3
Total users
3
Monthly active users
a month ago
Last modified
Categories
Share
⭐ Email Combination Generator – B2B Lead Generation & Email Pattern Discovery
This Apify Actor generates likely professional email-address combinations from a person's name and company domain.
It supports both single-user and bulk processing, with optional middle names, nicknames, and birth years. The actor intelligently creates combinations using common corporate email naming patterns, multiple separators, initials, name ordering, and optional birth-year suffixes — all packaged into a structured dataset ready for downstream lead-generation and enrichment workflows.
⚠️ Important: This actor generates possible email addresses based on naming patterns. It does not verify that an email address exists, belongs to the intended person, or is deliverable.
🚀 What It Does
For every person and company domain provided, the actor generates a broad set of possible professional email combinations.
👤 Person Data
The actor can process:
- 🧑 First Name
- 🧑 Middle Name (Optional)
- 👤 Last Name
- 🏷️ Nickname (Optional)
- 📅 Birth Year (Optional)
- 🏢 Company Domain
For bulk processing, you can provide a list of names and a corresponding list of company domains. The lists must match in length and order.
📦 Processing Modes
🔹 Bulk Processing
Provide:
- A list of names
- A matching list of company domains
- An optional global birth year
Each name is paired with the domain at the same list position.
Example:
Names:Tim CookElon MuskSundar PichaiDomains:apple.comtesla.comgoogle.com
The actor processes them as:
Tim Cook → apple.comElon Musk → tesla.comSundar Pichai → google.com
The actor strictly validates that the number of names and domains is equal before processing.
🔹 Single User Processing
For a single person, you can provide:
- First Name
- Middle Name
- Last Name
- Nickname
- Birth Year
- Company Domain
The company domain is required for single-user processing.
✉️ Email Combination Generation
The actor generates combinations using:
Basic Name Parts
- Full first name
- First-name initial
- Full last name
- Last-name initial
Two-Part Combinations
Examples include patterns based on:
firstname + lastnamefirstname + lastinitialfirstinitial + lastnamefirstinitial + lastinitiallastname + firstnamelastname + firstinitiallastinitial + firstnamelastinitial + firstinitial
Separators
Each supported combination can be generated using:
- No separator
.-_
For example:
john.doe@example.comjohn-doe@example.comjohn_doe@example.comjohndoe@example.com
🧩 Middle Name Support
When a middle name is available, the actor generates additional combinations using:
- First + Middle + Last
- First + Middle Initial + Last
- First Initial + Middle Initial + Last
- First Initial + Middle + Last
- First + Middle + Last Initial
- First Initial + Middle Initial + Last Initial
It also generates first/middle combinations such as:
john.donald@example.comj.donald@example.comjohn.d@example.comj.d@example.com
with the supported separators.
🏷️ Nickname Support
When a nickname and last name are provided, additional combinations are generated using:
- Nickname + Last Name
- Nickname + Last Initial
- Last Name + Nickname
- Last Initial + Nickname
For example:
timmy.cook@example.comtimmy.c@example.comcook.timmy@example.comc.timmy@example.com
📅 Birth Year Support
An optional birth year can be appended to all combinations generated for a person.
Supported formats:
901990
For example:
john.doe90@example.comjohn.doe1990@example.comjdoe90@example.comjdoe1990@example.com
In bulk mode, the optional globalBirthYear is applied to all bulk users.
🧹 Smart Name Normalization
Before generating combinations, the actor sanitizes names by:
- Converting names to lowercase
- Removing apostrophes
- Removing spaces
- Removing periods
- Removing hyphens
For example:
O'Connor → oconnorMary Jane → maryjaneAnne-Marie → annemarie
This helps create cleaner corporate-style email prefixes.
🛡️ Input Validation
The actor validates inputs before processing.
Name Validation
Names:
- Cannot contain numbers
- Have maximum length limits
- Support first, middle, last, nickname, and full-name inputs
Birth Year Validation
Birth years must contain exactly:
- 2 digits, or
- 4 digits
Examples:
901990
Domain Validation
Domains must follow a valid domain format such as:
example.comcompany.co.ukstartup.io
Bulk Validation
The actor requires the names and domains arrays to have the same number of entries.
If they do not match, processing fails with a clear validation error.
⚡ It Handles
- ✅ Single-person email combination generation
- ✅ Bulk name + domain processing
- 👤 First, middle, and last names
- 🏷️ Nickname-based combinations
- 📅 Optional birth-year combinations
- 🔀 Multiple name ordering patterns
- 🔤 Initial-based combinations
- ➖ Multiple separators (
.,-,_, or none) - 🧹 Automatic duplicate removal
- 🧼 Name sanitization and normalization
- 🎯 Maximum combination limits
- 📦 Structured Apify Dataset output
🧠 How It Works
- Reads the Actor input.
- Determines whether bulk or single-user targets were supplied.
- Validates names, domains, and optional birth years.
- Converts full names into first and last-name components when necessary.
- Normalizes names for corporate email formatting.
- Builds combinations from names, initials, middle names, and nicknames.
- Applies supported separators to applicable combinations.
- Adds optional birth-year suffixes.
- Removes duplicate combinations automatically.
- Applies the optional
maxCombinationslimit. - Pushes structured results to the Apify Dataset.
⚙️ Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
namesList | Array | For bulk | List of full names or first names. Names cannot contain numbers. |
domainsList | Array | For bulk | Company domains corresponding to namesList in the exact same order. |
globalBirthYear | String | No | 2- or 4-digit birth year applied to all bulk combinations. |
companyDomain | String | For single | Company domain for single-user processing. |
firstName | String | No | Person's first name. |
middleName | String | No | Person's middle name. |
lastName | String | No | Person's last name. |
nickname | String | No | Person's nickname. |
birthYear | String | No | 2- or 4-digit birth year for a single user. |
maxCombinations | Integer | No | Maximum number of emails generated per user. Leave empty for all combinations. |
The Actor input schema defines namesList and domainsList for bulk processing, while the individual name fields and companyDomain are used for single-user processing.
🧩 Example Input – Bulk
{"namesList": ["Tim Cook", "Elon Musk", "Sundar Pichai"],"domainsList": ["apple.com", "tesla.com", "google.com"],"globalBirthYear": "90","maxCombinations": 20}
The corresponding name/domain positions are paired together by the Actor.
🧩 Example Input – Single User
{"firstName": "Tim","middleName": "Donald","lastName": "Cook","nickname": "Timmy","companyDomain": "apple.com","birthYear": "1960","maxCombinations": 50}
The single-user form requires companyDomain when a single target is supplied.
📊 Example Output
A dataset item generated by the Actor follows this structure:
{"firstName": "Tim","lastName": "Cook","domain": "apple.com","totalCombinations": 20,"combinations": ["tim@apple.com","t@apple.com","cook@apple.com","c@apple.com","tim.cook@apple.com","tim-cook@apple.com","tim_cook@apple.com","timcook@apple.com","t.cook@apple.com","t-cook@apple.com","t_cook@apple.com","tcook@apple.com","cook.tim@apple.com","cook-tim@apple.com","cook_tim@apple.com","cooktim@apple.com","c.tim@apple.com","c-tim@apple.com","c_tim@apple.com","ctim@apple.com"]}
The Actor pushes firstName, lastName, normalized domain, totalCombinations, and the generated combinations array to the Apify Dataset.
📈 Output Fields
| Field | Description |
|---|---|
firstName | Parsed or supplied first name. |
lastName | Parsed or supplied last name. |
domain | Normalized company domain. |
totalCombinations | Number of combinations generated for the user. |
combinations | Array containing generated email addresses. |
The domain is normalized by lowercasing it, removing http:// or https://, removing www., and stripping any path after the hostname.
🎯 Maximum Combinations
Use maxCombinations when you want to limit the number of generated emails per person.
Example:
{"maxCombinations": 10}
If a limit is provided and greater than zero, the Actor keeps only the first requested number of generated combinations.
⭐ Features
- 🚀 Bulk Processing — Generate combinations for many people in one Actor run.
- 👤 Single User Mode — Generate combinations for an individual person.
- 🧑🤝🧑 Full Name Parsing — Full names can be split into first and last-name components.
- 🧠 Multiple Patterns — Supports many common corporate email naming structures.
- 🔤 Initial Combinations — Uses first, middle, and last initials where applicable.
- 🔀 Multiple Separators — Supports
.,-,_, and no separator. - 🏷️ Nickname Patterns — Adds nickname-based combinations when supplied.
- 📅 Birth-Year Patterns — Optionally appends 2- or 4-digit birth years.
- 🧹 Deduplication — Uses a
Setto prevent duplicate prefixes. - 🛡️ Validation — Rejects malformed domains, numeric names, and invalid birth-year formats.
- 🎛️ Combination Limits — Control output size with
maxCombinations. - 📦 Structured Output — Results are pushed directly to an Apify Dataset.
💡 Use Cases
- B2B Lead Generation
- Sales Prospecting
- Email Pattern Discovery
- Contact Data Enrichment
- CRM Enrichment
- Company Research
- Sales Intelligence
- Recruitment & HR Sourcing
- Business Directory Building
- Email Verification Workflows
- Prospect Research Automation
🔍 Email Verification
This Actor is a combination generator, not an email verifier.
Generated addresses should be treated as candidates. For example:
john.doe@example.comjdoe@example.comjohn@example.com
do not necessarily mean that those mailboxes exist.
For higher-confidence lead data, send the generated combinations through a separate email verification or validation workflow before using them for outreach.
❓ FAQs
1. Can I process multiple people at once?
Yes. Use namesList and domainsList for bulk processing. Each name is paired with the domain at the same position in the two arrays.
2. Do the bulk arrays need to be the same length?
Yes. The Actor strictly validates that the number of names matches the number of domains. If one list has extra entries, the Actor fails the run instead of silently creating incorrect pairings.
3. Can I provide only a full name?
Yes. When a fullName is available and first/last names are not supplied, the Actor splits the first word into the first name and the remaining words into the last name.
4. Can I include a middle name?
Yes. Middle-name combinations are generated when both middle and other relevant name parts are available.
5. Can I include a nickname?
Yes. Nickname + last-name and last-name + nickname combinations are supported.
6. Can I add a birth year?
Yes. Birth years can be supplied as exactly 2 or 4 digits, such as:
901990
The birth year is appended to generated prefixes using the supported separators.
7. Does the Actor remove duplicate combinations?
Yes. Email prefixes are stored in a Set, so duplicate combinations are automatically removed before the final email list is created.
8. Can I limit the number of emails generated?
Yes. Set maxCombinations to a positive integer to limit the number of generated emails per user.
9. Does it verify whether the emails exist?
No. It generates possible email addresses only. A separate verification step is recommended before outreach.
10. What happens if no target is provided?
The Actor fails with a validation error asking for either bulk lists or the single-user form.
🧑💻 Developer Info
Author: codescraper
Email: codescraper011@gmail.com
🏷️ Tags
email-combination-generator · email-generator · email-pattern-generator · email-finder · b2b-leads · lead-generation · sales-intelligence · prospecting · email-enrichment · contact-data · business-research · apify · automation
⚠️ Responsible Use
Use generated email combinations responsibly and in accordance with applicable privacy, anti-spam, data-protection, and outreach laws and regulations.
This Actor provides candidate email combinations, not verified personal contact information. Always use appropriate validation and ensure you have a lawful basis and appropriate authorization for your intended use.