Beta privadaMailbeam está en beta privada: la API pública todavía no está abierta.Únete a la lista de espera

Migrar desde NeverBounce

Esta guía explica cómo sustituir NeverBounce por Mailbeam. La mayoría de las migraciones llevan menos de una hora.

Por qué se cambia la gente

  • Alojamiento en la UE: NeverBounce está en EE. UU. (es de ZoomInfo); Mailbeam trata los datos en Fráncfort, Alemania, sin transferencias transfronterizas que resolver bajo el RGPD
  • Créditos que no caducan: los créditos de NeverBounce caducan a los 6 meses; Mailbeam es una suscripción mensual sin caducidad
  • Plan gratuito de autoservicio: Mailbeam da 1000 verificaciones al mes sin tarjeta; NeverBounce exige comprar créditos para empezar
  • Veredictos catch-all puntuados: NeverBounce devuelve una marca binaria; Mailbeam puntúa las direcciones catch-all de 0 a 100 con pesos publicados, con un tope de 70 porque ningún sondeo puede confirmarlas, y un campo de motivo explicable

Equivalencia de endpoints

NeverBounceMailbeamNotas
POST /v4/single/checkPOST /v1/verifyVerificación de un email
POST /v4/jobs/createPOST /v1/verify/batchVerificación de listas en volumen
GET /v4/account/infoGET /v1/account/usageInformación de cuota y consumo

Autenticación

NeverBounce usa autenticación HTTP Basic con la clave de API como usuario y sin contraseña. Mailbeam usa tokens Bearer en la cabecera Authorization.

NeverBounce (antes):

curl -X POST https://api.neverbounce.com/v4/single/check \
  -H "Authorization: Basic $(echo -n 'YOUR_KEY:' | base64)" \
  -d '{"email": "user@example.com"}'

Mailbeam (ahora):

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

Equivalencia de respuestas

result de NeverBounceEquivalente en Mailbeam
"valid"valid: true, score >= 70
"invalid"valid: false
"catchall"catchAll: true — decide con el score
"disposable"disposable: true
"unknown"status: "unknown", con score más bajo

Migración del código

NeverBounce (antes):

const res = await fetch("https://api.neverbounce.com/v4/single/check", {
  method: "POST",
  headers: { Authorization: `Basic ${btoa(apiKey + ":")}` },
  body: JSON.stringify({ email }),
});
const { result } = await res.json();
if (result !== "valid") return 422;

Mailbeam (ahora):

// No hay SDK que instalar: mira /docs/quickstart para este envoltorio de 12 líneas.
import { verifyEmail } from "./lib/mailbeam.js";

const { valid, score, reason } = await verifyEmail(email);
if (!valid || score < 60) return 422;

Tratar las direcciones catch-all

NeverBounce devuelve result: "catchall" y nada más. Mailbeam devuelve catchAll: true junto a un score de 0 a 100 y un reason.

const result = await verifyEmail(email);

if (result.catchAll) {
  // NeverBounce rechazaría todas las catch-all; Mailbeam te deja ser selectivo
  if (result.score >= 70) return 200; // dirección corporativa de confianza alta
  if (result.score >= 40) return 200; // acepta, pero márcala para revisión
  return 422; // confianza baja, rechaza
}

Siguientes pasos