Limpiar su lista de emails
Una api verificar emails en lote toma una lista que ya tiene, una exportación de su CRM, una hoja de registro de un webinar, una base de boletín de hace años, y devuelve un veredicto por cada dirección para que deje de enviar a destinos muertos. Está pensada para el momento antes del envío, no para extraer o comprar listas.
La lista que ya tiene, limpia antes de que le cueste
La mayoría de las listas de correo se deterioran en silencio. La gente cambia de trabajo, abandona buzones o escribió mal su dirección en un formulario hace tres años, y nada de eso se nota hasta que una campaña llega con un pico de rebotes y una advertencia de su plataforma de envío. Este endpoint está pensado para esa situación específica: ya tiene las direcciones, solo necesita saber cuáles siguen valiendo la pena antes de que su reputación de envío absorba el daño.
Cómo corre un trabajo por lotes
Envía un arreglo de direcciones a /verify/email-batch y recibe de inmediato un task_id que representa todo el trabajo, no uno por dirección. La tarea procesa cada entrada con señales internas de formato, dominio y capacidad de entrega, y cuando termina recibe un solo conjunto de resultados consolidado, enviado a su webhook o disponible en un enlace firmado válido por 24 horas, con un estado por dirección para que pueda filtrar la lista de forma programática en vez de revisar una hoja de cálculo a ojo.
Qué le dice realmente un veredicto
Cada dirección en el resultado llega con un estado como entregable, no entregable, riesgosa o desconocida, que refleja señales reales como la existencia del dominio y la aceptación del buzón, no una suposición. Las direcciones riesgosas, dominios catch-all que aceptan cualquier correo sin confirmar un buzón real, se marcan aparte para que decida si les envía con cautela o las descarta, en lugar de mezclarlas con direcciones claramente muertas.
Un precio que escala con la lista, no con conjeturas
Cada dirección verificada se cobra a 0.002 dólares, la misma tarifa por unidad que una verificación individual, así que un lote de diez mil direcciones cuesta exactamente lo mismo que diez mil llamadas individuales, solo que sin diez mil idas y vueltas. Una verificación fallida dentro del lote nunca se cobra, y todo el trabajo se reintenta automáticamente hasta tres veces antes de mostrar un error claro, así que las fallas parciales no corrompen sus resultados en silencio.
Cómo encaja en un pipeline de envío
Ejecútelo como un trabajo programado antes de cada campaña, trimestralmente sobre una lista dormida, o disparado cada vez que cambia una exportación del CRM, y canalice el segmento entregable directo a su herramienta de envío mientras las direcciones riesgosas y no entregables quedan suprimidas o redirigidas a un flujo de reactivación. Como los resultados llegan de forma asíncrona por webhook, el lote puede correr en segundo plano mientras el resto de su automatización sigue sin interrupciones.
Qué puede hacer con ella
Limpieza previa a una campaña
Procese toda una lista de boletín con verificación en lote la noche antes de un envío para mantener bajos los rebotes y proteger la reputación del remitente.
Mantenimiento de la base del CRM
Vuelva a verificar la base de clientes trimestralmente para detectar direcciones que quedaron obsoletas desde la última importación, sin tocar cada contacto a mano.
Limpieza tras una migración
Valide cada dirección después de fusionar dos bases de contactos por una adquisición, detectando duplicados y buzones muertos en un solo paso.
Precisión en el seguimiento de eventos
Revise en lote una hoja de registro de una conferencia antes de enviar la secuencia de seguimiento, para que las diapositivas y enlaces del resumen realmente lleguen.
Preguntas frecuentes
¿Cuántos correos puedo enviar en un lote?
El endpoint acepta un arreglo de direcciones por solicitud; las listas muy grandes se procesan como un solo trabajo asíncrono sin importar el tamaño, con resultados entregados cuando el lote completo termina.
¿Es gratis la verificación de emails en lote?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cuánto cuesta verificar una lista?
Cada dirección cuesta 0.002 dólares, el mismo precio por unidad que una verificación individual, así que una lista de cualquier tamaño cuesta exactamente su total por dirección.
¿Cómo obtengo los resultados de una lista grande?
Recibe un task_id de inmediato, y el conjunto completo de resultados para cada dirección llega mediante su webhook firmado o un enlace firmado válido por 24 horas.
¿Qué significa un resultado riesgoso o catch-all?
Significa que el dominio acepta correo para cualquier dirección sin confirmar que existe un buzón específico, por lo que la entrega no puede garantizarse del todo y conviene tratarlo como advertencia, no como rebote definitivo.
¿Puedo subir una lista comprada o extraída de internet?
El endpoint verifica listas que ya posee y con las que tiene una relación legítima; es una herramienta de higiene para sus propios datos, no un servicio de descubrimiento o adquisición.
¿Se me cobra por direcciones que fallan al procesarse?
No, las verificaciones fallidas dentro de un lote se reintentan automáticamente hasta tres veces y nunca se cobran si finalmente fallan.
¿En qué se diferencia de una verificación individual?
La lógica de verificación de fondo es la misma; el procesamiento en lote simplemente le permite enviar muchas direcciones en un solo trabajo y obtener un resultado consolidado en vez de gestionar llamadas individuales.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/verify/email-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/email-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/email-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/email-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/email-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"items": [
"valor-1",
"valor-2"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.email_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |