UserCheck alternative
A UserCheck alternative for apps that give away free credits
UserCheck's API returns facts about an email address and its domain, such as whether the domain is disposable. You act on each answer in your own code, or write rules in UserCheck's Gates feature. SignupBouncer checks each signup for throwaway addresses and repeat signups. It answers allow, challenge or block.
We read UserCheck's docs and pricing pages on Oct 30, 2026.
What UserCheck does well
- An email lookup returns the domain's age and the mail provider that handles its mail. It also returns a score for how established the domain is, and the domain's SPF and DMARC settings.
- The
normalized_emailfield gives every alias spelling of an address the same form, Gmail dots and +tags included. You store the normalized address with each account and match new signups against the stored ones. - Gates lets you build allow, block and challenge rules in UserCheck's dashboard or over its API. A rule can read email, domain and IP fields, such as hosting, VPN, proxy and Tor flags.
- UserCheck has a WordPress plugin and a Laravel package, and it works with Zapier and Make. You can also check existing users and imported lists.
What UserCheck's docs don't cover for free-credit apps
- Repeat accounts. UserCheck returns the normalized address, and your app keeps the record of who signed up. UserCheck's docs don't describe a count of earlier signups from the same inbox. SignupBouncer adds points each time that inbox signs up again within 7 days.
- Signup bursts. The Gates condition fields describe a single request. The docs list no field that counts recent signups from the same network or email domain.
- Supabase. UserCheck's docs list no Supabase integration. You add SignupBouncer as Supabase's Before User Created hook, with no code.
- Trying rules before they refuse anyone. UserCheck's docs describe no dry-run mode for a gate. New SignupBouncer apps start in shadow mode. We log the signups we'd refuse and let every signup through.
When UserCheck is the better pick
- You want raw facts about each domain, such as its age and its mail provider. You'd rather write your own rules than act on our score.
- You run WordPress or Laravel, or build in Zapier or Make, where UserCheck has its own integrations.
- You check a lot of addresses and choose on price per check. UserCheck's Pro plans start at $50 a month for 200,000 credits. SignupBouncer's Pro plan is $49 a month for 50,000 checks.
UserCheck and SignupBouncer side by side
| UserCheck | SignupBouncer | |
|---|---|---|
| How you add it | A REST call, Gates rules, or a WordPress, Laravel, Zapier or Make integration | A REST call from any backend, or a Supabase hook with no code |
| What a check answers | Facts about the address and domain; with Gates, allow, block or challenge | Allow, challenge or block, with a score and its reasons |
| Disposable domains | Yes | Yes, plus a lookup of the mail server behind each new domain |
| Typo suggestions | Yes | Yes |
| Gmail dots and +tags as one inbox | Returns the normalized address | Yes, on every plan |
| The same inbox signing up again | Not in the docs. You match the normalized address yourself | Adds points for 7 days, on every plan |
| Datacenter, VPN and Tor IPs | In Gates, 2 extra credits per decision | Counts from the Starter plan. The Free plan logs what it found |
| Signup bursts from one network | Not in the docs | Counts from the Pro plan |
| Trying it before it refuses anyone | Not in the docs | Shadow mode, the default for new apps, switched in the dashboard |
| Free plan | 1,000 credits a month, 1 request per second | 1,000 checks a month, no card |
| First paid plan | $50 a month for 200,000 credits | $19 a month for 10,000 checks |
Switch from UserCheck, or run both
- Create a free account and open your app's Integration tab.
- If you call us from your code, pick Your own backend on that tab and create an API key. Then follow the code for your stack to send us the email and client IP before you create the user.
- If you're on Supabase, add a Before User Created hook instead, with the hook URL and the hook secret from the Integration tab. If the secret doesn't match, we let every signup through unchecked.
- If you use UserCheck's domain facts elsewhere, keep it checking each signup beside SignupBouncer.
- Watch your signups on the Checks tab in shadow mode. When the results look right, switch the app to enforce.
Sources
We read each of these pages on Oct 30, 2026.
- UserCheck home page and pricing
- UserCheck credits and plans
- UserCheck rate limits
- UserCheck email endpoint
- UserCheck email normalization
- UserCheck Gates
- UserCheck Gates rules and conditions
- UserCheck Gates decision endpoint
- UserCheck's docs index: llms.txt on usercheck.com
Start on the Free plan
1 app and 1,000 checks a month. No card. Shadow mode logs what we would refuse until you switch the app to enforce.