API de Verificación de Email

Verifique direcciones de email en tiempo real, 50 por petición o listas completas de forma masiva. Cada llamada comprueba la sintaxis, el dominio, el MX y el propio buzón, y marca las direcciones desechables, genéricas y catch-all. Nunca se envía ningún email al destinatario.

  • 50 verificaciones gratis al día
  • Sin tarjeta de crédito
  • Clave sandbox pública
  • Créditos que no caducan
Obtener una clave de API gratisLeer la referencia de la API (en inglés)
curl --get "https://api.easyemailverification.com/v1/verify" \
  -H "X-API-Key: eev_sandbox_key" \
  --data-urlencode "email=valid@sandbox.easyemailverification.com"
import requests

r = requests.get(
    "https://api.easyemailverification.com/v1/verify",
    headers={"X-API-Key": "eev_sandbox_key"},
    params={"email": "valid@sandbox.easyemailverification.com"},
    timeout=30,
)
data = r.json()
print(data["result"], data["reason"], data["safe_to_send"])
const url = new URL("https://api.easyemailverification.com/v1/verify");
url.searchParams.set("email", "valid@sandbox.easyemailverification.com");

const res = await fetch(url, {
  headers: { "X-API-Key": "eev_sandbox_key" },
  signal: AbortSignal.timeout(30000),
});
const data = await res.json();
console.log(data.result, data.reason, data.safe_to_send);
$query = http_build_query(["email" => "valid@sandbox.easyemailverification.com"]);
$ch = curl_init("https://api.easyemailverification.com/v1/verify?" . $query);
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => ["X-API-Key: eev_sandbox_key"],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
]);
$data = json_decode(curl_exec($ch), true);
echo $data["result"], " ", $data["reason"];

Funciona tal cual: la clave eev_sandbox_key no necesita cuenta ni consume créditos.

Una llamada, una respuesta clara

Lea primero result y después safe_to_send. Los demás campos explican el motivo, para que su aplicación decida qué aceptar.

CampoQué le indica
resultvalid, invalid o unknown. Un resultado desconocido nunca se da como válido.
reasonEl detalle, por ejemplo accepted_email, rejected_email, invalid_domain, no_mx_record o timeout.
safe_to_sendtrue solo para direcciones válidas sin señales de riesgo.
did_you_meanUna corrección cuando se detecta un error tipográfico, como gmial.com → gmail.com.
disposable, role, free, accept_allSeñales de riesgo: buzones temporales, direcciones compartidas como info@, proveedores gratuitos y dominios catch-all.
mx_record, domain, userDónde recibe el correo el dominio y cómo se divide la dirección.
200 OK · application/json
{
  "email": "valid@sandbox.easyemailverification.com",
  "result": "valid",
  "reason": "accepted_email",
  "disposable": false,
  "accept_all": false,
  "role": false,
  "free": false,
  "user": "valid",
  "domain": "sandbox.easyemailverification.com",
  "mx_record": "mx.sandbox.easyemailverification.com",
  "mx_domain": "easyemailverification.com",
  "safe_to_send": true,
  "did_you_mean": "",
  "success": true,
  "message": "Sandbox response: no credits used",
  "http_code": "200"
}

Tiempo real, lotes o masiva

Las mismas comprobaciones y los mismos campos en todos los casos. Elija la llamada que encaje con cómo le llegan las direcciones.

Tiempo real

GET /v1/verify?email=

Una dirección cada vez, para formularios de registro, checkout y altas en el CRM. Muestre did_you_mean al usuario en lugar de rechazar sin explicación.

Referencia de GET /verify

Lotes

POST /v1/verify

Hasta 50 direcciones por petición en un array JSON, para importaciones y limpiezas periódicas de segmentos pequeños.

Referencia de POST /verify

Listas masivas

POST /v1/bulk/upload

Suba un archivo TXT o CSV de hasta 16 MB, consulte el estado del proceso y descargue los resultados en CSV. Los resultados se guardan 30 días.

Referencia de los endpoints masivos

Pague por verificación, no por mes

Empiece gratis con 50 verificaciones al día. Cuando necesite más, compre créditos una sola vez y úselos cuando quiera: los créditos pay-as-you-go no caducan. Cada dirección verificada consume un crédito, y consultar el saldo con GET /credits es gratis. También hay suscripciones mensuales.

Empezar gratisTodos los planes y precios
CréditosPrecioPor 1.000
1,000$8$8.00
10,000$60$6.00
100,000$320$3.20
1,000,000$1,350$1.35

Pago único en dólares (USD). Paquetes más pequeños y más grandes en la página de precios. ¿Comparando APIs? Vea Easy Email Verification vs Abstract API (en inglés).

Transparencia sobre lo que no se puede confirmar

Algunos servidores de correo retrasan a los remitentes desconocidos (greylisting), tardan demasiado o rechazan la verificación. En lugar de adivinar, la API devuelve unknown, y usted decide si reintentarlo más tarde o tratarlo como un riesgo. Los resultados desconocidos no consumen créditos.

Los dominios catch-all aceptan cualquier dirección, así que una respuesta "valid" en ellos no demuestra que el buzón exista. La API los marca con accept_all: true y deja safe_to_send en false.

Datos y seguridad

  • No se envía ningún email a la dirección verificada.
  • Las direcciones verificadas de una en una no se conservan.
  • Los archivos de resultados masivos se eliminan 30 días después de subirlos.
  • Solo HTTPS; las claves de API viajan en la cabecera X-API-Key y se pueden crear y revocar por aplicación en su panel.

Preguntas frecuentes sobre la API de verificación de email

¿Hay una API de verificación de email gratuita?

Sí. El plan gratuito incluye 50 verificaciones al día, sin tarjeta de crédito. Para desarrollar y probar sin cuenta ni créditos, use la clave sandbox pública eev_sandbox_key: devuelve respuestas fijas para las direcciones de sandbox.easyemailverification.com.

¿La API envía un email a la dirección?

No. Comprueba la sintaxis, el dominio y sus registros MX, después pregunta al servidor de correo del destinatario si el buzón acepta mensajes y se desconecta antes de enviar nada. La persona nunca recibe nada.

¿Qué diferencia hay entre validar y verificar un email?

La validación comprueba que la dirección está bien formada y que su dominio puede recibir correo. La verificación va más allá y pregunta al servidor de correo si ese buzón concreto existe. Cada llamada a la API hace las dos cosas y además detecta direcciones desechables, genéricas y catch-all.

¿Por qué algunas direcciones devuelven "unknown"?

Algunos servidores de correo retrasan a los remitentes desconocidos (greylisting), tardan demasiado o bloquean la verificación. En esos casos la API devuelve unknown en lugar de adivinar. No trate unknown como válido ni como inválido: decida según su propia política o vuelva a intentarlo más tarde (por qué hay resultados desconocidos, en inglés). Los resultados desconocidos no consumen créditos. Los dominios catch-all, que aceptan cualquier dirección, se marcan con accept_all: true y safe_to_send: false.

¿Qué tan rápida es y hay límites de peticiones?

Una verificación habla con el servidor de correo del destinatario, así que suele tardar desde menos de un segundo hasta varios segundos; use un tiempo de espera de unos 30 segundos. Las cuentas no tienen límite por minuto. Una petición por lotes admite hasta 50 direcciones, y la clave sandbox está limitada a 60 peticiones por minuto.

¿Cómo verifico una lista completa?

Suba un archivo TXT o CSV (hasta 16 MB) al endpoint masivo, consulte el estado del proceso y descargue los resultados en CSV. La cuenta necesita créditos suficientes para todas las direcciones del archivo antes de empezar. Sin programar, suba la lista desde el panel.

¿Guardan las direcciones que verifico?

Las direcciones verificadas de una en una, por la API o con el verificador de email, no se conservan. Los archivos de resultados masivos se guardan 30 días para que pueda descargarlos y después se eliminan.

¿Pueden usar la API los asistentes de IA y los agentes de programación?

Sí. Claude, ChatGPT y otros clientes MCP pueden conectarse al servidor MCP alojado, y los asistentes de programación pueden leer agents.md y la especificación OpenAPI para escribir la integración por usted.

Obtener una clave de API gratisLeer la referencia de la API (en inglés)