EmailCheckPro Referencia de la API

Todos los endpoints comparten una clave API y un saldo.

ElementoValor
URL basehttps://emailcheckpro.com
Cabecera de autenticaciónX-API-Key: sk_your_api_key
Estructura de la respuesta{ code, msg, data }

Los precios no se indican aquí; cada producto se factura por verificación correcta. Ver precios

Autenticación

Use una clave API creada en Configuración y envíela con cada solicitud.

Cabecera de autenticación
X-API-Key: sk_your_api_key

Mantenga su clave API en secretoLlame siempre a este endpoint desde su servidor. Cualquiera que tenga la clave puede gastar su saldo.

Verificaciones síncronas

POST/api/v1/checkPOST/api/v1/batch-check

Envíe una dirección de correo, o hasta 100 en una sola solicitud, y lea el resultado en la misma respuesta. Sin sondeo ni callbacks. Un resultado indeterminado devuelve 422 con el código 42200 y no se cobra. Una solicitud múltiple conserva el orden de entrada, factura cada identificador de forma independiente y dispone de 300 segundos para finalizar; si no lo consigue, toda la solicitud falla y se reembolsan todos los cargos.

Parámetros

CampoTipoDescripción
service_typestringCódigo de producto, uno de los productos indicados a continuación.
identifierstringVerificación individual: una dirección de correo. El servidor la normaliza.
identifiersstring[]Verificación múltiple: de 1 a 100 direcciones de correo. La respuesta conserva este orden.

Verificación de entregabilidad de correo

emailcorreo electrónico

Confirme si una dirección de correo todavía puede recibir mensajes: funciona con cualquier dominio, desde Gmail hasta el dominio propio de una empresa.

Verificación individual

POST/api/v1/check
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email", "identifier": "name@gmail.com" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email",
    "identifier": "name@gmail.com",
    "registered": true
  }
}
Campos de la respuesta
CampoTipoDescripción
registeredbooleanSi la dirección es entregable, es decir, si puede recibir correo.

Verificación múltiple

POST/api/v1/batch-check
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email", "identifiers": ["name@gmail.com", "unknown@gmail.com", "not-an-email"] }'
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "name@gmail.com",
        "exists": true,
        "registered": true
      },
      {
        "identifier": "unknown@gmail.com",
        "exists": true,
        "registered": false
      },
      {
        "identifier": "not-an-email",
        "exists": false
      }
    ]
  }
}
Campos de la respuesta
CampoTipoDescripción
existsbooleanSi este correo produjo un resultado. false significa que el formato no era válido, que el resultado fue indeterminado o que la verificación falló; cuando es false, no aparece ninguno de los campos siguientes.
registeredbooleanSi el correo es entregable. Solo aparece cuando exists es true, con el mismo significado que en la verificación individual.

Verificación de avatar de correo

email_avatarcorreo electrónico

Estado de entregabilidad y URL del avatar asociado a la dirección, para Gmail, Yandex y Mail.ru.

Verificación individual

POST/api/v1/check
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email_avatar", "identifier": "name@gmail.com" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email_avatar",
    "identifier": "name@gmail.com",
    "registered": true,
    "avatar": true,
    "avatar_url": "https://lh3.googleusercontent.com/a-/example"
  }
}
Campos de la respuesta
CampoTipoDescripción
registeredbooleanSi la dirección es entregable en ese proveedor, es decir, si puede recibir correo.
avatarbooleanSi hay un avatar configurado.
avatar_urlstringURL del avatar cuando existe; puede estar vacía aunque avatar sea true.

Verificación múltiple

POST/api/v1/batch-check
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "email_avatar", "identifiers": ["name@gmail.com", "unknown@gmail.com", "not-an-email"] }'
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "email_avatar",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "name@gmail.com",
        "exists": true,
        "registered": true,
        "avatar": true,
        "avatar_url": "https://lh3.googleusercontent.com/a-/example"
      },
      {
        "identifier": "unknown@gmail.com",
        "exists": true,
        "registered": false,
        "avatar": false,
        "avatar_url": ""
      },
      {
        "identifier": "not-an-email",
        "exists": false
      }
    ]
  }
}
Campos de la respuesta
CampoTipoDescripción
existsbooleanSi este correo produjo un resultado. false significa que el formato no era válido, que el resultado fue indeterminado o que la verificación falló; cuando es false, no aparece ninguno de los campos siguientes.
registeredbooleanSi el correo es entregable. Solo aparece cuando exists es true, con el mismo significado que en la verificación individual.
avatarbooleanSi hay un avatar configurado.
avatar_urlstringURL del avatar cuando existe; puede estar vacía aunque avatar sea true.

Verificaciones asíncronas

POST/api/v1/bulk-tasksGET/api/v1/bulk-tasks/{id}

Suba un archivo y obtenga al instante un ID de tarea; después, consulte ese ID hasta que se complete correctamente. La respuesta correcta incluye result_url, el enlace de descarga del resultado. Solo existen dos acciones: enviar y consultar. No sondee más de una vez cada 30 segundos.

Parámetros

CampoTipoDescripción
service_typestringCódigo de producto masivo, uno de los productos indicados a continuación.
countrystringNo es necesario en las tareas de correo: omítalo. Si lo envía, se ignora.
filefileUn archivo .txt o .csv con un identificador por línea, de hasta max_file_bytes (20MB por defecto).
Idempotency-KeyheaderOpcional, hasta 128 caracteres. Repetir la misma clave devuelve la tarea original en lugar de crear una segunda.

Verificación masiva de entregabilidad de correo

email_batchcorreo electrónico1000–500.000 por tarea

Suba un archivo completo de direcciones, sepa cuáles pueden recibir correo y descargue el resultado cuando termine.

Enviar una tarea

POST/api/v1/bulk-tasks
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=email_batch \
  -F file=@emails.txt
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_batch",
    "status": "processing",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Consultar la tarea

GET/api/v1/bulk-tasks/{id}
Solicitud
curl "https://emailcheckpro.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_batch",
    "status": "success",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Columnas del resultado
Campoejemplo:Descripción
identifieralex.kim@example.comLa dirección de correo enviada, en minúsculas.
activatedtrueSi la dirección puede recibir correo: true (accesible) o false (no accesible).

Verificación masiva de avatar de correo

email_avatar_batchcorreo electrónico1000–500.000 por tarea

Suba un archivo completo de direcciones de Gmail, Yandex o Mail.ru: sepa cuáles son entregables y obtenga el avatar de cada una.

Enviar una tarea

POST/api/v1/bulk-tasks
Solicitud
curl -X POST "https://emailcheckpro.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=email_avatar_batch \
  -F file=@emails.txt
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_avatar_batch",
    "status": "processing",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Consultar la tarea

GET/api/v1/bulk-tasks/{id}
Solicitud
curl "https://emailcheckpro.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "email_avatar_batch",
    "status": "success",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Columnas del resultado
Campoejemplo:Descripción
identifieralex.kim@gmail.comLa dirección enviada, en minúsculas.
activatedtrueSi la dirección es entregable en ese proveedor, es decir, si puede recibir correo: true o false. Cuando no es true, todas las demás columnas de esa fila quedan vacías.
avatartrueSi hay un avatar configurado: true o false. avatar_url puede estar vacía cuando la imagen no está disponible.
avatar_urlhttps://lh3.googleusercontent.com/a/exampleLa URL del avatar; vacía cuando no hay ninguna URL disponible.

Saldo

GET/api/v1/balance

Consulte el saldo actual de la cuenta en micros de USD. Solo lectura: no crea ningún registro de verificación ni cobra nada.

Saldo

GET/api/v1/balance
Solicitud
curl "https://emailcheckpro.com/api/v1/balance" \
  -H "X-API-Key: sk_your_api_key"
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "balance_micros": 12500000
  }
}

Concurrencia, tiempos de espera y comportamiento de reintento

Las verificaciones de entregabilidad de correo son síncronas. Use el código devuelto para decidir si acepta el resultado o vuelve a intentarlo.

CampoDescripción
5 solicitudes simultáneas por usuarioLas verificaciones individuales y múltiples comparten este límite, y una solicitud múltiple cuenta como una sola solicitud, independientemente de cuántos correos incluya. Además, solo se ejecuta una verificación múltiple por cuenta a la vez; una segunda se rechaza hasta que termine la primera. Alcanzar cualquiera de los dos límites devuelve de inmediato el código 42901 sin cargo, junto con una cabecera Retry-After: vuelva a enviar la solicitud cuando termine una solicitud en curso.
60 s individual, 300 s múltipleSuperar el límite de tiempo devuelve el código 50400 sin cargo. Una verificación múltiple que agota el tiempo falla por completo: no hay resultados parciales y se reembolsa el importe íntegro.
Una verificación múltiple admite hasta 100 correosLos resultados conservan el orden y la longitud del envío. Solo se ejecuta una verificación múltiple por cuenta a la vez; envíe el siguiente lote cuando el anterior haya devuelto sus resultados.

Códigos de error

CódigoDescripción
40000Tipo de servicio no compatible o campos de la solicitud en conflicto
40001Cuerpo JSON no válido
40002Correo no válido
40100Clave API ausente o no válida
40200Saldo insuficiente
42200No se ha podido determinar el correo en este momento. No se devuelven datos y la solicitud no se cobra
42900Se ha agotado una cuota de uso o hay demasiados pedidos sin finalizar
42901Las cinco plazas de solicitudes en curso están ocupadas, o ya hay una verificación múltiple en ejecución en esta cuenta; envíe la solicitud cuando termine una solicitud en curso. La solicitud rechazada no se cobra e incluye una cabecera Retry-After
50303El servicio está al límite de su capacidad en este momento; no se cobra. Espere los segundos indicados en Retry-After y vuelva a enviar la misma solicitud
50400La verificación no finalizó dentro de su tiempo de espera y no se cobra; reinténtela. Si se agota el tiempo de un lote, falla el lote completo y se reembolsa el importe total
50300Mantenimiento del servicio de validación