Email Verification for Pre-Launch Waitlists
Your waitlist is your first impression with potential customers. Keep it clean, real, and ready to convert — before you launch.
A dirty waitlist undermines your launch
A waitlist is supposed to represent your most excited potential customers. But without verification, it quickly fills with bots, competitors, and disposable addresses that will never convert.
Bots inflate your numbers
Scraper bots and signup farms can add hundreds or thousands of fake entries within hours of a waitlist going live. They make your numbers look good but your launch email will bounce.
Disposable emails mean zero intent
Someone who signs up with a throwaway email is testing your form, not interested in your product. They will never open your launch email.
Referral programs attract cheaters
If your waitlist has a 'get ahead by referring friends' mechanic, participants will use multiple disposable emails to game their position.
Inaccurate waitlist size misleads your investors
Reporting waitlist size as a traction metric is standard practice. A list polluted with bots and disposables misrepresents real demand.
A verified waitlist is a valuable asset
Verify at the moment of signup and you will launch with a list of real, reachable people who expressed genuine interest — the most valuable email list you will ever build.
Instant verification at signup
Verify in real time and reject disposable or invalid emails before they enter your database. The user is told immediately and can correct the address.
Disposable and bot email blocking
Block the services used by bots and cheaters: Mailinator, YOPmail, Guerrilla Mail, and thousands of similar services.
Referral fraud prevention
When users submit multiple addresses to advance their waitlist position, Mailbeam's scoring flags the pattern — especially when disposable domains cluster around one referral code.
Clean data on day one
Your launch email campaign starts with a deliverable rate above 95% — meaning your open rates will accurately reflect genuine interest.
Implementation
Copy-paste ready. Replace the API key and integrate with your existing flow.
import { NextRequest, NextResponse } from "next/server";
import Mailbeam from "@mailbeam/sdk";
const mb = new Mailbeam({ apiKey: process.env.MAILBEAM_KEY! });
export async function POST(req: NextRequest) {
const { email, referralCode } = await req.json();
// Verify and check for duplicate in parallel
const [result, existing] = await Promise.all([
mb.verify(email),
db.waitlist.findFirst({ where: { email: email.toLowerCase() } }),
]);
if (!result.valid || result.disposable) {
return NextResponse.json(
{
error: "Please use a real email address to join the waitlist.",
suggestion: result.suggestion ?? null,
},
{ status: 422 }
);
}
// Return existing position without re-registering
if (existing) {
return NextResponse.json({ position: existing.position, alreadyRegistered: true });
}
const entry = await db.waitlist.create({
data: {
email: email.toLowerCase(),
referralCode: referralCode ?? null,
mailbeamScore: result.score,
mailbeamStatus: result.status,
},
});
return NextResponse.json({ position: entry.position });
}Real-world example
Framer Flow (placeholder)
Design tool startup
Challenge
Of 12,000 waitlist signups, 4,200 were identified as bots or disposable emails after the fact. The launch email had a 52% bounce rate.
Result
After adding Mailbeam to the waitlist form, the next waitlist of 15,000 had a 0.8% bounce rate on launch day and a 41% open rate.
Launch email bounce rate 52% → 0.8%
* Example based on anonymized customer data. Results may vary.
Recommended plan
Free → Starter
Most pre-launch waitlists start within the free tier (1,000 verifications/month). Upgrade to Starter when your waitlist growth exceeds that. This is the most cost-effective use case for the free tier.
Frequently asked questions
Ready to get started?
Free tier includes 1,000 verifications/month. No credit card required.
Related resources