Verificar Email Individual

Verifica una dirección de email individual en tiempo real para comprobar su capacidad de entrega y validez.

POST/email-verifications

Cuerpo de la Solicitud

emailstringRequired

Dirección de email a verificar.

modestring

Modo de verificación: fast o full. Por defecto: full. El modo rápido omite algunas verificaciones SMTP y devuelve null para ciertos campos.

const response = await fetch('https://api.emailit.com/v2/email-verifications', {
method: 'POST',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'usuario@ejemplo.com',
mode: 'full'
})
});

const result = await response.json();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/email-verifications',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'email' => 'usuario@ejemplo.com',
'mode' => 'full'
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "Error cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
}
import requests

response = requests.post(
'https://api.emailit.com/v2/email-verifications',
headers={
    'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
    'Content-Type': 'application/json'
},
json={
    'email': 'usuario@ejemplo.com',
    'mode': 'full'
}
)

result = response.json()
print(result)
require 'net/http'
require 'json'

uri = URI('https://api.emailit.com/v2/email-verifications')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
request.body = {
email: 'usuario@ejemplo.com',
mode: 'full'
}.to_json

response = http.request(request)
result = JSON.parse(response.body)
puts result
package main

import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)

func main() {
url := "https://api.emailit.com/v2/email-verifications"

data := map[string]interface{}{
    "email": "usuario@ejemplo.com",
    "mode": "full",
}

jsonData, _ := json.Marshal(data)

req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")

client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()

var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
use reqwest;
use serde_json::{json, Value};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();

let response = client
    .post("https://api.emailit.com/v2/email-verifications")
    .header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
    .header("Content-Type", "application/json")
    .json(&json!({
        "email": "usuario@ejemplo.com",
        "mode": "full"
    }))
    .send()
    .await?;

let result: Value = response.json().await?;
println!("{:?}", result);

Ok(())
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpRequest.BodyPublishers;

public class VerificarEmail {
public static void main(String[] args) throws Exception {
    HttpClient client = HttpClient.newHttpClient();
    
    String jsonBody = """
        {
            "email": "usuario@ejemplo.com",
            "mode": "full"
        }
        """;
    
    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.emailit.com/v2/email-verifications"))
        .header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
        .header("Content-Type", "application/json")
        .POST(BodyPublishers.ofString(jsonBody))
        .build();
    
    HttpResponse<String> response = client.send(request, 
        HttpResponse.BodyHandlers.ofString());
    
    System.out.println(response.body());
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class VerificarEmail
{
public static async Task Main()
{
    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("Authorization", 
            "Bearer em_test_51RxCWJ...vS00p61e0qRE");
        
        var data = new {
            email = "usuario@ejemplo.com",
            mode = "full"
        };
        var json = JsonConvert.SerializeObject(data);
        var content = new StringContent(json, Encoding.UTF8, "application/json");
        
        var response = await client.PostAsync(
            "https://api.emailit.com/v2/email-verifications", content);
        
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}
}
curl -X POST https://api.emailit.com/v2/email-verifications \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@ejemplo.com",
"mode": "full"
}'
{
"id": "ev_abc123xyz",
"email": "usuario@ejemplo.com",
"status": "completed",
"score": 100,
"risk": "low",
"result": "safe",
"mode": "full",
"checks": {
"valid_syntax": true,
"disposable": false,
"role_account": false,
"inbox_full": false,
"deliverable": true,
"disabled": false,
"free_email": false,
"gibberish": false,
"catch_all": false,
"smtp_connect": true,
"has_mx_records": true,
"domain_age": 5840
},
"address": {
"mailbox": "usuario",
"domain": "ejemplo.com",
"suffix": null,
"root": "usuario@ejemplo.com"
},
"did_you_mean": null,
"mx_records": [
{
  "priority": 10,
  "exchange": "mail.ejemplo.com"
}
]
}
{
"statusCode": 400,
"error": "Bad Request",
"message": "Formato de email inválido"
}
{
"statusCode": 402,
"error": "Payment Required",
"message": "Créditos insuficientes para la verificación de email"
}

Campos de Respuesta

Estado de Verificación

ValorDescripción
pendingVerificación en cola pero no iniciada
processingVerificación en progreso
completedVerificación completada exitosamente
failedVerificación falló debido a un error

Resultado de Verificación

ValorDescripción
safeEl email es válido y entregable
invalidEl email es inválido (sintaxis, dominio o buzón)
disposableEl email usa un dominio desechable/temporal
disabledEl buzón existe pero está deshabilitado
inbox_fullEl buzón está lleno y no puede recibir emails
unknownNo se pudo determinar la capacidad de entrega

Nivel de Riesgo

ValorRango de PuntuaciónDescripción
low80-100Seguro para enviar
medium50-79Usar con precaución
high0-49Alto riesgo de rebote

Objeto Checks

FieldTypeDescription
valid_syntaxbooleanEmail syntax is valid
disposablebooleanUses disposable domain
role_accountbooleanRole-based address (info@, support@)
inbox_fullboolean/nullMailbox is full
deliverableboolean/nullEmail is deliverable
disabledboolean/nullMailbox is disabled
free_emailbooleanUses free email provider
gibberishbooleanMailbox appears to be gibberish
catch_allboolean/nullDomain accepts all emails
smtp_connectboolean/nullSMTP connection successful
has_mx_recordsbooleanDomain has MX records
domain_ageinteger/nullDomain age in days

Note: Fields marked as boolean/null or integer/null may return null in fast mode.

Localizado por IA