Migrar desde MillionVerifier
Esta guía explica cómo sustituir MillionVerifier por Mailbeam. La migración suele llevar menos de 30 minutos.
Por qué se cambia la gente
- SDK oficiales: MillionVerifier no tiene SDK oficiales; Mailbeam publicará bibliotecas para Node.js, Python, PHP, Ruby y Go
- Veredictos catch-all puntuados: MillionVerifier devuelve una marca binaria de catch-all; Mailbeam las puntúa de 0 a 100 con pesos publicados y un campo de motivo explicable
- Rendimiento en tiempo real: MillionVerifier está pensado para subir CSV en volumen; el tiempo de respuesta p99 de Mailbeam es de menos de 100 ms, apto para validar dentro del formulario
- Plan gratuito: Mailbeam incluye 1000 verificaciones al mes gratis, sin comprar nada para empezar
Equivalencia de endpoints
| MillionVerifier | Mailbeam | Notas |
|---|---|---|
GET /api/v3/?api=KEY&email=EMAIL | POST /v1/verify | Comprobación de un email |
| Subida de CSV (panel) | POST /v1/verify/batch | Verificación en volumen |
Autenticación
MillionVerifier pasa la clave de API como parámetro en la URL.
Mailbeam usa tokens Bearer en la cabecera Authorization: la clave nunca queda expuesta en la URL.
MillionVerifier (antes):
curl "https://api.millionverifier.com/api/v3/?api=YOUR_KEY&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 MillionVerifier | Equivalente en Mailbeam |
|---|---|
"ok" | valid: true |
"error" | valid: false |
"unknown" | status: "unknown", usa el score |
"disposable" | disposable: true |
"catchall" | catchAll: true, usa el score |
Migración del código
MillionVerifier (antes):
const res = await fetch(
`https://api.millionverifier.com/api/v3/?api=${apiKey}&email=${email}`
);
const { result } = await res.json();
if (result !== "ok") 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, disposable, reason } = await verifyEmail(email);
if (!valid || disposable) return 422;
if (score < 30) return 422; // caza las direcciones de baja confianza que MillionVerifier deja pasarUsar la puntuación de calidad
El result binario de MillionVerifier se pierde los matices que da la puntuación de 0 a 100 de Mailbeam.
En los dominios catch-all sobre todo, la puntuación marca una diferencia notable:
const result = await verifyEmail(email);
// MillionVerifier aceptaría o rechazaría de forma uniforme
// Mailbeam te deja aplicar umbrales
const threshold = isColdOutreach ? 70 : 40;
if (result.score < threshold) {
return res.status(422).json({ error: "No se ha podido verificar la dirección de email." });
}