Email Combination Generator avatar

Email Combination Generator

Pricing

from $1.00 / 1,000 user combinations generateds

Go to Apify Store
Email Combination Generator

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

CodeScraper

Maintained by Community

Actor stats

2

Bookmarked

3

Total users

3

Monthly active users

a month ago

Last modified

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 Cook
Elon Musk
Sundar Pichai
Domains:
apple.com
tesla.com
google.com

The actor processes them as:

Tim Cook → apple.com
Elon Musk → tesla.com
Sundar 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 + lastname
firstname + lastinitial
firstinitial + lastname
firstinitial + lastinitial
lastname + firstname
lastname + firstinitial
lastinitial + firstname
lastinitial + firstinitial

Separators

Each supported combination can be generated using:

  • No separator
  • .
  • -
  • _

For example:

john.doe@example.com
john-doe@example.com
john_doe@example.com
johndoe@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.com
j.donald@example.com
john.d@example.com
j.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.com
timmy.c@example.com
cook.timmy@example.com
c.timmy@example.com

📅 Birth Year Support

An optional birth year can be appended to all combinations generated for a person.

Supported formats:

  • 90
  • 1990

For example:

john.doe90@example.com
john.doe1990@example.com
jdoe90@example.com
jdoe1990@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 → oconnor
Mary Jane → maryjane
Anne-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:

90
1990

Domain Validation

Domains must follow a valid domain format such as:

example.com
company.co.uk
startup.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

  1. Reads the Actor input.
  2. Determines whether bulk or single-user targets were supplied.
  3. Validates names, domains, and optional birth years.
  4. Converts full names into first and last-name components when necessary.
  5. Normalizes names for corporate email formatting.
  6. Builds combinations from names, initials, middle names, and nicknames.
  7. Applies supported separators to applicable combinations.
  8. Adds optional birth-year suffixes.
  9. Removes duplicate combinations automatically.
  10. Applies the optional maxCombinations limit.
  11. Pushes structured results to the Apify Dataset.

⚙️ Input Configuration

FieldTypeRequiredDescription
namesListArrayFor bulkList of full names or first names. Names cannot contain numbers.
domainsListArrayFor bulkCompany domains corresponding to namesList in the exact same order.
globalBirthYearStringNo2- or 4-digit birth year applied to all bulk combinations.
companyDomainStringFor singleCompany domain for single-user processing.
firstNameStringNoPerson's first name.
middleNameStringNoPerson's middle name.
lastNameStringNoPerson's last name.
nicknameStringNoPerson's nickname.
birthYearStringNo2- or 4-digit birth year for a single user.
maxCombinationsIntegerNoMaximum 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

FieldDescription
firstNameParsed or supplied first name.
lastNameParsed or supplied last name.
domainNormalized company domain.
totalCombinationsNumber of combinations generated for the user.
combinationsArray 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 Set to 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.com
jdoe@example.com
john@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:

90
1990

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.