Email Validator: How to Validate Email Addresses (Free + API, 2026)

Email validator that checks syntax, domain, MX records, SMTP, and spam traps. Free for 500 emails/mo. REST API available. 99.5% accuracy.

Updated February 2026

Email Validator: Everything You Need to Know

What email validation actually checks, how to read the results, which tools to use, and when to validate โ€” so your campaigns reach real inboxes and your sender reputation stays intact.

๐Ÿ“– 2,100 words โฑ 10 min read ๐Ÿ” 18,100 searches/mo
EW
Email Wipes Team
February 19, 2026 ยท Email deliverability specialists

What Email Validation Is and Why It Matters

Email validation is the process of confirming that an email address is real, properly formatted, and capable of receiving messages โ€” before you attempt to send to it. It's the difference between building a list of actual customers and building a list of typos, abandoned accounts, and spam traps.

The stakes are higher than most senders realize:

  • Hard bounce rate above 2%: Most ESPs (Mailchimp, SendGrid, ActiveCampaign) automatically suspend accounts that cross this threshold. A single campaign to an unvalidated list can end your sending access overnight.
  • Spam complaint rate above 0.1%: Gmail's sender guidelines mark this as the threshold where your domain reputation begins to deteriorate โ€” emails start landing in spam across all recipients, not just the complainers.
  • Spam trap hits: Sending to known spam traps โ€” addresses maintained specifically to catch irresponsible senders โ€” gets your sending IP blacklisted. Delisting takes days to weeks.

The list decay rate makes this worse. Email addresses go invalid at a rate of roughly 2% per month. A list collected two years ago has potentially lost 40%+ of its valid addresses โ€” and those invalid slots are now bounce risks or, worse, recycled spam traps. This is why validation isn't a one-time task: it's an ongoing list maintenance practice.

๐Ÿ’ก Rule of thumb: Validate any list before its first campaign send, and re-validate any list that's been idle for more than 90 days. The cost of validation is always less than the cost of a damaged sender reputation.

How Email Validation Works (5 Layers)

Basic "email validators" only check formatting โ€” they'd accept [email protected] as valid because the syntax looks right. Real email validation runs five progressive checks, each catching a different class of problem:

1

Syntax Check (RFC 5321 Rules)

The first check confirms the address is structurally valid according to RFC 5321 โ€” the technical standard governing email address format. This catches obvious problems: missing @ signs, invalid characters, double dots, spaces, and malformed local parts.

Valid: [email protected] | Invalid: user @domain.com, user..name@domain
2

Domain and MX Record Lookup

Even a syntactically valid address is useless if the domain doesn't exist or doesn't have mail servers configured. Layer 2 performs a DNS lookup to confirm the domain is real, then checks its MX (Mail Exchange) records to verify it's actually set up to receive email. [email protected] fails this check even if the syntax is perfect.

DNS lookup โ†’ MX record query โ†’ validate mail server configuration
3

SMTP Handshake Verification

The most important check. Layer 3 connects to the mail server and simulates the start of an email delivery โ€” asking whether the specific mailbox exists โ€” without actually sending any message. The server responds with "250 OK" (exists) or "550 User Unknown" (doesn't exist). This catches invalid mailboxes at valid domains: [email protected] would fail here.

EHLO โ†’ MAIL FROM โ†’ RCPT TO โ†’ check response code โ†’ disconnect
4

Catch-All Detection

Some mail servers are configured to accept all incoming SMTP connections, regardless of whether the mailbox actually exists. These "catch-all" servers return "250 OK" for any address โ€” even [email protected]. Layer 4 detects catch-all behavior by testing a deliberately invalid address. If the server accepts it, the whole domain is flagged as catch-all, and individual addresses are marked as "risky" rather than confirmed.

Test with random address โ†’ if accepted, flag domain as catch-all
5

Spam Trap & Disposable Address Detection

The final layer cross-references the address against curated databases: known spam traps (recycled addresses repurposed to catch bad senders), disposable email domains (Mailinator, Guerrilla Mail, Temp-Mail, and 50,000+ others), and role-based accounts (info@, admin@, support@) that typically belong to groups rather than individuals and generate higher complaint rates.

Cross-reference: spam trap DB + 50,000+ disposable domains + role-based pattern detection

Email Validator Results Explained

After validation, each email address receives a status code. Here's exactly what each status means and what action to take:

Status What It Means Recommended Action
โœ… Valid Syntax correct, domain has MX records, SMTP confirms mailbox exists, not a trap or disposable Keep. Safe to send โ€” this is a real, deliverable address.
โŒ Invalid Mailbox does not exist on the server (550 SMTP response), or domain has no MX records, or syntax is malformed Remove immediately. Sending here causes a hard bounce.
โš ๏ธ Catch-All Server accepts all addresses; can't confirm if this specific mailbox exists Use with caution. Consider suppressing high-volume sends; test a small segment first.
๐Ÿ—‘๏ธ Disposable Temporary / throwaway email address from a known disposable email provider Remove. No real person wants to be reached here long-term.
๐Ÿ‘ฅ Role-Based Address belongs to a group or function (info@, admin@, support@, sales@) rather than an individual Remove or segment separately. High complaint risk; not suitable for personal campaigns.
โ“ Unknown Can't determine status โ€” server timed out, greylisted, or blocked SMTP probe Suppress until confirmed. Don't send; retry validation later or exclude from campaigns.

โš ๏ธ Don't ignore catch-all: Catch-all addresses are the most common source of unexpected bounces after validation. If your list has a high catch-all percentage (common in enterprise domains), consider a more conservative send strategy: send to catch-all addresses only after warming up engagement on confirmed valid contacts.

Free Email Validator Tools Compared

Several email validation services offer free tiers โ€” but the differences in accuracy, API access, and feature depth are significant. Here's how the top five compare:

Tool Free Tier Accuracy API Bulk Upload Price per 1K
Email Wipes 500/mo 99.5% โœ… REST API โœ… CSV upload From $0.50
ZeroBounce 100/mo 98%+ โœ… REST API โœ… CSV upload From $1.50
NeverBounce Trial only 99.9%* โœ… REST API โœ… CSV upload From $0.80
BriteVerify None 97%+ โœ… REST API โœ… CSV upload From $1.50
Debounce 100/mo 97%+ โœ… REST API โœ… CSV upload From $0.40

*NeverBounce's claimed accuracy is self-reported and applies to their full validation suite on verified records.

โœ… Start free: Email Wipes gives you 500 validations per month โ€” no credit card required. That's enough to validate a new list, test an import, or maintain a small active list. Start validating โ†’

Email Validator API (for Developers)

For real-time validation at signup or programmatic list cleaning, use the Email Wipes REST API. A simple HTTP request returns a full validation result in under 300ms โ€” fast enough to integrate inline with form submissions without user-visible delay.

Single Email Validation

cURL
curl -X GET "https://api.emails-wipes.com/v1/[email protected]" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
JavaScript (fetch)
const response = await fetch( 'https://api.emails-wipes.com/v1/[email protected]', { headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } } ); const result = await response.json(); console.log(result.status); // "valid", "invalid", "catch-all", etc.
Python
import requests response = requests.get( 'https://api.emails-wipes.com/v1/validate', params={'email': '[email protected]'}, headers={'Authorization': 'Bearer YOUR_API_KEY'} ) data = response.json() print(data['status']) # "valid", "invalid", "disposable", etc.

Example API Response

{ "email": "[email protected]", "status": "valid", "sub_status": null, "free_email": false, "disposable": false, "role": false, "catch_all": false, "mx_found": true, "mx_record": "aspmx.l.google.com", "smtp_check": true, "score": 0.98, "did_you_mean": null }

๐Ÿ’ก Integration tip: Use the API at form submission to block invalid and disposable addresses in real-time โ€” before they ever enter your list. This prevents list pollution at the source rather than cleaning it up later. See our best practices guide for full integration patterns.

When to Validate Your Email List

Email validation isn't a one-time setup. Lists decay constantly, and different events introduce different types of risk. Here are the four trigger events that should prompt immediate validation:

๐Ÿ“ค Before Sending Campaigns

Always validate before any campaign send โ€” especially to a list that hasn't been mailed in 90+ days. Unverified lists accumulate invalid addresses and spam trap risk over time.

๐Ÿ“ฅ After Importing New Lists

Any new list โ€” from events, lead magnets, database purchases, or partner data โ€” should be validated before its first use. Assume new lists are unclean until proven otherwise.

๐Ÿ—“๏ธ Quarterly Maintenance

At a minimum, validate your active list every 90 days. Email addresses go invalid at ~2% per month. Quarterly cleaning keeps your bounce rate under control year-round.

๐Ÿšจ Before Uploading to Your ESP

Most ESPs (Mailchimp, Klaviyo, ActiveCampaign) will suspend accounts for high bounce rates. Validate before upload so the ESP never sees the bad data in the first place.

Frequently Asked Questions

What does an email validator check?

A proper email validator runs 5 layers of checks: (1) syntax validation against RFC 5321 rules, (2) domain and MX record lookup to confirm the domain can receive email, (3) SMTP handshake to verify the specific mailbox exists without sending a message, (4) catch-all detection to flag servers that accept all addresses, and (5) cross-referencing against spam trap and disposable address databases.

Is email validation free?

Yes โ€” Email Wipes offers 500 free validations per month with no credit card required. For larger volumes, paid plans start from $0.50 per 1,000 emails. ZeroBounce and NeverBounce also offer free tiers, but Email Wipes provides the most generous free allocation for ongoing use.

How accurate is email validation?

Email Wipes achieves 99.5% accuracy on non-catch-all addresses. The one area of uncertainty is catch-all servers, which accept all SMTP connections regardless of whether the mailbox exists โ€” no tool can verify individual addresses on catch-all servers without actually sending an email. These are flagged separately so you can make an informed decision about them.

Can email validation remove all bounces?

Email validation removes the vast majority of bounces โ€” typically reducing hard bounce rates from 5โ€“15% down to under 0.5%. The remaining bounces come from addresses that were valid at validation time but became invalid before sending (email churn), or from catch-all addresses where the mailbox turned out not to exist. Re-validating lists older than 3 months minimizes this residual risk.

What's the difference between email validation and email verification?

The terms are used interchangeably in the industry. Technically, "email validation" often refers to format/syntax checking, while "email verification" implies the deeper SMTP-level check that confirms the mailbox actually exists. Modern tools โ€” including Email Wipes โ€” do both, plus spam trap detection and catch-all identification, making the distinction largely semantic in practice.

Validate Your Email List Free

500 free validations per month. No credit card required. Checks syntax, domain, SMTP, catch-all, disposable, and spam trap status โ€” in under 300ms per address. Start now and see what's actually lurking in your list.

Validate Your Email List Free โ†’