Website Emails Scraper avatar

Website Emails Scraper

Pricing

from $1.40 / 1,000 contact email extracteds

Go to Apify Store
Website Emails Scraper

Website Emails Scraper

Extract verified business contact emails from any website. Features Cloudflare decryption, anti-bot de-obfuscation, and smart contact page routing. Structured output with priority sorting for B2B lead gen. Pay-per-event: pay only for emails found!

Pricing

from $1.40 / 1,000 contact email extracteds

Rating

5.0

(4)

Developer

CodeScraper

CodeScraper

Maintained by Community

Actor stats

2

Bookmarked

34

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

⚡ Website Email Scraper

Fast • Lightweight • High-Yield • Pay-Per-Event

Extract public business contact emails from websites at scale.

Built for speed, low memory usage, strong email filtering, and broad contact-page discovery across international websites, using a pure HTTP engine with full socket-level timeout control — no browser required.


🚀 What It Finds

For each target website, the actor:

  • 📧 Finds public business email addresses
  • 🔎 Checks contact, Impressum, legal, support and other high-value pages
  • 🇩🇪 Handles German pages: Impressum, Kontakt, Rechtliches, Datenschutz, Widerruf, Kundenservice
  • 🔐 Decodes Cloudflare-protected email addresses
  • 🧩 Handles common email obfuscation formats ([at], [dot], unicode escapes, HTML entities)
  • 🧹 Removes tracking, framework, placeholder, and technical false positives
  • 🔗 Keeps the exact source page for every email
  • ⚡ Pushes each website result immediately when done — no waiting for the full batch

📩 Email Quality

The scraper accepts legitimate business emails even when the email domain differs from the website domain:

friendlyglitter.de
└── info@glitzer-tattoo.net ✅

It removes common junk such as:

hash@sentry.wixpress.com ❌
formatjs/intl-segmenter@11.7.10 ❌
example@yourdomain.com ❌
cdn/library/tracker addresses ❌

Emails are deduplicated and classified as:

PriorityTypical addresses
Highinfo@, contact@, hello@, support@, kontakt@, office@
Mediumsales@, marketing@, press@, careers@, legal@
LowPersonal names, specialized, or external mailboxes

🌍 International & German Websites

The contact-page finder recognizes many path variations, including:

/contact /contact-us /kontakt
/impressum /imprint /legal
/legal-notice /legal-notices /rechtliches
/datenschutz /widerruf /refund-policy
/support /kundenservice /about

This is especially useful for European websites where contact information is often placed on legal or policy pages.


⚡ Speed & Reliability

Built for high-volume scraping with no hangs:

  • Pure Node.js HTTP — no browser rendering, no Playwright, no Puppeteer
  • Socket-level timeouts — DNS, TCP, TLS, and response all bounded (dead sites fail fast)
  • Immediate per-domain output — completed domains push without waiting for the batch
  • Parallel processing — custom concurrency pool, up to 50 simultaneous domains
  • Low memory — ~130 MB average usage
  • Cloudflare decoding — handles email protection tokens automatically

Note: The actor does not execute JavaScript like a real browser. Emails that only appear after JavaScript network requests will not be discoverable — but emails in server-rendered HTML, embedded JSON, hydration state, and inline scripts are all scanned.


⚙️ Input

startUrls

Required

[
"https://inoleds.com/",
"https://friendlyglitter.de/",
"https://candy24.de"
]

maxConcurrency

Default: 20 | Range: 1–50

Maximum number of domains processed simultaneously.

  • 20 is recommended for most runs
  • Increase to 30–50 for very large batches
  • Lower to 5–10 if you see memory warnings

maxContactPages

Default: 1 | Range: 0–3

Maximum number of additional contact/impressum/about pages fetched per domain beyond the homepage.

  • 0 — Homepage only (fastest, lowest cost)
  • 1 — Homepage + top contact page (recommended)
  • 2–3 — For sites that spread contact info across multiple pages

🧪 Example Input

{
"startUrls": [
"https://inoleds.com/",
"https://friendlyglitter.de/",
"https://candy24.de"
],
"maxConcurrency": 20,
"maxContactPages": 1
}

📊 Example Output

{
"inputUrl": "https://inoleds.com/",
"normalizedUrl": "https://inoleds.com",
"emailCount": 1,
"emails": [
{
"email": "hello@inoleds.com",
"priority": "high",
"source": "https://inoleds.com/legal-notices/"
}
],
"processTimeMs": 1840,
"scrapedAt": "2026-09-13T10:00:00.000Z"
}

💲 Pay-Per-Event

$0.002 per unique extracted email

You are only charged for emails actually found — not for failed requests, dead sites, or empty pages.

500 emails × $0.002 = $1.00
1,000 emails × $0.002 = $2.00

Results are pushed immediately per domain as they complete.


💼 Use Cases

  • B2B lead generation
  • Sales prospecting
  • CRM enrichment
  • Website directory enrichment
  • Contact database building
  • PR and partnership research
  • Business outreach

🔐 Responsible Use

Only use publicly available contact information and comply with applicable privacy, data protection, and communications laws in your jurisdiction.


Turn websites into clean, usable contact leads. ⚡