Frequently Asked Questions

Everything you need to know about detecting and blocking disposable emails. Find answers to API integration, pricing, accuracy, and best practices.

πŸ”

No questions found

Try a different search term or contact us with your question.

πŸ“§

General Questions

Understanding disposable emails and why detection matters

What are disposable email addresses?

+

Disposable email addresses (also called temp mail, throwaway email, or burner email) are temporary inboxes that self-destruct after a short periodβ€”typically 10 minutes to 24 hours.

Popular services include:

  • Mailinator β€” Public inboxes, no signup required
  • Guerrilla Mail β€” 1-hour temporary addresses
  • 10MinuteMail β€” Self-destructs in 10 minutes
  • Temp-Mail β€” Anonymous temporary inbox
  • YOPmail β€” Free disposable email service
Disposable email concept - temporary inbox self-destructing
Disposable emails self-destruct after a short period, making them untraceable
πŸ’‘ Did you know?
There are over 2,000 disposable email services worldwide. We track 277,000+ domains associated with them.

Why should I block disposable emails?

+

Disposable emails are the #1 tool for online abuse. Here's what they enable:

Abuse TypeImpact
🎁 Promo AbuseUsers claim unlimited free trials and coupons
πŸ‘₯ Fake SignupsBots create thousands of accounts
πŸ”— Referral FraudSelf-referral with fake emails for rewards
⭐ Fake ReviewsManipulated ratings with throwaway accounts
🚫 Ban EvasionBanned users return with new emails
πŸ“‰ List DecayEmail lists filled with dead addresses

Blocking disposable emails at signup ensures you're collecting real, contactable users who can receive transactional emails, password resets, and marketing communications.

Are there legitimate reasons to use disposable email?

+

Yes, some legitimate use cases include:

  • Privacy protection β€” Avoiding spam when downloading resources
  • Testing β€” QA teams testing email flows
  • One-time signups β€” Accessing a single article or file

However, for most businesses, the abuse far outweighs legitimate use. If a user won't provide a real email, they're unlikely to be a valuable customer.

⚠️ Consider this
If someone uses a disposable email for your service, you can never send them password resets, order confirmations, or important updates.

How many disposable email domains do you detect?

+

We currently track 277,000+ disposable email domainsβ€”and growing daily.

Our database is continuously updated through:

  • πŸ€– Automated scrapers β€” Monitoring new temp mail services
  • πŸ‘₯ Community reports β€” User submissions via report@tempmailchecker.com
  • πŸ” Manual verification β€” Human review before adding
  • 🌐 MX record analysis β€” Detecting catch-all temp mail servers

New domains are typically added within 24 hours of discovery.

Do you detect subdomains of disposable services?

+

Yes! Many disposable email services use wildcard subdomains to evade detection. For example:

  • random123.mailinator.com
  • user.guerrillamail.com
  • anything.tempmail.net

We detect these by checking the parent domain. Any subdomain of a known disposable service is automatically flagged.

What about plus-addressing (user+tag@gmail.com)?

+

Plus-addressing (like john+newsletter@gmail.com) is a legitimate feature of Gmail, Outlook, and other major providers. We do NOT flag these as disposable.

The email still goes to a real, permanent inboxβ€”the user just uses the tag for organization.

πŸ’‘ Tip
If you want to prevent plus-addressing abuse, you can strip the +tag portion before storing emails. But this is a separate concern from disposable detection.
⚑

API & Integration

Technical details for developers integrating the API

How does the API work?

+

Simple: one request, one boolean. Send a GET request with the email, get back whether it's disposable.

cURL
curl "https://tempmailchecker.com/check?email=test@mailinator.com" \
  -H "X-API-Key: your_api_key"

Response:

JSON
{"temp": true}

That's it. temp: true = disposable, temp: false = legitimate.

API request response flow diagram
Simple request β†’ response flow for instant email verification

What's the API response time?

+

Blazing fast. Our API is optimized for real-time validation:

MetricTime
Server processing<5ms
EU β†’ EU latency~30ms
US β†’ US latency~35ms
Asia β†’ Asia latency~40ms
Cross-region (worst case)~150ms

Use the endpoint closest to your users for best performance.

Which API endpoint should I use?

+

Choose based on where your servers or users are located:

RegionEndpointBest For
πŸ‡ͺπŸ‡Ί EUtempmailchecker.comEurope, Africa, Middle East
πŸ‡ΊπŸ‡Έ USus.tempmailchecker.comAmericas
🌏 Asiaasia.tempmailchecker.comAsia-Pacific, Australia

All endpoints share the same database and accept the same API keys. Choose the one with lowest latency to your infrastructure.

Global API endpoints map showing EU, US, and Asia servers
Three global endpoints ensure low latency worldwide

How do I integrate with Python?

+
Python
import requests

def is_disposable_email(email: str, api_key: str) -> bool:
    """Check if an email is disposable."""
    response = requests.get(
        "https://tempmailchecker.com/check",
        params={"email": email},
        headers={"X-API-Key": api_key}
    )
    return response.json().get("temp", False)

# Usage
if is_disposable_email("user@mailinator.com", "your_key"):
    print("Blocked: disposable email detected")
else:
    print("Allowed: legitimate email")

How do I integrate with JavaScript/Node.js?

+
JavaScript
async function isDisposableEmail(email, apiKey) {
  const response = await fetch(
    `https://tempmailchecker.com/check?email=${encodeURIComponent(email)}`,
    { headers: { 'X-API-Key': apiKey } }
  );
  const data = await response.json();
  return data.temp;
}

// Usage
const isDisposable = await isDisposableEmail('user@tempmail.com', 'your_key');
if (isDisposable) {
  throw new Error('Disposable emails not allowed');
}

How do I integrate with PHP?

+
PHP
<?php
function isDisposableEmail($email, $apiKey) {
    $url = "https://tempmailchecker.com/check?email=" . urlencode($email);
    $opts = [
        "http" => [
            "header" => "X-API-Key: " . $apiKey
        ]
    ];
    $context = stream_context_create($opts);
    $response = file_get_contents($url, false, $context);
    $data = json_decode($response, true);
    return $data['temp'] ?? false;
}

// Usage
if (isDisposableEmail($_POST['email'], 'your_key')) {
    die('Disposable emails are not allowed');
}

What are the rate limits?

+
PlanRequestsPeriod
Free25Per day
Starter ($9)5,000Per month
Growth ($29)25,000Per month
Scale ($69)100,000Per month
EnterpriseUnlimitedCustom

Check your current usage via the dashboard or the /usage endpoint.

What happens if I exceed my rate limit?

+

You'll receive a 429 Too Many Requests response:

JSON
{
  "error": "Rate limit exceeded",
  "limit": 25,
  "used": 25,
  "resets_at": "2025-12-06T00:00:00Z"
}

We send email warnings at 80% usage so you have time to upgrade before hitting the limit.

Do you support batch checking multiple emails?

+

Not yetβ€”batch endpoints are on our roadmap. For now, you can send parallel requests. Our API handles high concurrency well.

Python
import asyncio
import aiohttp

async def check_emails(emails, api_key):
    async with aiohttp.ClientSession() as session:
        tasks = [check_one(session, email, api_key) for email in emails]
        return await asyncio.gather(*tasks)

# Check 100 emails in parallel
results = asyncio.run(check_emails(email_list, "your_key"))

Need bulk validation? Contact us for enterprise options.

How do I authenticate API requests?

+

Include your API key in the X-API-Key header:

HTTP
GET /check?email=user@example.com HTTP/1.1
Host: tempmailchecker.com
X-API-Key: tmck_your_api_key_here

Get your API key from the signup page or dashboard.

πŸ’³

Pricing & Billing

Plans, payments, and subscription management

Is there a free tier?

+

Yes! Every account gets 25 free requests per day, forever. No credit card required.

Perfect for:

  • Testing the API before committing
  • Personal projects and side projects
  • Low-volume websites (<750 signups/month)
Pricing tiers from free to enterprise
Flexible plans that scale with your needs

What payment methods do you accept?

+

We use Stripe for secure payments. Accepted methods:

  • πŸ’³ Credit/Debit cards (Visa, Mastercard, Amex, Discover)
  • 🍎 Apple Pay
  • πŸ€– Google Pay
  • 🏦 Bank transfers (in supported regions)
  • πŸ”— Link by Stripe

Can I upgrade or downgrade anytime?

+

Yes, no lock-in contracts.

  • Upgrade: Takes effect immediately. New limits apply instantly.
  • Downgrade: Takes effect at your next billing cycle.
  • Cancel: Anytime, no penalties. You keep access until the end of your billing period.

Do you offer refunds?

+

We offer a 7-day money-back guarantee on all paid plans.

If you're not satisfied, contact us within 7 days of your first payment for a full refundβ€”no questions asked.

Do unused requests roll over?

+

No, unused requests don't roll over. Your quota resets:

  • Free plan: Daily at midnight UTC
  • Paid plans: Monthly on your billing anniversary

We recommend choosing a plan that matches your average usage rather than peak usage.

Can I get invoices for my payments?

+

Yes! Invoices are automatically generated for every payment and available in your dashboard under "Subscription".

Need to add VAT/tax ID or company details? Manage this in the Stripe billing portal.

🎯

Accuracy & Coverage

Detection quality and domain management

How accurate is the detection?

+

Very accurate. We focus on precision to avoid false positives:

  • False positives: Extremely rare (<0.01%). We manually verify domains before adding.
  • False negatives: Can occur with brand-new services, but we typically catch them within 24 hours.

We never flag legitimate email providers (Gmail, Outlook, Yahoo, corporate domains, etc.).

I found a disposable domain you're missing. How do I report it?

+

Email us at report@tempmailchecker.com with:

  • The domain name
  • Link to the temp mail service (if known)
  • Any additional context

We review all submissions and typically add verified domains within 24 hours.

My domain is incorrectly flagged. How do I get it unblocked?

+

Contact us at support@tempmailchecker.com with:

  • Your domain name
  • Proof of domain ownership (DNS TXT record or WHOIS)
  • Brief description of your service

We manually review all unblock requests and respond within 48 hours.

How often is the domain list updated?

+

Continuously. Our automated scrapers run 24/7 monitoring:

  • New temp mail service launches
  • Domain changes on existing services
  • Community-reported domains

The API always uses the latest listβ€”no action required on your end.

Can I add custom whitelists or blacklists?

+

Not currently via the API, but you can implement this in your application:

Python
WHITELIST = {"partner.com", "trusted.org"}
BLACKLIST = {"competitor.com"}

def check_email(email, api_key):
    domain = email.split("@")[1].lower()
    if domain in WHITELIST:
        return False  # Always allow
    if domain in BLACKLIST:
        return True   # Always block
    # Fall back to API
    return is_disposable_email(email, api_key)

Enterprise plans include custom rulesβ€”contact us for details.

πŸ”’

Security & Privacy

Data protection, compliance, and security practices

Do you store the emails I check?

+

We log request metadata for rate limiting and analytics:

  • βœ… Timestamp
  • βœ… Domain portion only (not full email)
  • βœ… Result (temp: true/false)
  • ❌ We do NOT store full email addresses long-term

Logs are automatically purged after 30 days.

Is the API connection secure?

+

Yes. All API traffic is encrypted via HTTPS/TLS 1.3.

  • πŸ”’ TLS 1.3 encryption
  • πŸ”‘ API keys are hashed (bcrypt) in our database
  • πŸ›‘οΈ DDoS protection via Cloudflare
  • πŸ“ Regular security audits
Security shield protecting data with encryption
Enterprise-grade security protects your API communications

Are you GDPR compliant?

+

Yes. We're based in the EU and fully GDPR compliant:

  • βœ… Minimal data collection (only what's necessary)
  • βœ… Data stored in EU data centers
  • βœ… No data sellingβ€”ever
  • βœ… Right to deletion (request anytime)
  • βœ… DPA available for enterprise customers

Can I rotate my API key if it's compromised?

+

Yes. You can regenerate your API key instantly from the dashboard.

  1. Log in to your dashboard
  2. Click "Regenerate API Key"
  3. Update your integration with the new key

The old key is immediately invalidated.

πŸ”§

Troubleshooting

Common issues and how to fix them

I'm getting a 401 Unauthorized error

+

This means your API key is missing or invalid. Check:

  • βœ… API key is in the X-API-Key header (not query param)
  • βœ… No extra spaces or newlines in the key
  • βœ… Key starts with tmck_
  • βœ… Account is active (check dashboard)
Correct
curl -H "X-API-Key: tmck_abc123..." "https://tempmailchecker.com/check?email=test@example.com"

I'm getting a 429 Rate Limit error

+

You've exceeded your request quota. Options:

  1. Wait for reset: Free plans reset daily at midnight UTC
  2. Upgrade: Get more requests with a paid plan
  3. Optimize: Cache results for repeated email checks

Check your usage: GET /usage?key=your_api_key

API requests are timing out

+

Timeouts are rare but can happen. Try:

  • Use a closer endpoint: EU, US, or Asia based on your location
  • Check status: Visit status page for outages
  • Increase timeout: Set at least 5 seconds
  • Retry logic: Implement exponential backoff
Python
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

session = requests.Session()
retries = Retry(total=3, backoff_factor=0.5)
session.mount('https://', HTTPAdapter(max_retries=retries))

A legitimate email is being flagged as disposable

+

This is rare but can happen. Please report it:

  1. Email support@tempmailchecker.com
  2. Include the domain being flagged
  3. Explain why it's legitimate

We'll investigate and whitelist if appropriate (usually within 48 hours).

How do I get help with an issue?

+

Multiple ways to reach us:

We typically respond within 24 hours on business days.

Still have questions?

Can't find what you're looking for? Our team is here to help you integrate and scale.