Create Email Verification List

Create a new email verification list for bulk verification. All list verifications use full mode.

POST/email-verification-lists

Request Body

namestringRequired

Name of the verification list.

emailsarrayRequired

Array of email addresses to verify. Maximum 100,000 emails per list.

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

const list = await emailit.emailVerificationLists.create({ name: 'My List', emails: ['user1@example.com', 'user2@example.com'] });
from emailit import EmailitClient
client = EmailitClient("your_api_key")

vlist = client.email_verification_lists.create({"name": "My List", "emails": ["user1@example.com", "user2@example.com"]})
$emailit = Emailit::client('your_api_key');

$list = $emailit->emailVerificationLists()->create(['name' => 'My List', 'emails' => ['user1@example.com', 'user2@example.com']]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

list = client.email_verification_lists.create(name: "My List", emails: ["user1@example.com", "user2@example.com"])
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

list, err := client.EmailVerificationLists.Create(&emailit.CreateEmailVerificationListRequest{Name: "My List", Emails: []string{"user1@example.com", "user2@example.com"}})
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let list = emailit.email_verification_lists.create(emailit::types::CreateEmailVerificationListParams::new("My List", vec!["user1@example.com".into(), "user2@example.com".into()])).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject list = emailit.emailVerificationLists().create(EmailVerificationListCreateParams.builder().setName("My List").setEmails(Arrays.asList("user1@example.com", "user2@example.com")).build());
using Emailit;

var emailit = new EmailitClient("your_api_key");

var list = emailit.EmailVerificationLists.Create(new EmailVerificationListCreateOptions { Name = "My List", Emails = new[] { "user1@example.com", "user2@example.com" } });
use Emailit\Laravel\Facades\Emailit;

$list = Emailit::emailVerificationLists()->create(['name' => 'My List', 'emails' => ['user1@example.com', 'user2@example.com']]);
curl -X POST https://api.emailit.com/v2/email-verification-lists \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "My List", "emails": ["user1@example.com", "user2@example.com"]}'
{
  "id": "evl_abc123xyz",
  "name": "Marketing List Q1",
  "status": "pending",
  "stats": {
    "total_emails": 3,
    "processed_emails": 0,
    "successful_verifications": 0,
    "failed_verifications": 0,
    "pending_emails": 3
  },
  "created_at": "2026-02-02T10:30:00.000Z",
  "updated_at": "2026-02-02T10:30:00.000Z"
}
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Emails array is required and must not be empty"
}
{
  "statusCode": 402,
  "error": "Payment Required",
  "message": "Insufficient credits for email verification"
}

Response Fields

List Status

ValueDescription
pendingList created, verification not started
processingVerification in progress
completedAll emails have been verified
failedVerification failed due to an error

Stats Object

FieldTypeDescription
total_emailsintegerTotal number of emails in the list
processed_emailsintegerNumber of emails that have been processed
successful_verificationsintegerNumber of successfully verified emails
failed_verificationsintegerNumber of failed verifications
pending_emailsintegerNumber of emails still pending verification

List Email Verification Lists

Retrieve a paginated list of all email verification lists in your Emailit workspace.

GET/email-verification-lists

Query Parameters

pageinteger

Page number. Default: 1.

limitinteger

Items per page (1-100). Default: 10.

statusstring

Filter by status: pending, processing, completed, failed.

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

const lists = await emailit.emailVerificationLists.list();
from emailit import EmailitClient
client = EmailitClient("your_api_key")

vlists = client.email_verification_lists.list()
$emailit = Emailit::client('your_api_key');

$lists = $emailit->emailVerificationLists()->list();
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

lists = client.email_verification_lists.list
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

lists, err := client.EmailVerificationLists.List(nil)
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let lists = emailit.email_verification_lists.list(None).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject lists = emailit.emailVerificationLists().list();
using Emailit;

var emailit = new EmailitClient("your_api_key");

var lists = emailit.EmailVerificationLists.List();
use Emailit\Laravel\Facades\Emailit;

$lists = Emailit::emailVerificationLists()->list();
curl -X GET https://api.emailit.com/v2/email-verification-lists \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "data": [
    {
      "id": "evl_abc123xyz",
      "name": "Marketing List Q1",
      "status": "completed",
      "stats": {
        "total_emails": 1000,
        "processed_emails": 1000,
        "successful_verifications": 950,
        "failed_verifications": 50,
        "pending_emails": 0
      },
      "created_at": "2026-02-02T10:30:00.000Z",
      "updated_at": "2026-02-02T11:45:00.000Z"
    }
  ],
  "next_page_url": "/v2/email-verification-lists?page=2&limit=10",
  "previous_page_url": null
}
{
  "message": "Unauthorized"
}

Get Email Verification List

Retrieve details of a specific email verification list by its ID.

GET/email-verification-lists/:id

Path Parameters

idstringRequired

Email verification list ID (evl_xxx).

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

const list = await emailit.emailVerificationLists.get('evl_123');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

vlist = client.email_verification_lists.get("evl_123")
$emailit = Emailit::client('your_api_key');

$list = $emailit->emailVerificationLists()->get('evl_123');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

list = client.email_verification_lists.get("evl_123")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

list, err := client.EmailVerificationLists.Get("evl_123")
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let list = emailit.email_verification_lists.get("evl_123").await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject list = emailit.emailVerificationLists().get("evl_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var list = emailit.EmailVerificationLists.Get("evl_123");
use Emailit\Laravel\Facades\Emailit;

$list = Emailit::emailVerificationLists()->get('evl_123');
curl -X GET https://api.emailit.com/v2/email-verification-lists/evl_123 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "id": "evl_abc123xyz",
  "name": "Marketing List Q1",
  "status": "completed",
  "stats": {
    "total_emails": 1000,
    "processed_emails": 1000,
    "successful_verifications": 950,
    "failed_verifications": 50,
    "pending_emails": 0
  },
  "created_at": "2026-02-02T10:30:00.000Z",
  "updated_at": "2026-02-02T11:45:00.000Z"
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Email verification list not found"
}

Get Email Verification List Results

Retrieve verification results for emails in a verification list.

GET/email-verification-lists/:id/results

Path Parameters

idstringRequired

Email verification list ID (evl_xxx).

Query Parameters

pageinteger

Page number. Default: 1.

limitinteger

Items per page (1-100). Default: 50.

statusstring

Filter by status: pending, processing, completed, failed.

resultstring

Filter by result: safe, invalid, disposable, disabled, inbox_full, unknown.

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

const results = await emailit.emailVerificationLists.results('evl_123', { page: 1, limit: 10 });
from emailit import EmailitClient
client = EmailitClient("your_api_key")

results = client.email_verification_lists.results("evl_123", {"page": 1, "limit": 10})
$emailit = Emailit::client('your_api_key');

$results = $emailit->emailVerificationLists()->results('evl_123', ['page' => 1, 'limit' => 10]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

results = client.email_verification_lists.results("evl_123", page: 1, limit: 10)
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

results, err := client.EmailVerificationLists.Results("evl_123", nil)
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let results = emailit.email_verification_lists.results("evl_123", None).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject results = emailit.emailVerificationLists().results("evl_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var results = emailit.EmailVerificationLists.Results("evl_123");
use Emailit\Laravel\Facades\Emailit;

$results = Emailit::emailVerificationLists()->results('evl_123', ['page' => 1, 'limit' => 10]);
curl -X GET "https://api.emailit.com/v2/email-verification-lists/evl_123/results?page=1&limit=10" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "data": [
    {
      "id": "ev_xyz789abc",
      "email": "user1@example.com",
      "status": "completed",
      "result": "safe",
      "score": 100,
      "risk": "low",
      "mx_records": [
        {
          "priority": 10,
          "exchange": "mail.example.com"
        }
      ],
      "error_message": null,
      "created_at": "2026-02-02T10:30:05.000Z",
      "updated_at": "2026-02-02T10:30:10.000Z"
    },
    {
      "id": "ev_def456ghi",
      "email": "invalid@fake-domain.xyz",
      "status": "completed",
      "result": "invalid",
      "score": 0,
      "risk": "high",
      "mx_records": null,
      "error_message": null,
      "created_at": "2026-02-02T10:30:05.000Z",
      "updated_at": "2026-02-02T10:30:12.000Z"
    }
  ],
  "next_page_url": "/v2/email-verification-lists/evl_abc123xyz/results?page=2&limit=50",
  "previous_page_url": null
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Email verification list not found"
}

Response Fields

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

Export Email Verification List Results

Export verification results as an XLSX file. The verification list must be completed before exporting.

GET/email-verification-lists/:id/export

Path Parameters

idstringRequired

Email verification list ID (evl_xxx).

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

const exported = await emailit.emailVerificationLists.export('evl_123');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

exported = client.email_verification_lists.export("evl_123")
$emailit = Emailit::client('your_api_key');

$exported = $emailit->emailVerificationLists()->export('evl_123');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

exported = client.email_verification_lists.export("evl_123")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

exported, err := client.EmailVerificationLists.Export("evl_123")
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let exported = emailit.email_verification_lists.export("evl_123").await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject exported = emailit.emailVerificationLists().export("evl_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var exported = emailit.EmailVerificationLists.Export("evl_123");
use Emailit\Laravel\Facades\Emailit;

$exported = Emailit::emailVerificationLists()->export('evl_123');
curl -X GET "https://api.emailit.com/v2/email-verification-lists/evl_123/export" \
  -H "Authorization: Bearer your_api_key" \
  -o verification_results.xlsx
Returns an XLSX file download with Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Cannot export incomplete list. List must be completed first."
}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Email verification list not found"
}

Notes

  • The list must have a completed status before it can be exported.
  • The exported file contains all verification results with detailed information for each email.
  • Large lists may take longer to generate the export file.