Next.js integration
Refuse disposable emails and repeat signups in Next.js
You call SignupBouncer's check in your Next.js route handler or server action, before you create the user. In enforce mode, your form refuses each signup we mark block.
- Get a free key. You create an API key on your app's Integration tab.
- Save our helper file, then add the route handler, or the server action and its form.
- Sign up with a test address, and find the signup on the Checks tab. Watch your signups in shadow mode, then switch the app to enforce.
What SignupBouncer refuses
Your code sends us the new user's email address and IP address. In enforce mode, we refuse a signup marked block. On every plan, the email checks look for:
- a disposable email domain, or a new domain whose mail goes to a known burner mail server
- a domain that can't receive email
- the same inbox signing up again under another spelling, such as Gmail dots or a
+tag. Each repeat within 7 days adds points.
On the Starter plan and up, the signup's IP adds points when it comes from a datacenter, a VPN, Tor or a hijacked network. On the Free plan, we run the IP checks too, and your log lists what they found.
Full setup in the docs
For the full setup, read the Next.js page in our docs, which prints every file the check needs.
More
- Next.js in our docs, next to the REST API and the reason codes.
- Block burner emails in the Next.js SaaS starter, our step-by-step guide for Vercel's Next.js SaaS starter.
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.