Website Email Extractor avatar

Website Email Extractor

Pricing

Pay per usage

Go to Apify Store
Website Email Extractor

Website Email Extractor

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Alex Claw

Alex Claw

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract emails, phone numbers, and social media profiles from any website. Crawls pages on the same domain with configurable depth and deduplicates all results.

Features

  • Email extraction -- finds emails in page text, mailto: links, and HTML attributes
  • Phone number extraction -- international formats (+1-555-123-4567, +44 20 7946 0958, etc.)
  • Social media profiles -- LinkedIn, Twitter/X, Facebook, Instagram, YouTube, GitHub
  • Smart crawling -- follows same-domain links with configurable depth
  • Deduplication -- all emails, phones, and profiles are deduplicated across pages
  • Source tracking -- tracks which pages each email was found on
  • False-positive filtering -- filters out image artifacts, example.com, test domains
  • Robots.txt respect -- skips pages disallowed by robots.txt
  • Rate limiting -- 0.5s delay between requests to avoid overloading servers

Input

ParameterTypeDefaultDescription
urlsarrayrequiredWebsite URLs to extract contacts from (e.g., https://example.com)
maxPagesPerSiteinteger10Max pages to crawl per domain
crawlDepthinteger2Link-following depth (1 = starting page only)
extractPhonesbooleantrueExtract phone numbers
extractSocialsbooleantrueExtract social media profile links
proxyConfigurationobjectnoneProxy settings for requests

Example input

{
"urls": ["https://example.com", "https://another-site.org/about"],
"maxPagesPerSite": 20,
"crawlDepth": 3,
"extractPhones": true,
"extractSocials": true
}

Output

Each domain produces one dataset item with all found contacts:

{
"domain": "example.com",
"url": "https://example.com",
"emails": ["contact@example.com", "info@example.com"],
"phones": ["+1-555-123-4567"],
"socialProfiles": {
"linkedin": "https://linkedin.com/company/example",
"twitter": "https://twitter.com/example",
"facebook": null,
"instagram": null,
"youtube": null,
"github": "https://github.com/example"
},
"pagesScraped": 5,
"foundOnPages": {
"contact@example.com": [
"https://example.com/contact",
"https://example.com/about"
],
"info@example.com": [
"https://example.com"
]
}
}

Use Cases

  • Lead generation -- build prospect lists with verified contact information
  • Sales outreach -- find decision-maker emails and LinkedIn profiles
  • Business directories -- enrich company data with contact details
  • Competitor research -- discover team members and organizational contacts
  • SEO & link building -- find webmaster contact information
  • Market research -- collect contact data from industry websites

How It Works

  1. For each input URL, the actor identifies the domain and fetches robots.txt
  2. Starting from the input URL, it crawls pages using BFS (breadth-first search)
  3. On each page, it extracts emails, phone numbers, and social media links
  4. It follows same-domain links up to the configured crawl depth
  5. Results are deduplicated and pushed as one dataset item per domain

Pricing

Pay per result: $2.00 per 1,000 pages crawled.

Limitations

  • Only extracts from publicly accessible pages (no login-protected content)
  • JavaScript-rendered content is not supported (static HTML only)
  • Very large sites may hit the maxPagesPerSite limit before finding all contacts
  • Phone number extraction may produce false positives on pages with many numbers
  • Social media links must be standard profile URLs (custom share widgets may be missed)