Bêta privéeMailbeam est en bêta privée : l'API publique n'est pas encore ouverte.Rejoindre la liste d'attente

Migrer depuis ZeroBounce

Ce guide montre comment passer de ZeroBounce à Mailbeam. La plupart des migrations prennent moins d'une heure.

Pourquoi les développeurs changent

  • Hébergement dans l'UE : ZeroBounce est établi aux États-Unis ; Mailbeam traite les données à Francfort
  • Orientation temps réel : ZeroBounce est construit pour le nettoyage de listes en masse ; Mailbeam est construit pour les parcours d'inscription
  • Tarification : Mailbeam facture à la vérification, sans multiplicateur de crédits
  • Schéma de réponse : Mailbeam fournit un champ reason explicable ; ZeroBounce s'en tient à des chaînes de statut opaques

Correspondance des endpoints

ZeroBounceMailbeamRemarques
POST /v1/validatePOST /v1/verifyValidation principale
GET /v1/getapiusageGET /v1/account/usageSuivi du quota
POST /v2/validatebatchPOST /v1/verify/batchVérification en masse

Authentification

ZeroBounce passe par un paramètre d'URL api_key. Mailbeam utilise un jeton Bearer dans l'en-tête.

ZeroBounce (avant) :

curl "https://api.zerobounce.net/v2/validate?api_key=YOUR_KEY&email=user@example.com"

Mailbeam (après) :

curl -X POST https://api.mailbeam.dev/v1/verify \
  -H "Authorization: Bearer $MAILBEAM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

Correspondance des réponses

ZeroBounce renvoie une chaîne status. Mailbeam renvoie un booléen valid, un score et un reason.

status de ZeroBounceÉquivalent Mailbeam
"Valid"valid: true, score >= 80
"Invalid"valid: false
"Catch-All"catchAll: true (regardez le score)
"Spamtrap"valid: false, reason: "disposable_domain"
"Abuse"Intégré au signal de score
"DoNotMail"roleAddress: true ou disposable: true
"Unknown"valid: true avec un score plus bas

Migration du code

ZeroBounce (avant) :

const response = await fetch(
  `https://api.zerobounce.net/v2/validate?api_key=${apiKey}&email=${email}`
);
const { status, sub_status } = await response.json();

if (status !== "Valid") {
  return res.status(422).json({ error: "Invalid email" });
}

Mailbeam (après) :

// Pas de SDK à installer — voyez /docs/quickstart pour ce wrapper de 12 lignes.
import { verifyEmail } from "./lib/mailbeam.js";

const { valid, score, reason } = await verifyEmail(email);

if (!valid || score < 60) {
  return res.status(422).json({
    error: "Invalid email",
    reason, // lisible par la machine : "disposable_domain", "no_mx_records", etc.
  });
}

Prochaines étapes