If you scrape leads from LinkedIn, GitHub, or company directories, you already know the ugly truth: a huge chunk of those emails are dead on arrival. People switch jobs, scraping tools guess names wrong, and some addresses are completely made up. If you load an uncleaned list into your email tool and hit send, your emails will bounce, Google and Outlook will flag your domain, and your future emails will land straight in spam. Here is a simple, no-nonsense guide to cleaning scraped lists before you send a single message.
Why scraped email lists are so messy
Most scraping tools do not actually know if an inbox exists. What they usually do is look at a person's name and company, then guess the pattern—like first.last@company.com or first@company.com. If the company uses a different setup, that guess bounces.
On top of that, people change jobs constantly. Someone's LinkedIn might still say they work at a company they left three months ago. If you send an email to their old work address, the mail server rejects it immediately.
Here are the biggest problems hiding in raw scraped lists:
- Guessed email patterns that nobody actually owns (e.g. mike@company.com when his actual inbox is michael.s@company.com)
- Old work emails for people who have already left the company
- Spam traps—old, abandoned inboxes that email providers watch to catch people sending blind cold emails
- Fake or throwaway emails, especially from developer profiles or web forms
- Role addresses like info@ or admin@ that go to shared inboxes or spam folders instead of decision-makers
What a good verification check actually looks for
Cleaning an email list is not just about spotting typos. A proper email verification tool runs each address through a few quick checks behind the scenes:
- Formatting check: Fixes obvious mistakes, extra spaces, and broken characters.
- Domain & mail server check: Makes sure the company's website is real and their email system is actually set up to receive mail.
- Temporary inbox filter: Weed out disposable, 10-minute email addresses.
- Live mailbox check: Pings the recipient's mail server and asks, 'Does this specific inbox exist?' without ever sending a real email or alerting the person.
- Catch-all warning: Flags domains that are set up to accept any email address you throw at them, which carry a higher risk of bouncing later.
LinkedIn emails vs. GitHub emails: What is the difference?
Where you get your leads changes the kind of bad data you need to watch out for:
LinkedIn and Sales Navigator: Almost all of these are business emails. The biggest risks here are guessed naming patterns and outdated job titles. You need to make sure the company's mail server confirms the person actually works there right now.
GitHub: Sourcing developers from GitHub is different because you often get personal emails (like Gmail) or GitHub's privacy-protected relay addresses (like username@users.noreply.github.com). You need to filter out those 'noreply' addresses immediately and check that the personal inboxes are active.
Why real-time checking matters (and why old data burns you)
Some verification tools try to save money by giving you old, stored results from a database they built months ago. If someone left their company two weeks ago, an old database will still tell you their email is good. When you send your email, it bounces.
MailTooth does not use stale cached data. Every time you check an email—whether it is one address or a list of ten thousand—our system checks the mail server live at that exact moment. If an inbox closed yesterday, you will know before you send.
How to clean your scraped list with MailTooth
You can clean your scraped leads in two simple ways:
Option 1: Upload your spreadsheet. Take the CSV file you exported from your scraper and drop it into the MailTooth dashboard. In a few minutes, you will get a clean file back, sorted neatly into Deliverable, Risky (Catch-all), and Invalid. You only export and pay for the ones that are safe to send to.
Option 2: Connect the API. If you run your own scraping scripts in Python, Node.js, or tools like Make and Zapier, you can plug in the MailTooth API. That way, every lead gets verified the second it is scraped, and bad emails never even make it into your spreadsheet or CRM.
Quick questions about verifying scraped emails
Will the person know I checked their email? No. Verification works by starting a quick technical handshake with the mail server and disconnecting before any message is sent. The inbox owner never gets a notification or an email.
What is a safe bounce rate for cold outreach? Keep your bounce rate under 2%. If more than 3 out of every 100 emails bounce, Google and Outlook will start pushing your emails into spam. If it goes higher, your email provider might suspend your account.
What should I do with emails marked as 'Catch-all'? Catch-all means the company's server accepts all mail, so outside tools cannot be 100% sure the mailbox is real. If the lead is high-value, send to them carefully in small batches. If they are cold or low priority, it is usually safer to leave them out.
Can I verify personal emails like Gmail and Yahoo? Yes. MailTooth checks both corporate work emails and standard consumer domains like Gmail, Outlook, and Yahoo.
Put the framework into practice.
Start with 100 credits and inspect your own verification results. No card required.
Verify emails free