Free Email Verifier: Check Any Address Instantly

Your signup form accepts every email, including fakes and typos. Verify each address against MX records, SMTP, and a maintained database of known disposable domains before it enters your database.

https://phonevalidation.abstractapi.com/v1/
    ? api_key = YOUR_API_KEY
    & phone = 14154582468

{
    "phone": "14154582468",
    "valid": true
    "risk_score": 0.1,
    "registered_location": "San Francisco",
    "carrier": "Verizon USA",
    "line_type": "Mobile",
    "local_format": "4154582468",
    "international_format": "+14154582468",
"country_prefix" : "+1",
    "country_code": "US",
    "country_name":
"United Stated of America"
}

phone number validation api
Enter an email address to start
Need inspiration? Try
Try
test@abstractapi.com
Verify email
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Checking
5
Results for
email
Deliverability:
TEST
Free email:
TEST
Valid format:
TEST
Disposable email:
TEST
Valid SMTP:
TEST
Valid MX record:
TEST
Get free credits, more data, and faster results

What you get from email verification

Confirms the address can receive mail by checking format, DNS records, and the mail server's SMTP response.
Flags addresses from known temporary email providers and scores overall address quality and risk.
Returns the domain age, registration date, registrar, and whether DMARC and SPF are configured.
Checks the mail server without sending any message. No data is stored after the request completes.
Trusted for email verification by teams at
stars rating
4.8 from 1,863 votes
Logo compass
Wolters (1)
SalesforceLogo googleLogo pepsicoLogo wellfargo
Logo linkedinLogo paramount
Shadow left.avifShadow right.avif

How email verification works

Every verification runs six checks in sequence. Results return in under 300ms.
Format parsing
Checks the address against RFC 5322 syntax rules: valid characters, proper @ placement, and a well-formed domain.
MX record lookup
Queries the domain's DNS for mail exchange records. If no MX record exists, the domain cannot receive email.
SMTP verification
Connects to the domain's mail server and tests whether the specific mailbox accepts mail, without sending a message.
Disposable detection
Checks the domain against a database of known temporary email providers like Mailinator, Guerrilla Mail, and Temp Mail.
Catch-all detection
Identifies domains configured to accept mail to any address, where individual mailbox existence cannot be confirmed.
Quality scoring
Combines all signals into a single quality score from 0 to 1, so you can set your own threshold for what to accept.
Validate email addresses at scale
stars rating
4.8 from 1,863 votes
The same validation the tool above runs, available as an API.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No credit card required

Why verify email addresses

Signup form cleanup
Catch typos, fake addresses, and disposable emails at registration before they enter your database. Verification at the point of entry is cheaper and faster than cleaning your list later.
Fraud prevention
Disposable emails are a common signal in account fraud, promo abuse, and trial farming. Flagging them at signup reduces fake accounts without adding friction for real users.
Bounce rate reduction
Email providers like Gmail and Outlook track your bounce rate. Sending to invalid addresses pushes you toward spam filtering. Verifying your list before each send keeps your deliverability high.
Sender reputation protection
Your domain's sender reputation is cumulative. Every bounce and spam complaint counts against you. Verifying addresses before sending protects the reputation you have built over time.
For more information check our

See what the API returns

Every email verification returns a structured JSON response. The same data the tool shows above is available through the API, from one request to millions per month.

Response parameters

email_address

String
The email address you submitted for analysis.

email_deliverability.status

String
Whether the email is considered deliverable, undeliverable, or unknown.

email_deliverability.status_detail

String
Additional detail on deliverability (e.g., inbox_full, full_mailbox, invalid_format).

email_deliverability.is_format_valid

Boolean
Is true if the email follows the correct format.

email_deliverability.is_smtp_valid

Boolean
Is true if the SMTP check was successful.

email_deliverability.is_mx_valid

Boolean
Is true if the domain has valid MX records.

email_deliverability.mx_records

Array
List of MX records associated with the domain.

email_quality.score

Float
Confidence score between 0.01 and 0.99 representing email quality.

email_quality.is_free_email

Boolean
Is true if the email is from a known free provider like Gmail or Yahoo.

email_quality.is_username_suspicious

Boolean
Is true if the username appears auto-generated or suspicious.

email_quality.is_disposable

Boolean
Is true if the email is from a disposable email provider.

email_quality.is_catchall

Boolean
Is true if the domain is configured to accept all emails.

email_quality.is_subaddress

Boolean
Is true if the email uses subaddressing (e.g., user+label@domain.com).

email_quality.is_role

Boolean
Is true if the email is a role-based address (e.g., info@domain.com, support@domain.com).

email_quality.is_dmarc_enforced

Boolean
Is true if a strict DMARC policy is enforced on the domain.

email_quality.is_spf_strict

Boolean
Is true if the domain enforces a strict SPF policy.

email_quality.minimum_age

Integer
Estimated age of the email address in days, or null if unknown.

email_sender.first_name

String
First name associated with the email address, if available.

email_sender.last_name

String
Last name associated with the email address, if available.

email_sender.email_provider_name

String
Name of the email provider (e.g., Google, Microsoft).

email_sender.organization_name

String
Organization linked to the email or domain, if available.

email_sender.organization_type

String
Type of organization (e.g., company).

email_domain.domain

String
Domain part of the submitted email address.

email_domain.domain_age

Integer
Age of the domain in days.

email_domain.is_live_site

Boolean
Is true if the domain has a live website.

email_domain.registrar

String
Name of the domain registrar.

email_domain.date_registered

Datetime
Date when the domain was registered.

email_domain.date_last_renewed

Datetime
Last renewal date of the domain.

email_domain.date_expires

Datetime
Expiration date of the domain registration.

email_domain.is_risky_tld

Boolean
Is true if the domain uses a top-level domain associated with risk.

email_risk.address_risk_status

String
Risk status of the email address: low, medium, or high.

email_risk.domain_risk_status

String
Risk status of the domain: low, medium, or high.

email_breaches.total_breaches

Integer
Total number of data breaches involving this email.

email_breaches.date_first_breached

Datetime
Date of the first known breach.

email_breaches.date_last_breached

Datetime
Date of the most recent breach.

email_breaches.breached_domains

Array
List of breached domains.

email_breaches.breached_domains[].domain

String
Domain affected by the breach.

email_breaches.breached_domains[].date_breached

Datetime
Date when the breach occurred.

API Endpoint

curl --request GET \
  --url https://emailreputation.abstractapi.com/v1
{
  "email_address": "benjamin.richard@abstractapi.com",
  "email_deliverability": {
    "status": "deliverable",
    "status_detail": "valid_email",
    "is_format_valid": true,
    "is_smtp_valid": true,
    "is_mx_valid": true,
    "mx_records": [
      "gmail-smtp-in.l.google.com",
      "alt3.gmail-smtp-in.l.google.com",
      "alt4.gmail-smtp-in.l.google.com",
      "alt1.gmail-smtp-in.l.google.com",
      "alt2.gmail-smtp-in.l.google.com"
    ]
  },
  "email_quality": {
    "score": 0.8,
    "is_free_email": false,
    "is_username_suspicious": false,
    "is_disposable": false,
    "is_catchall": true,
    "is_subaddress": false,
    "is_role": false,
    "is_dmarc_enforced": true,
    "is_spf_strict": true,
    "minimum_age": 1418
  },
  "email_sender": {
    "first_name": "Benjamin",
    "last_name": "Richard",
    "email_provider_name": "Google",
    "organization_name": "Abstract API",
    "organization_type": "company"
  },
  "email_domain": {
    "domain": "abstractapi.com",
    "domain_age": 1418,
    "is_live_site": true,
    "registrar": "NAMECHEAP INC",
    "registrar_url": "http://www.namecheap.com",
    "date_registered": "2020-05-13",
    "date_last_renewed": "2024-04-13",
    "date_expires": "2025-05-13",
    "is_risky_tld": false
  },
  "email_risk": {
    "address_risk_status": "low",
    "domain_risk_status": "low"
  },
  "email_breaches": {
    "total_breaches": 2,
    "date_first_breached": "2018-07-23T14:30:00Z",
    "date_last_breached": "2019-05-24T14:30:00Z",
    "breached_domains": [
      { "domain": "apollo.io", "date_breached": "2018-07-23T14:30:00Z" },
      { "domain": "canva.com", "date_breached": "2019-05-24T14:30:00Z" }
    ]
  }
}

API Response

Email validation vs. verification vs. reputation

Three related but different techniques. Use validation for input forms, verification for list cleaning, and reputation for risk scoring.

Validation

Confirms an address follows the correct format without contacting any mail server.
start for free
WHAT IT DOES
  • Format and syntax check
  • Allowed characters
  • Domain structure
  • MX record lookup
  • SMTP mailbox check
  • Disposable detection
  • Catch-all detection
  • Domain age and registration
  • Risk scoring
  • Breach history
  • Speed: Instant (no network call)
  • Cost: Free (client-side regex)
  • Best for: Input forms, real-time field validation, catching typos

Verification

Checks format, queries MX records, and tests the mail server to confirm the address can receive mail.
start for free
WHAT IT DOES
  • Format and syntax check
  • Allowed characters
  • Domain structure
  • MX record lookup
  • SMTP mailbox check
  • Disposable detection
  • Catch-all detection
  • Domain age and registration
  • Risk scoring
  • Breach history
  • Speed: Under 500ms
  • Cost: er-request API, free tier available
  • Best for: List cleaning, signup flows, pre-send verification

Reputation

Everything verification checks, plus domain intelligence, risk scoring, and breach history.
start for free
WHAT IT DOES
  • Format and syntax check
  • Allowed characters
  • Domain structure
  • MX record lookup
  • SMTP mailbox check
  • Disposable detection
  • Catch-all detection
  • Domain age and registration
  • Risk scoring
  • Breach history
  • Speed: Under 1 second
  • Cost: Per-request API, free tier available
  • Best for: Fraud screening, lead scoring, compliance checks

The best build
on Abstract

Spammy signs up were an issue for us for a while, and we struggled to come up with the best way to identify all the variations in bad emails we were getting. Thankfully we found and quickly integrated with Abstract's email validation API, which saved us a bunch of time and gave us peace of mind.
Chris Stanley, Scope

FAQ about Abstract's Email Verifier

Can I check if an email address is real without sending a message?

Yes. Email verification checks the address format, queries the domain's MX records, and tests the SMTP server response without sending any message. You get a deliverability status, quality score, and risk flags in under a second.

What is the difference between email validation and email verification?

Validation confirms an address follows the correct format (syntax, allowed characters, domain structure). Verification goes further: it checks MX records, connects to the mail server, and confirms the mailbox can receive mail. Use validation to catch typos at input. Use verification to confirm the address is deliverable before sending.

How does the email verifier detect disposable addresses?

The verifier checks the email domain against a maintained database of known disposable and temporary email providers such as Mailinator, Guerrilla Mail, and Temp Mail. It also evaluates domain age and registration data. Newly registered domains with no history are flagged as higher risk, even if they are not in a known disposable list.

What is a catch-all email address?

A catch-all (or accept-all) domain is configured to accept mail sent to any address at that domain, whether the specific mailbox exists or not. This makes it impossible to confirm a specific recipient through SMTP alone. The verifier flags these domains so you can decide how to handle them in your workflow.

How accurate is email verification?

Accuracy depends on what the verifier checks. Syntax-only tools miss invalid mailboxes. Abstract's Email Verifier performs multi-step verification: format parsing, DNS and MX record lookup, SMTP mailbox probing, and disposable domain detection. The combination catches invalid, risky, and throwaway addresses that single-method tools miss.

Should I verify emails before sending marketing campaigns?

Yes. Sending to invalid addresses increases your bounce rate, damages your sender reputation with providers like Gmail and Outlook, and can trigger spam filtering for your entire domain. Verifying your list before each send removes invalid, disposable, and risky addresses so your deliverability stays high.

Is the email verifier free to use?

Yes. The online tool is free with no signup required for individual lookups. For bulk verification or API access, Abstract offers a free tier with 100 verifications per month. View pricing for higher-volume plans.

Start verifying emails for free
stars rating
4.8 from 1,863 votes
100 free verifications to start. No credit card required.
get free api key
No credit card required