How to Scrape Email Addresses From Websites for Free
Your founder walks over on a Monday morning and says, "We need 500 prospect emails by Friday. Don't spend any money." You nod, open a new tab, and start searching for ways to scrape email addresses from websites free. The extraction part is easy. Surviving the send - keeping your domain off blacklists, your bounce rate under 3%, and your sequences out of spam folders - that's where most people blow it.
We've seen teams burn through three domains before learning this lesson. Let's fix both problems.
What You Need (Quick Version)
- For a handful of emails right now: Email Extractor Chrome extension - free, 400K users, one-click extraction.
- For developers who want full control: Python + regex - free, but you handle verification yourself.
Whichever method you pick, don't skip verification. Raw scraped emails will wreck your sender reputation.
3 Free Methods to Extract Emails From Websites
Chrome Extensions (Fastest)
Use this if you need to pull emails from a specific website or a batch of URLs in the next five minutes. Email Extractor (400K users, 4.7-star rating) is the go-to free website email scraper - install it, click the icon, and it scans the page for anything that looks like an email address. Its AutoVisit mode can crawl up to 1,000 URLs in sequence. Thunderbit (90K users, 4.6 stars) is a solid alternative that stores data locally, which some teams prefer for compliance reasons.

Skip this if you need verified emails. These extensions extract raw addresses - dead inboxes, typo traps, and honeypots all come along for the ride.
Free-Tier Email Tools
If you want emails actually safe to send, free-tier tools are the smarter play.
| Tool | Free Credits/Mo | Accuracy | Paid From |
|---|---|---|---|
| Prospeo | 75 emails + 100 ext. | 98% | ~$39/mo |
| Hunter | 50 searches + 50 verify | 89-95% | $49/mo |
| Apollo | 75 credits | 70-80% | $59/user/mo |
| Skrapp | 100 credits | ~98% | $39/mo |
| Lusha | 40 credits | ~80% | $49/mo |

The critical difference: Prospeo and Hunter include real verification in their free tiers. Apollo and Lusha give you contact data, but you're on your own for bounce-proofing. That distinction matters more than credit count.
Free tiers work fine for small batches of 50-100 emails. Once you go beyond that, you'll want paid credits and proper verification to keep bounces manageable.
If you're comparing options, start with a shortlist of email hunter tools and cold email marketing tools so you don't end up duct-taping five products together.
DIY With Python
For the technical crowd who want to extract addresses from any site using their own code, a simple httpx + BeautifulSoup stack gets the job done. The core regex pattern for pulling emails from page source:
r'([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})'
This catches most addresses but also grabs false positives like image@2x.png, so you'll need a cleaning step. If emails appear in DevTools under "Inspect" but not in "View Page Source," the page is JavaScript-rendered and you'll need a headless browser like Playwright. Start with contact pages, footers, and about pages before crawling an entire domain - you'll get 80% of the emails from 5% of the pages, and you won't hammer the server with unnecessary requests.
Some teams now pipe raw page text into an LLM to extract and clean emails, but that adds API costs and latency for marginal gains. If you go that route, keep an eye on data quality so you don't scale bad inputs.

Scraping raw emails is the easy part. Surviving the send is what matters. Prospeo's 143M+ email database is pre-verified through a 5-step process - catch-all handling, spam-trap removal, honeypot filtering - so you skip the scrape-clean-verify dance entirely. 98% accuracy at ~$0.01/email.
Stop scraping dirty lists. Start with emails that are already verified.
Why Verification Matters More Than Scraping
Here's the thing: scraping emails without verifying them is like filling a gas tank with water. It looks full, but nothing works.

Raw scraped lists often bounce at 15-25%, well above the safe zone. ISPs start filtering aggressively when bounce rates creep above 2-3%. Above 5%, you risk getting blocked outright. And scraped lists are riddled with spam traps - pristine honeypots planted to catch scrapers, recycled dead inboxes, and typo traps on domains like gmal.com. A single spam trap hit can drop your deliverability by up to 50%.
Gmail and Yahoo now require SPF/DKIM/DMARC authentication for anyone sending 5,000+ messages per day, which makes raw lists an even bigger liability than they were two years ago. If you need the setup steps, follow a proper SPF, DKIM, DMARC checklist.
Most standalone verifiers don't solve this as well as you'd think. A Hunter benchmark testing 15 verifiers found the best overall accuracy was 70%. Snov.io came in at 31.2%. Those numbers should scare you. (If you're shopping, compare email checker tools and email ID validators before you commit.)
That's why we recommend tools with built-in verification rather than a separate scrape-then-verify workflow. Every email in Prospeo's 143M+ database goes through a 5-step process - catch-all handling, spam-trap removal, honeypot filtering, and proprietary infrastructure that doesn't rely on third-party email providers. The result is 98% accuracy. Stack Optimize built their agency to $1M ARR on this data: 94%+ client deliverability, bounce rates under 3%, zero domain flags across all clients.
Legal Reality Check
Email addresses count as personal data under GDPR. Full stop.

Cumulative GDPR fines have hit roughly EUR 5.88B across 2,245 enforcement actions, with penalties running up to EUR 20M or 4% of global turnover. CAN-SPAM operates on an opt-out model with penalties up to $53,088 per violation. GDPR requires opt-in, with a legitimate interest exception in limited B2B cases.
If you're doing B2B outreach, always include an opt-out link and never scrape personal or consumer addresses. The consensus on r/sales is that B2B cold email is fine as long as you're targeting business addresses, providing clear opt-outs, and not being a jerk about it. That tracks with our experience too. For a deeper compliance read, see GDPR for Sales and Marketing.
The Smart Workflow
- Scrape - pull raw addresses from target websites or directories.
- Clean - dedupe, remove obvious junk (noreply@, info@, image filenames).
- Verify - run through a tool with real verification, not just syntax checking.
- Send - with SPF, DKIM, and DMARC properly configured.

Real talk: if your deal sizes are under five figures, you probably don't need to scrape at all. A tool with a pre-verified database and a free tier will get you further, faster, and without the domain risk. The scrape-clean-verify dance only makes sense at scale or for niche directories that no database covers. If you're ramping volume, read cold email volume best practices and how to prevent email blacklisting before you hit send.

Stack Optimize built a $1M agency on Prospeo data: 94%+ deliverability, under 3% bounce rate, zero domain flags. Your free tier includes 75 verified emails and 100 Chrome extension credits per month - no credit card, no contracts, no bounced-email surprises.
Get 75 verified emails this month without scraping a single page.
FAQ
Is it legal to scrape email addresses from websites?
B2B scraping from public websites is permissible under CAN-SPAM's opt-out model, and GDPR provides an opt-in framework with limited legitimate-interest exceptions. Always include an unsubscribe link and never scrape consumer or personal addresses. Fines reach EUR 20M or 4% of global revenue under GDPR.
How many emails can I extract for free each month?
Most free tiers give you 40-100 credits monthly. Prospeo offers 75 verified emails plus 100 Chrome extension credits - the best free balance of volume and accuracy. Extensions like Email Extractor have no hard cap but don't verify anything, so expect 15-25% bounce rates from those lists.
Why are my scraped emails bouncing?
Raw scraped addresses aren't verified. Lists contain dead inboxes, typo traps, and honeypots that trigger ISP filters. Even the best standalone verifiers only hit about 70% accuracy. Use a tool with built-in verification at 98%+ accuracy to keep bounce rates under 3%.
Can I scrape emails from websites free using Python?
Yes. A basic httpx + BeautifulSoup script with a regex pattern extracts addresses from any HTML page at zero cost. You'll need to handle JavaScript-rendered pages with Playwright and run results through a separate verifier. Expect 2-3 hours of setup for a reliable pipeline.
