Email Finder & Verifier avatar

Email Finder & Verifier

Pricing

Pay per usage

Go to Apify Store
Email Finder & Verifier

Email Finder & Verifier

Find email addresses from any website. Perfect for lead generation, sales outreach, and recruiter prospecting.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Dima Radov

Dima Radov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 minutes ago

Last modified

Share

Finds and verifies email addresses from a domain. Ideal for lead generation, sales outreach, and contact discovery.

Features

  • Website Crawling — Crawls the website homepage, /contact, /about, /team, and linked internal pages to find published email addresses
  • Email Extraction — Extracts emails from page text and mailto: links using BeautifulSoup
  • Common Pattern Generation — Generates and tests common email patterns: info@, contact@, hello@, support@, admin@, sales@, and 25+ more
  • Name-Based Pattern Generation — If a person's name is provided, generates common patterns: first@, first.last@, firstlast@, f.last@, and more
  • Format Validation — Validates email format (RFC 5321-style) with detailed issue reporting
  • MX Record Checking — Checks if the domain has valid MX records for email delivery using DNS lookup
  • Deduplication — Automatically deduplicates emails found from multiple sources

Input

FieldTypeRequiredDescription
domainstringDomain to search (e.g., example.com)
firstNamestringFirst name for name-based patterns
lastNamestringLast name for name-based patterns
crawlWebsitebooleanCrawl website for emails (default: true)
tryCommonPatternsbooleanTry common email prefixes (default: true)
tryNamePatternsbooleanTry name-based patterns (default: true)
checkMxRecordsbooleanCheck MX records (default: true)
maxCrawlPagesintegerMax pages to crawl (default: 10, max: 50)

Output

The actor outputs a summary object plus individual email entries:

Summary Object

{
"domain": "example.com",
"firstName": null,
"lastName": null,
"stats": {
"totalEmailsFound": 5,
"validFormat": 4,
"invalidFormat": 1,
"sources": {
"website_crawl": 3,
"common_patterns": 10,
"name_patterns": 0
}
},
"emails": [
{
"email": "contact@example.com",
"formatValid": true,
"localPart": "contact",
"domain": "example.com",
"issues": [],
"sources": ["common_patterns", "website_crawl"],
"discoveredBy": "common_patterns"
},
...
],
"mxRecords": {
"domain": "example.com",
"hasMxRecords": true,
"mxRecords": [
{"preference": 10, "exchange": "mail.example.com"}
]
},
"crawlResults": {
"pagesCrawled": ["https://example.com", "https://example.com/contact"],
"pageErrors": {},
"emailsFoundOnWebsite": ["contact@example.com"]
}
}

Individual Email Entries

Each validated email is also pushed as a separate dataset item for easy CSV/JSON export, including the search domain and MX record status.

How It Works

  1. Input Validation — Cleans the domain and validates required fields
  2. Website Crawling — Fetches the website homepage and common pages, extracts all visible email addresses
  3. Pattern Generation — Generates common (info@, contact@, etc.) and name-based (first.last@) patterns
  4. Validation — Validates each email's format with detailed RFC-style checks
  5. MX Check — Queries DNS MX records to verify the domain can receive email
  6. Dedup & Output — Merges, deduplicates, and outputs results

Use Cases

  • Lead generation and prospecting
  • Sales outreach contact discovery
  • Marketing campaign list building
  • Competitor analysis
  • Finding press/media contacts
  • Discovering support/billing contacts

Limitations

  • Crawls publicly visible pages only — does not bypass authentication or scrape behind logins
  • Email pattern generation produces likely addresses but cannot confirm deliverability without sending an actual email
  • MX record checking confirms the domain can receive email, but does not verify individual email existence
  • Some websites obfuscate email addresses (e.g., using JavaScript or images) which cannot be extracted with simple HTTP crawling
  • Respects robots.txt is recommended when used at scale