Mailbeam
API · Security

Disposable Email Detection API

Block Mailinator, YOPmail, Guerrilla Mail, and 50,000+ other throwaway services with a single boolean in the verify response.

What Mailbeam checks

Every verification runs 7 checks in parallel and returns a structured result in under 100ms.

50,000+ disposable domains

Mailbeam's disposable database is updated continuously. When new temporary email services appear, they are typically added within 24 hours.

Subdomain and alias normalization

Many services use subdomains (user@mail.mailinator.com) or plus-addressing tricks. Mailbeam normalizes and checks all variants before lookup.

Boolean flag in every response

The `disposable` field is returned in the standard verify response — no separate API call needed. Your conditional is a single field check.

Distinct from role-based detection

Disposable and role-based detections are separate flags. A role-based address (info@company.com) is not disposable — they require different handling in your application.

Privacy providers are not flagged

ProtonMail, Tutanota, and similar privacy-focused services are legitimate providers. They are not included in the disposable database — only true throwaway services are flagged.

Returns alongside full verification

Since all checks run in parallel, adding disposable detection has zero overhead versus a verify call that only checks syntax or MX records.

How it works

1

Domain extracted and normalized

From the submitted email address, Mailbeam extracts the domain, strips plus-addressing tags, and resolves subdomain aliases to their root service.

2

Database lookup

The normalized domain is matched against the continuously updated disposable domain database. Lookup is a memory-resident hash check — zero additional latency.

3

Boolean returned in response

The `disposable: true/false` flag is included in the standard verify JSON response alongside `valid`, `score`, and all other check results.

4

Your application decides

Hard reject, show a warning, or allow with a note. You control the behavior — Mailbeam provides the signal.

Integrate in minutes

Ruby SDKRuby
require "mailbeam"

mb = Mailbeam::Client.new(api_key: ENV["MAILBEAM_KEY"])

def handle_signup(email)
  result = mb.verify(email)

  unless result.valid
    suggestion = result.suggestion ? " Did you mean #{result.suggestion}?" : ""
    raise ArgumentError, "Invalid email address.#{suggestion}"
  end

  if result.disposable
    raise ArgumentError,
      "Temporary email addresses are not accepted. Please use a permanent email."
  end

  if result.role
    # Route role-based emails to manual review, not automated flow
    User.create!(email: email, review_queue: true)
  else
    User.create!(email: email, review_queue: false)
    UserMailer.welcome(email).deliver_later
  end
end

When to use it

Free trial signup protection

Users who abuse free trials with new accounts almost always use disposable emails. Block them at signup before they cost you trial quota and distort activation metrics.

Referral and bonus program integrity

Referral programs are the most exploited feature in consumer apps. A disposable email check at registration stops the most common exploitation vector.

Waitlist quality gates

A pre-launch waitlist filled with throwaway emails is useless. Validate at signup so your launch email goes to real people who actually wanted to hear from you.

B2B lead form qualification

Disposable emails on demo request or contact forms are almost never genuine prospects. Filter them out before they enter your CRM and waste SDR time.

Frequently asked questions

Ready to integrate?

Free tier includes 1,000 verifications/month. No credit card required.