All articles
List Management19 July 20266 min read

How to Verify a Bulk Email List: A Step-by-Step Guide

Whether you're about to send a campaign to 50,000 contacts or you've inherited a list from a merger, bulk email verification is how you establish whether those addresses are actually deliverable. Running verification before a campaign is standard practice for any sender who cares about inbox placement.

This guide walks through the full process: preparing your file, uploading it, understanding the results, and applying them correctly.

What bulk email verification does

Bulk verification processes a large list of addresses and returns a status for each one. For every address, a good verification service checks:

  1. Syntax — is the address correctly formatted?
  2. Domain and MX records — does the domain have mail servers configured?
  3. SMTP verification — does the specific mailbox exist?
  4. Disposable detection — is the domain a known temporary email service?
  5. Role-based detection — is it a generic shared inbox like info@ or admin@?
  6. Catch-all detection — does the domain accept all email regardless of whether the mailbox exists?

The result for each address is a status: valid, invalid, unverifiable, disposable, or risky.

Step 1: Prepare your file

Bulk verification accepts CSV files. The minimum requirement is a column containing email addresses. Most services also accept a header row with the column label "email" or similar.

If your CSV has other columns (name, company, custom fields), that's fine — they're passed through unchanged and appear in the results file.

Tips for preparing:

  • Remove obvious duplicates before uploading (reduces credits used)
  • If exporting from a CRM, include only the email column plus any ID column that will help you re-import
  • Make sure your file is UTF-8 encoded (most exports from modern tools are)

Supported formats: .csv files. Most list sources (Mailchimp, HubSpot, Klaviyo, Salesforce, spreadsheets) export CSV natively.

Step 2: Upload your list

Log in to your dashboard, navigate to Verify List, and upload your file. The system reads the header row and asks you to confirm which column contains the email addresses.

The verification queue processes your list using multiple workers in parallel. Processing time depends on list size:

| List size | Approximate time | |---|---| | 1,000 addresses | 2–5 minutes | | 10,000 addresses | 15–30 minutes | | 100,000 addresses | 2–4 hours | | 500,000 addresses | 10–20 hours |

You'll receive an email notification when your results are ready.

Step 3: Understand the results

Your results file contains the original columns plus a status column (and optionally sub_status, is_disposable, is_role_based, is_catch_all depending on your plan).

Status definitions

valid — The address passed all checks. The mailbox exists and is accepting email. Safe to send.

invalid — The address failed. The most common reason is SMTP verification returning 550 5.1.1 (mailbox doesn't exist). Remove from all lists immediately.

unverifiable — Verification could not be completed definitively. Common causes:

  • The domain uses a catch-all configuration (all addresses appear to accept email)
  • The mail server timed out or returned a 452 temporary error
  • The server returned a greylisting response

These addresses might be valid or invalid — there's no way to confirm from outside.

disposable — The domain is a known temporary email service. The address was likely created to bypass your signup form. Remove from marketing lists.

risky — The address is syntactically valid and the domain exists, but it has characteristics associated with low engagement or higher complaint risk (typically role-based addresses).

Step 4: Apply the results

Download the results file and re-import it to your CRM or ESP.

For an upcoming campaign

  • Send to: valid addresses
  • Suppress: invalid, disposable addresses
  • Review: unverifiable addresses — if they've opened or clicked recently, keep; if they're new or cold, suppress

For ongoing list maintenance

  • Hard-suppress invalid addresses across all lists and all future imports
  • Tag unverifiable addresses and monitor engagement
  • Remove disposable addresses from every list
  • Audit risky (role-based) addresses — keep if they're known customer contacts, suppress from marketing otherwise

Step 5: Re-import and maintain

Most ESPs let you upload a suppression list directly. For Mailchimp, Klaviyo, HubSpot, and similar platforms:

  1. Download the invalid and disposable addresses as a separate CSV
  2. In your ESP, go to Audience → Manage Contacts → Unsubscribe/Suppress
  3. Upload the suppression file

Keep a record of when you last verified your list. For active senders, re-verify every 6 months or before any large campaign.

How many credits does it use?

Each email address in your uploaded file costs one credit, regardless of outcome. 100 free credits are included when you sign up — enough to test on a small list before committing to a larger cleanup.

If your list has 10,000 addresses, the verification run costs 10,000 credits. See the pricing page for credit pack pricing.

Common questions

Can I upload the same list twice? Yes, but you'll use credits for each verification. For recent lists (verified within 30 days), the results are unlikely to change significantly. For lists older than 6 months, re-verification is worthwhile.

What file size limit is there? No hard limit on number of addresses. Files up to 200MB in a single upload are supported.

What if my list is in another format? Only CSV is directly supported. Export from Excel as CSV before uploading.

Summary

Bulk verification is a three-step process: export → upload → apply results. Remove invalid and disposable addresses, decide how to handle unverifiable ones based on engagement history, and re-import clean addresses. Verify every 6 months or before major campaigns. Start with 100 free credits to verify your first batch.

Ready to clean your email list?

Verify thousands of addresses in minutes. No subscription — pay only for what you use.