Disposable Email Checker

Disposable Email Checker

Catch throwaway addresses instantly.

Check any email address against 10,000+ known disposable and temporary email providers — updated daily. Stop fake signups before they reach your database. No sign-up required.

Try it live
Syntax Check
● Checking…
Disposable Domain
● Pending…
MX Records
● Pending…
API Response
{
"email": "user@mailinator.com",
"is_disposable": true,
"has_mx_records": true,
"syntax": {
"is_valid": true
}
}
Trusted by thousands of businesses
Fast JSON API responses
Real-time validation
Simple integration, SDKs & examples
Features

Everything You Need to Stop Throwaway Emails

A daily-updated database of disposable providers, full syntax and MX validation, and a clean JSON API — built for signup forms and fraud pipelines.

10,000+ Disposable Domains

Every check runs against a database of more than 10,000 known disposable and temporary email providers.

Daily Updates

New throwaway providers appear constantly. The detection database is refreshed daily so new services are caught fast.

Full Syntax Validation

RFC 5322 compliance checking with specific error reasons — catch malformed addresses before the disposable check.

MX Record Verification

Confirms the email's domain can actually receive mail. No MX records means the address is undeliverable.

One Call, Three Signals

Disposable status, syntax validity, and MX presence come back in a single fast JSON response.

Simple JSON API

A single REST endpoint with a predictable response shape — integrate into any signup flow in minutes.

Developer Experience

Disposable Email API Documentation & Code Examples

A single REST endpoint returns the disposable status, syntax validity, and MX records for any email address. Predictable JSON, no SDK required — ready to integrate in minutes.

10,000+ disposable domains, updated daily
Fast JSON responses, typically under 150ms
SDKs for JavaScript, Python, PHP, Ruby, Go
Syntax + MX validation in the same call
Read API Reference
Endpoint
GET /api/v1/email/{email}?api_key={key}
Example Request
curl "https://ip-api.io/api/v1/email/user@mailinator.com?api_key=YOUR_API_KEY"
Example Response
200
{
  "email": "user@mailinator.com",
  "is_disposable": true,
  "has_mx_records": true,
  "syntax": {
    "domain": "mailinator.com",
    "username": "user",
    "is_valid": true,
    "error_reasons": []
  }
}
Endpoint
GET /api/v1/email/{email}?api_key={key}
Example Request
const res = await fetch(
  "https://ip-api.io/api/v1/email/user@mailinator.com?api_key=YOUR_API_KEY"
);
const data = await res.json();
if (data.is_disposable) {
  console.log("Throwaway address — block signup");
}
Example Response
200
{
  "email": "user@mailinator.com",
  "is_disposable": true,
  "has_mx_records": true,
  "syntax": {
    "domain": "mailinator.com",
    "username": "user",
    "is_valid": true,
    "error_reasons": []
  }
}
Endpoint
GET /api/v1/email/{email}?api_key={key}
Example Request
import requests

res = requests.get(
    "https://ip-api.io/api/v1/email/user@mailinator.com",
    params={"api_key": "YOUR_API_KEY"}
)
data = res.json()
if data["is_disposable"]:
    print("Throwaway address — block signup")
Example Response
200
{
  "email": "user@mailinator.com",
  "is_disposable": true,
  "has_mx_records": true,
  "syntax": {
    "domain": "mailinator.com",
    "username": "user",
    "is_valid": true,
    "error_reasons": []
  }
}
Endpoint
GET /api/v1/email/{email}?api_key={key}
Example Request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
  "https://ip-api.io/api/v1/email/user@mailinator.com?api_key=YOUR_API_KEY");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch));
if ($data->is_disposable) {
  echo "Throwaway address — block signup";
}
Example Response
200
{
  "email": "user@mailinator.com",
  "is_disposable": true,
  "has_mx_records": true,
  "syntax": {
    "domain": "mailinator.com",
    "username": "user",
    "is_valid": true,
    "error_reasons": []
  }
}
Endpoint
GET /api/v1/email/{email}?api_key={key}
Example Request
require 'net/http'
require 'json'

uri = URI('https://ip-api.io/api/v1/email/user@mailinator.com')
uri.query = URI.encode_www_form(api_key: 'YOUR_API_KEY')

res = Net::HTTP.start(uri.hostname, use_ssl: true) { |h| h.get(uri) }
data = JSON.parse(res.body)
puts "Disposable!" if data['is_disposable']
Example Response
200
{
  "email": "user@mailinator.com",
  "is_disposable": true,
  "has_mx_records": true,
  "syntax": {
    "domain": "mailinator.com",
    "username": "user",
    "is_valid": true,
    "error_reasons": []
  }
}
Use Cases

Built for real-world applications

From signup forms to list hygiene — disposable email detection that fits your workflow.

Signup Fraud Prevention

Block throwaway addresses at registration before they become fake accounts. Disposable emails are the go-to tool for free-trial farming, review manipulation, and bonus abuse.

Registration Trial Abuse Fake Accounts

Email List Hygiene

Disposable addresses expire within minutes, so every one on your list is a guaranteed bounce. Screen new subscribers in real time to protect your sender reputation and deliverability.

Deliverability Bounce Rate Sender Score

Lead Quality Scoring

A disposable email is a strong signal that a lead will never convert. Flag or down-rank these signups in your CRM so sales and marketing effort goes to reachable contacts.

CRM Lead Scoring Data Quality
FAQ

Disposable Email Checker FAQs

Common questions about disposable and temporary email detection.

What is a disposable email address?

A disposable email address is a temporary, throwaway inbox created to receive email for a short time — often just minutes — before it expires. Services like Mailinator, 10MinuteMail, and Guerrilla Mail let anyone create these addresses instantly without registration. People use them to sign up for services without revealing their real email, which makes them a common tool for fake account creation, free-trial abuse, and fraud.

How do I check if an email address is disposable?

Use the free checker on this page — enter any email address and click Check Email. The tool compares the email's domain against a continuously updated database of more than 10,000 known disposable email providers and tells you instantly whether it is a throwaway address. For programmatic access, use the ip-api.io Email Validation API at GET https://ip-api.io/api/v1/email/{email}, which returns an is_disposable boolean in JSON.

Why should I block disposable email addresses?

Disposable emails are strongly correlated with abuse: fake signups, free-trial farming, review manipulation, and fraudulent transactions. Users behind throwaway addresses cannot be reached again, so they destroy your email marketing deliverability, inflate your user counts with dead accounts, and increase bounce rates that damage your sender reputation. Most SaaS, e-commerce, and community platforms block or flag disposable addresses at registration.

How does ip-api.io detect disposable email addresses?

Every check is a real-time lookup against a database of more than 10,000 known disposable and temporary email domains, updated daily as new throwaway providers appear. The check also validates the email's RFC 5322 syntax and verifies that the domain has working MX records, so you get a complete deliverability signal in a single API call — not just a disposable flag.

Is the disposable email checker free?

Yes, the interactive disposable email checker on this page is completely free with no sign-up required. API access for developers with higher request volumes requires a paid subscription.

Pricing

Simple, transparent pricing

Start small, scale as you grow. No hidden fees.

Small
€10 /month
100,000 geo IP requests / month
10,000 advanced email validation requests
Disposable email checks included
Location, threat & time zone data
Email support
99.9% uptime SLA
Get started
Large
€49 /month
1,000,000 geo IP requests / month
100,000 advanced email validation requests
Unlimited disposable email checks
Full email validation suite
SLA & uptime guarantee
All datasets
Custom integrations
Dedicated support
Get started

Block throwaway emails programmatically

Check any email for disposable status, syntax validity, and MX records in a single API call — no sign-up required for the free tier.

> _
curl ip-api.io/api/v1/
email/user@temp-mail.org
Disposable