Migrate from Bouncer

Bouncer is an EU-based email verification service focused on bulk list validation for email marketers. If you're a developer needing real-time verification in a signup flow, Mailbeam is a better fit.

Key differences

FeatureBouncerMailbeam
EU hostedYesYes (Frankfurt)
Real-time APILimitedNative (< 100ms)
Primary audienceMarketersDevelopers
AI scoringNoYes (0–100 + reason)
SDKsNo6 official SDKs
Batch verificationYesYes
DPA includedExtraAutomatic (Scale+)

Endpoint mapping

BouncerMailbeam
POST /v1/emails/verifyPOST /v1/verify
POST /v1/emails/bulk/verifyPOST /v1/verify/batch
GET /v1/creditsGET /v1/account/usage

Code migration

Bouncer (old):

const response = await fetch("https://api.usebouncer.com/v1/email/verify", {
  method: "POST",
  headers: {
    "x-api-key": apiKey,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ email }),
});
const { status, reason } = await response.json();

// Bouncer statuses: "deliverable", "undeliverable", "risky", "unknown"
if (status !== "deliverable") {
  return res.status(422).json({ error: "Email not accepted" });
}

Mailbeam (new):

import Mailbeam from "@mailbeam/sdk";
const mb = new Mailbeam({ apiKey: process.env.MAILBEAM_KEY });

const { valid, score, reason } = await mb.verify(email);

if (!valid || score < 60) {
  return res.status(422).json({ error: "Email not accepted", reason });
}

Status mapping

Bouncer statusMailbeam equivalent
"deliverable"valid: true, score >= 70
"risky"catchAll: true or score 40–70
"undeliverable"valid: false
"unknown"score < 40 or timeout

Next steps