Free, no account needed

Disposable email checker

Check if an email address is disposable or fake. Paste it in to see whether it uses a throwaway domain or a burner mail server, whether its domain can receive mail, and which inbox a Gmail alias really reaches. Add an IP to see if it comes from a datacenter, VPN or Tor.

We do not store the email or IP you type, and keep no history of your checks. The email's domain stays in our DNS cache for up to an hour, a hash of your own IP address is kept for up to 24 hours for rate limits, and we count how many checks end in allow, challenge or block each day. Details.

Want this check on every signup? Get a free API key, or see the one API call.

Example resultk7x2q9@yopmail.com

Result

blockscore 100 / 100

Looks like a throwaway or farmed signup.

ReasonPointsPlan
disposable_domainyopmail.com is a known disposable email domain100Free

This page runs the email and IP checks of every plan. It cannot run the repeat-inbox and signup-burst checks, because they need your app's own signup history. Residential-proxy detection is not switched on yet.

What the checker looks at

Each check gives a result (allow, challenge or block), a score out of 100 and the reasons behind it. The data behind it is rebuilt every hour.

  • disposable_domain

    Disposable domains

    131,761 throwaway domains, from open lists and from the domains temp-mail sites hand out to their visitors. An address on one of them is marked block.

  • burner_mx no_mx

    Burner mail servers and MX records

    The check looks up where the domain's mail goes. A new domain whose mail goes to one of 99 known burner mail servers gets a block, before any list has it. So does a domain that cannot receive mail.

  • plus_alias repeat_inbox

    Gmail alias tricks

    Gmail ignores dots and +tags, so j.smith+gen5@gmail.com and jsmith@gmail.com reach one inbox. The result shows that inbox. In your app, the same inbox signing up again within 7 days adds points, so one person opening account after account shows up.

  • datacenter_ip vpn_ip tor_exit

    Datacenter, VPN and Tor IPs

    26,859 IP ranges of hosting networks, commercial VPN exits and Tor exits. Signup scripts run on servers, and people sign up from home and mobile networks. In your app these count toward the score from the Starter plan up.

Every reason code and how scoring works. Browse the disposable email domains we have observed.

Use it in your signup flow

The same check runs on your real signups through one API call. Call it in your signup handler before you create the user, and refuse the signup when action is block.

  • New apps start in shadow mode. action stays allow while you watch the log, until you switch to enforce in the dashboard.
  • Give the call a 1.5-second timeout and let the signup through if it fails.
  • The Free plan includes 1,000 checks a month for 1 app. No card.
curl https://signupbouncer.com/v1/check \
  -H "Authorization: Bearer $SIGNUPBOUNCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "k7x2q9@mailinator.com", "ip": "203.0.113.42"}'
{ "verdict": "block", "action": "allow", "mode": "shadow",
  "score": 100,
  "reasons": [ { "code": "disposable_domain", "points": 100, ... } ],
  ... }

Shortened answer. The full shape is in the REST API docs and OpenAPI file.

Questions about checking emails

How do I check if an email address is disposable?

Paste it into the checker at the top of this page. A result of block with disposable_domain means the domain is on our list of throwaway domains. burner_mx means its mail goes to a known burner mail server, which catches new throwaway domains before any list has them. To check addresses as people sign up, get a free API key and call the API from your signup handler.

Can it tell if an email address is fake?

It flags addresses that are invalid, that use a throwaway domain or a burner mail server, or whose domain cannot receive mail. A real Gmail address can still belong to someone opening their fifth account. For that, your app needs the repeat-inbox check. Gmail dots and +tags count as one inbox, and the same inbox signing up again within 7 days adds points. That check needs your app's own signup history, so it runs on your account, through the API or the Supabase hook.

Does it check MX records?

Yes, for every domain except well-known mail providers such as Gmail and Outlook. The check looks up the domain's MX records and falls back to its A and AAAA records, as mail servers do. A domain that cannot receive mail gets no_mx, which blocks. The mail servers it finds are compared with our list of burner mail servers. A DNS failure or timeout adds no points. Each domain's answer is cached for up to an hour.

How is this different from email verification or list cleaning?

Email verification services connect to the mail server to see whether a mailbox exists, usually to clean a mailing list before a send. signupbouncer checks a signup as it happens. It looks for throwaway domains, burner mail servers, domains that cannot receive mail, repeat inboxes behind Gmail aliases, and datacenter, VPN and Tor IPs. It never connects to the mailbox (SMTP probing). To clean a mailing list, use a verification service. To count the burner accounts among your existing users, run the free signup audit.

Is there a free email checker API, and what are the limits?

Yes. The Free plan includes 1,000 checks a month for 1 app, with no card, and is never billed. Email checks count toward the score. IP and velocity checks run too and are listed as what a paid plan would add. Past 1,000 checks in a month, the API answers "action": "allow" with "quota_exceeded": true, and signups go through unchecked until the month ends. The checker on this page allows 20 checks a minute and 200 a day from one IP address.

How does it compare to Arcjet?

Arcjet is a security SDK you add to your server code, in JavaScript, Python or Go. Its signup protection combines bot detection, a rate limit and email validation (syntax, disposable domains, free providers, MX records and Gravatar). It costs less per call, and its VPN, proxy, Tor and hosting IP flags come with every plan. signupbouncer is one HTTP call from any backend, or a Supabase auth hook you paste in with no code. Gmail dots and +tags count as one inbox, and a repeat of that inbox within 7 days adds points, so the same person signing up again shows up as a repeat. Each check answers allow, challenge or block with a score and its reasons, and new apps start in shadow mode. If you already use Arcjet for bots and rate limits, signupbouncer can run next to it as the email and repeat-account check. We read Arcjet's docs and pricing page on 14 Oct 2026.

Run this check on every signup

Get a free key, call the API from your signup handler or paste a hook URL into Supabase, and watch shadow mode log your next signups before anything is blocked.