Lead Validation: Checking Email, Phone and Company Data Before Outreach
Lead validation means checking each field of a lead record with the test that fits it before anyone acts on it. Verify the email over SMTP. Parse the phone number and, where it matters, look up its line type. Confirm that the company domain exists and accepts mail. Remove duplicates. Then score the whole record and route it: ready, needs review, or reject. No single check proves a lead is good. Together they catch most of what makes outreach fail.
This guide goes field by field, states what each check can and cannot prove, and ends with a scoring rule and a worked example.
Start by normalising and deduplicating
Validate each person once. Before any check:
- Lowercase and trim email addresses.
- Convert phone numbers to E.164 format (
+14155550123), so the same number written three ways becomes one. - Strip
https://,www.and paths from website fields, leaving the bare domain. - Remove exact duplicates, then look for the same person under two addresses.
Field 1: the email address
This is the field most outreach depends on, and the one you can check most rigorously.
A proper email verification runs these steps in order, as our post on syntax, MX and SMTP checks explains:
- Syntax: is it a well-formed address?
- Domain: does the domain exist, and does it publish MX records?
- Disposable and role detection: is it a throwaway domain or a shared inbox like
info@? - Mailbox: does the receiving server accept this recipient? Answered over SMTP, without sending a message.
- Catch-all detection: does the server also accept a made-up recipient? If so, its "yes" proves nothing.
| Result | What it means | What to do |
|---|---|---|
| Valid | The receiving server accepted this mailbox and rejected a made-up one | Ready for email |
| Risky: catch-all | The domain accepts every address, so this one cannot be confirmed | Review. Send in a capped segment |
| Risky: role address | A shared inbox such as sales@ |
Depends on use case |
| Risky: unverifiable | The server hid the mailbox status or never answered | Review or re-check later |
| Invalid | The server rejected the mailbox, the domain cannot receive mail, or the domain is disposable | Do not email |
The ceiling: on a catch-all domain, no SMTP check can tell a real mailbox from a made-up one. In our Email List Health Report 2026, 27.5% of 54,463 domains accepted a made-up address. Expect a real share of B2B leads to come back risky however good the tool is. The catch-all decision framework shows how to decide how many to send.
Field 2: the phone number
Phone validation has two levels, and they answer different questions.
Level 1: is it a correctly formed number?
Google's open-source libphonenumber is the reference library. Its isValidNumber function performs "full validation of a phone number for a region using length and prefix information". That catches wrong lengths, impossible area codes and numbers missing their country code. It is offline and instant.
It cannot tell you whether the number is assigned to anyone, or to whom. Our guide on how to check if a phone number is valid explains the four levels of checking in detail.
Level 2: what kind of line is it?
A live carrier lookup queries telecom data and returns the line type (mobile, landline or VoIP) and the current carrier. That matters because:
- texts only reach numbers that can receive SMS;
- in the US, calling and texting rules differ for mobile numbers;
- a VoIP number on a "direct dial" field may be a switchboard or a virtual line.
The ceiling: in service is not the same as reachable
A lookup tells you how the number is set up. It does not tell you that the person on your list still has it. Numbers are disconnected and reassigned. In the US, the FCC runs the Reassigned Numbers Database, which "is designed to prevent a consumer from getting unwanted calls intended for someone who previously held their phone number". If you call or text US consumers at scale, check that database alongside your line-type results.
SimpleVerifier's phone checks report format, country and line type. They never claim that a number is in service or that a particular person answers it.
Field 3: the company and its domain
A lead whose company does not exist is not a lead. Check three things.
- The domain resolves and receives mail. Run an MX lookup. A company domain with no mail servers cannot be the domain in a working business address.
- The email domain matches the company.
jane@acme.comfor a lead at Acme is consistent.jane@acme-consulting.netfor the same lead is worth a second look. Note that large companies sometimes use a mail domain different from their website domain, as our research on finding a CEO's email found. - The address is a business address. A free-mail address (
gmail.com,outlook.com) on a B2B lead is a review flag, not a rejection. Disposable domains are a rejection. The disposable email checker checks a domain against our list of 8,740.
Our guide to telling a business email from a personal one covers the edge cases.
Field 4: the name
Name checks are crude, but they catch the obvious fakes, especially on inbound forms.
Flag records where:
- the first or last name is a placeholder:
test,asdf,xxx, a single letter or keyboard runs; - the name field contains an email address or a URL;
- the name and the email clearly disagree, for example
John Smithwithmaria.garcia@company.com. This is common on shared forms and data merges; - every field is in capitals or none of them are, on a source where that is unusual.
None of these proves a lead is fake. They route the record to review instead of straight into a sequence.
Scoring the whole record
Combine the field results into a routing decision. A simple, transparent rule works better than an opaque score.
| Condition | Route |
|---|---|
| Email invalid and no valid phone | Reject |
| Email disposable, or name is a placeholder | Reject |
| Duplicate of an existing record | Merge, keep the most complete version |
| Email valid, company domain consistent | Ready for email |
| Email valid, phone mobile and correctly formed | Ready for email, call and text, subject to the rules where the person is |
| Email risky (catch-all or unverifiable) | Needs review, or a capped email segment |
| Email invalid, phone valid | Ready for calling only; flag the email for re-sourcing |
| Free-mail address on a B2B lead | Needs review |
| Email and company domain disagree | Needs review |
The important design choice is that one failed field does not delete a lead. A record with an invalid email and a good mobile number is still a phone lead. A record with a valid email and a landline is still an email lead.
Worked example: 2,000 leads from mixed sources
A sales team pulls 2,000 leads from a webinar registration list and a data-provider export. The figures are illustrative.
After normalising: 1,930 unique people (70 duplicates merged).
Field results:
| Check | Pass | Flag | Fail |
|---|---|---|---|
| 1,410 valid | 340 risky (catch-all, role, unverifiable) | 180 invalid, including 12 disposable | |
| Phone present | 1,160 | 770 missing | |
| Phone format (of 1,160) | 1,090 valid | 70 invalid | |
| Phone line type (of 1,090) | 610 mobile, 380 landline | 100 VoIP | |
| Company domain | 1,700 consistent | 230 free-mail or mismatched | |
| Name | 1,905 plausible | 25 placeholders |
Routing:
| Bucket | Count | Rule applied |
|---|---|---|
| Rejected | 110 | 12 disposable emails, 73 invalid emails with no usable phone, 25 placeholder names |
| Ready for email | 1,330 | Valid email, consistent domain, plausible name |
| Ready for calling only | 95 | Invalid email, but a correctly formed phone number |
| Needs review | 395 | 340 risky emails, plus 55 valid emails on a free-mail or mismatched domain |
Without validation, the 180 invalid addresses would have gone into a sequence. That is 9.3% of the list, well over the 5% bounce line at which Amazon SES places an account under review and above which Instantly pauses campaigns by default. With validation, 95 of those people are still reachable by phone.
Common mistakes
| Mistake | What goes wrong |
|---|---|
| Treating "valid format" as "reachable" for phone numbers | A well-formed number can be disconnected or reassigned |
| Deleting every lead with a risky email | Catch-all domains hold many real people. Review them instead |
| Validating before deduplicating | You pay for, and review, the same person twice |
| Rejecting all free-mail addresses on B2B leads | You lose founders and small-business owners who use them |
| Letting a single failed field delete the record | A reachable phone lead or email lead is thrown away |
| Validating once at entry and never again | Data decays. A lead captured last quarter needs re-checking before use |
| Mixing validation with enrichment in one step | You pay to enrich records that validation would have rejected |
Validate at entry, then again before use
Lead data decays from the moment it is captured. Validate twice:
- At entry, in real time on forms, or in bulk on imports.
- Before use, if more than a few weeks have passed.
For automated flows, the SimpleVerifier API checks both email addresses and phone numbers, and the Zapier and webhook guide shows how to verify each new lead as it arrives.
Tools and prices
| Need | SimpleVerifier plan |
|---|---|
| Clean an email list occasionally | Pay-as-you-go: $9 for 2,500 or $19 for 10,000 verifications, credits never expire |
| Unlimited email verification, email finder, phone format and line-type checks, API | Pro, $29.99 a month |
| All of Pro, plus 5,000 live carrier lookups a month with real line type (including US numbers) and carrier name | Email + Phone, $49.99 a month |
Details are on the pricing page. For one-off checks, use the email checker or the phone number validator.
The short version
Validate leads field by field with the right check for each: SMTP verification for email, format plus line-type lookup for phone, DNS and domain checks for company, and simple rules for names. Respect each check's limits: catch-all mailboxes cannot be confirmed and phone lookups cannot prove the person still answers. Score the whole record, route it to ready, review or reject, and never let one failed field throw away a reachable lead.
Common questions
What is lead validation?
Lead validation is checking that the contact data in a lead record is usable before you act on it: the email address accepts mail, the phone number is correctly formed and of the right type, the company and domain are real, and the record is not a duplicate or a fake. It sits between collecting a lead and handing it to sales or a sequence.
How do I validate a lead's email address?
Run it through an email verifier that checks syntax, the domain's mail servers and the mailbox itself over SMTP, without sending a message. The result is valid, risky or invalid. Risky covers catch-all domains, role addresses and mailboxes that hide their status, which no SMTP check can confirm.
Can phone validation tell me if a number is still in service?
Not reliably. Format validation, such as Google's libphonenumber, checks length and prefix rules. A live carrier lookup can return the line type and current carrier. Neither proves that the person on your list still uses the number. In the US, the FCC's Reassigned Numbers Database exists to check whether a number may have been reassigned.
Should I reject leads that use a Gmail or Yahoo address?
Not automatically. For B2B, a free-mail address is a signal to review, not a reason to delete. Founders and small-business owners often use one. Flag it, check the company field, and decide by your use case.
What is the difference between lead validation and lead enrichment?
Validation checks the data you already have. Enrichment adds data you did not have, such as a job title or company size from a third-party source. Validate first, so you do not pay to enrich records that will be rejected anyway.
Verify unlimited addresses for $29.99/month
Real SMTP mailbox checks. No credits, no per-email fees.
Get Started