API de verificación de email.
Verifica una dirección para formularios o utiliza tareas asíncronas para listas de clientes. Conserva tu proveedor de email.
Tu primera solicitud.
Utiliza el endpoint de prueba gratuito sin clave. Tiene límites de solicitudes y sirve para probar el servicio.
curl -X POST https://api.zbounce.net/v1/demo \
-H 'Content-Type: application/json' \
-d '{"email":"hello@example.com"}'
Para verificaciones de pago, compra un paquete y utiliza /v1/fast-verify con tu clave en X-API-Key. No incluyas claves en URLs, repositorios ni analíticas.
curl -X POST https://api.zbounce.net/v1/fast-verify \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"email":"hello@example.com"}'
Ejemplo en Python
import os, requests
response = requests.post(
"https://api.zbounce.net/v1/fast-verify",
headers={"X-API-Key": os.environ["ZBOUNCE_API_KEY"]},
json={"email": "hello@example.com"},
timeout=35,
)
response.raise_for_status()
print(response.json())
Ejemplo en Node.js
const response = await fetch("https://api.zbounce.net/v1/fast-verify", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.ZBOUNCE_API_KEY,
},
body: JSON.stringify({ email: "hello@example.com" }),
signal: AbortSignal.timeout(35000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
Verifica una lista más grande.
POST /v1/tasksEnvía hasta 10.000 direcciones por tarea. Guarda el ID devuelto y revisa accepted, skipped y invalids: no todas las entradas se añaden necesariamente a la cola. Pueden excluirse direcciones duplicadas, mal formadas o suprimidas, y un saldo bajo puede causar una aceptación parcial.
curl -X POST https://api.zbounce.net/v1/tasks \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"emails":["hello@example.com","contact@example.org"]}'
Consulta el estado y recupera cada página de resultados. Una respuesta con solo entradas inválidas puede tener un ID vacío; no consultes su estado.
curl "https://api.zbounce.net/v1/tasks/$TASK_ID" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
curl "https://api.zbounce.net/v1/tasks-results/$TASK_ID?page=1&per_page=100" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
Los resultados de las tareas completadas están en JSON. Sigue recuperando páginas hasta obtener toda la lista aceptada. Para notificar la finalización automáticamente, envía un webhook con mode: "completed" al crear la tarea.
{
"emails": ["hello@example.com"],
"webhook": {
"url": "https://your-app.example/hooks/verification",
"mode": "completed",
"secret": "YOUR_PRIVATE_WEBHOOK_SECRET"
}
}
Consulta el esquema de configuración del webhook y verificación de firma antes de habilitarlo en producción.
El formato no implica existencia.
Son señales diferentes. Una dirección bien formada puede no existir, ser temporal o no poder confirmarse.
| Campo | Significado |
|---|---|
valid
|
La dirección superó la validación de sintaxis. Esto no confirma por sí solo el buzón. |
exists
|
Resultado de la comprobación del buzón. Interprétalo junto con errores y señales catch-all. |
disposable
|
El dominio se reconoció como proveedor de email temporal. |
accept_all
|
El servidor acepta direcciones arbitrarias; no se puede confirmar el buzón concreto de forma fiable. |
error_category
|
Explica un fallo o riesgo, como no_mx, risky o un problema temporal del servidor. |
permanent_error
|
Se recibió un fallo permanente durante la verificación. Un fallo temporal no debe interpretarse como un rechazo permanente. |
ttl
|
Indicación del tiempo de reintento o caché en segundos, cuando se devuelve. |
La verificación no garantiza la entrega, no elimina las quejas ni demuestra la propiedad de un buzón.
Conoce tu saldo.
GET /v1/me
curl https://api.zbounce.net/v1/me \
-H "X-API-Key: $ZBOUNCE_API_KEY"
La respuesta incluye créditos disponibles, reservados y utilizados, tipo de clave y vencimiento. Una verificación estándar usa un crédito; el filtrado y cobro dependen de la ruta y la aceptación de la tarea. Revisa la respuesta antes de considerar procesada toda la lista subida.
Una respuesta 429 indica límites de solicitudes. Espera antes de reintentar. Otros errores de la API actual pueden devolverse en JSON o texto; no los interpretes como resultados de verificación.
El contrato de verificación.
El contrato público incluye demo, verificación rápida, tareas, estado, resultados y saldo. Los endpoints de envío y administración quedan fuera de esta referencia.
¿Necesitas ayuda para conectar tu plataforma? support@zbounce.net