DisposableGuard
164,628 domains and growing

Block disposable emails before they hit your database

The largest self-contained disposable email detection API. 164,000+ domains aggregated from 6 open-source sources. Check one email or batch 100 at once — all in under 5ms.

500 free checks/monthNo credit card requiredBatch endpoint included
164,628
Disposable domains
<5ms
Avg response time
100 emails
Batch size
Zero
External dependencies

One API call. That's the whole product.

01

Send the email

A single GET request with a Bearer token. Or batch up to 100 emails in one POST. Get your free API key in 30 seconds.

02

We check against 164,000+ domains

Our aggregated database covers all known disposable email providers. No external API calls, no third-party dependencies, no data leaks. Pure local Set lookup.

03

Get a verdict in under 5ms

A clean boolean: is this email disposable, yes or no. Reject the signup, flag it for review, or let it through.

Why DisposableGuard?

Most competitors use 1-2 lists with ~120k domains. We aggregate 6 sources and deduplicate.

DisposableGuardTypical Competitor
Domains tracked164,628~120,000
Data sources6 aggregated1-2 lists
External API callsZeroYes
Batch endpointYes (100 emails)No
Avg response time<5ms50-200ms
Self-hosted readyYesNo

Drop-in integration

Add disposable email detection to your signup flow in under 2 minutes.

Single check

async function isDisposable(email: string) {
  const res = await fetch(
    `https://api.disposableguard.com/v1/check?email=${encodeURIComponent(email)}`,
    { headers: { Authorization: 'Bearer dg_live_...' } }
  );
  const { is_disposable } = await res.json();
  return is_disposable;
}

// In your signup handler:
if (await isDisposable(email)) {
  return Response.json(
    { error: 'Please use a real email address.' },
    { status: 400 }
  );
}

Batch check (up to 100 emails)

const res = await fetch(
  'https://api.disposableguard.com/v1/check/batch',
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer dg_live_...',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      emails: ['user@gmail.com', 'test@mailinator.com'],
    }),
  }
);

const { results, summary } = await res.json();
// summary.disposable === 1
// summary.legitimate === 1

Frequently asked questions

What is a disposable email?+

A disposable email is a temporary email address from providers like Mailinator, Guerrilla Mail, or 10 Minute Mail. These addresses are used to sign up for services without revealing a real email, often for spam, fraud, or abuse.

How does DisposableGuard work?+

DisposableGuard checks email domains against a database of 164,628+ known disposable email providers. A single API call returns a boolean verdict in under 5ms. No external API dependencies — all detection happens locally.

How many disposable email domains do you track?+

We track 164,628+ disposable email domains aggregated from 6 open-source sources, deduplicated and filtered to remove legitimate providers like Gmail, Outlook, and ProtonMail.

Is DisposableGuard free?+

Yes. The free plan includes 500 API checks per month with no credit card required. Paid plans start at $9/month for unlimited checks.

What happens if your API goes down?+

Our API is designed to fail open. If our service is unavailable, your signup flow should proceed normally. We recommend treating the disposable check as a strong signal, not a hard block.

Start protecting your signup funnel

500 free checks per month. 164,000+ domains. No credit card required.