Verify Single Email

Verify a single email address in real-time to check its deliverability and validity.

POST/email-verifications

Request Body

emailstringRequired

Email address to verify.

modestring

Verification mode: fast or full. Default: full. Fast mode skips some SMTP checks and returns null for certain fields.

POST /email-verifications
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const result = await emailit.emailVerifications.verify({ email: 'user@example.com' });
from emailit import EmailitClient
client = EmailitClient("your_api_key")

result = client.email_verifications.verify({"email": "user@example.com"})
$emailit = Emailit::client('your_api_key');

$result = $emailit->emailVerifications()->verify(['email' => 'user@example.com']);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

result = client.email_verifications.verify(email: "user@example.com")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

result, err := client.EmailVerifications.Verify(&emailit.VerifyEmailRequest{Email: "user@example.com"})
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let result = emailit.email_verifications.verify(emailit::types::VerifyEmailParams::new("user@example.com")).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject result = emailit.emailVerifications().create(EmailVerificationCreateParams.builder().setEmail("user@example.com").build());
using Emailit;

var emailit = new EmailitClient("your_api_key");

var result = emailit.EmailVerifications.Verify(new EmailVerificationVerifyOptions { Email = "user@example.com" });
use Emailit\Laravel\Facades\Emailit;

$result = Emailit::emailVerifications()->verify(['email' => 'user@example.com']);
curl -X POST https://api.emailit.com/v2/email-verifications \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'
{
  "id": "ev_abc123xyz",
  "email": "user@example.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": "user",
    "domain": "example.com",
    "suffix": null,
    "root": "user@example.com"
  },
  "did_you_mean": null,
  "mx_records": [
    {
      "priority": 10,
      "exchange": "mail.example.com"
    }
  ]
}
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Invalid email format"
}
{
  "statusCode": 402,
  "error": "Payment Required",
  "message": "Insufficient credits for email verification"
}

Response Fields

Verification Status

ValueDescription
pendingVerification queued but not started
processingVerification in progress
completedVerification finished successfully
failedVerification failed due to an error

Verification Result

ValueDescription
safeEmail is valid and deliverable
invalidEmail is invalid (syntax, domain, or mailbox)
disposableEmail uses a disposable/temporary domain
disabledMailbox exists but is disabled
inbox_fullMailbox is full and cannot receive emails
unknownCould not determine deliverability

Risk Level

ValueScore RangeDescription
low80-100Safe to send
medium50-79Use caution
high0-49High bounce risk

Checks Object

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.