Bulk list verification guide

Upload a CSV, XLSX or TXT file of up to 1,000,000 rows in the dashboard, see what it will cost, follow the progress and download the results. Files and results are deleted automatically 30 days after upload (a list that finishes in its last day keeps its results for 7 days after it finishes).

1. Prepare the file

  • CSV: any columns; one of them holds the addresses. A header row is optional.
  • XLSX: the dashboard converts the sheet you pick to CSV in your browser before uploading it.
  • TXT: one address per line.
  • Up to 1,000,000 rows, 512 columns and 1 GB per file. A single row may not exceed 64 KB.

You do not need to clean the file first: duplicates are removed for you and malformed addresses are answered for free.

2. Upload and pick the column

Open Bulk lists in the dashboard and drop the file (or click to choose it). We show the first rows and detect the column with the addresses; change it if we guessed wrong. The file is read with the separator the preview shows (comma, semicolon, tab or |).

3. Check the cost and start

After a short analysis you see the number of rows, unique addresses, duplicates and malformed addresses, and the number of credits the job needs: one per unique address that still needs a check. Start the job when you are ready. If your balance is too low, buy a pack: the job waits and starts once the credits are there.

4. Follow the progress

The job page shows how many addresses are done and the counts per status as they come in. Large lists take a while; you can close the page and come back. Every unique address is checked once, so a job finishes as soon as the last check returns; results that end unknown are free. You can also get an email or a webhook when the job ends: every endpoint subscribed to bulk.completed or bulk.failed is notified.

5. Download the results

When the job is complete, download the results as CSV or XLSX:

  • All rows with your original columns plus ours, or only some statuses (for example deliverable and risky).
  • Original columns or email only.
  • Formula protection (on by default) stops spreadsheet apps from running cells of your file that start with =, +, - or @, also where a comma, semicolon, tab or line break inside a cell would start a new cell in a spreadsheet set to another list separator.

Our columns follow yours in every row. A row with fewer cells than the first row of the file gets empty cells, so our columns always sit under their headers; a row with more cells keeps them all.

Our columns:

ColumnMeaning
ev_statusStatus: deliverable, undeliverable, risky or unknown.
ev_reasonReason for the status.
ev_actionRecommended action.
ev_free_emailtrue when the domain is a free consumer mailbox service.
ev_role_accounttrue for team or function addresses.
ev_disposabletrue for throwaway inbox services.
ev_catch_all_domaintrue when the domain accepts mail for any address.
ev_did_you_meanSuggested correction for a likely typo.
ev_mx_foundtrue when the domain publishes mail records.
ev_mx_recordPreferred mail server of the domain.
ev_smtp_providerMail provider of the domain (our list; other when unnamed).
ev_domain_age_daysDomain age in days, when known.

What each status and reason means: statuses and reasons.

Cost

You pay one credit per unique address with a deliverable, undeliverable or risky result. Duplicates, malformed addresses, test addresses and unknown results are free: credits held for them are returned when the job ends. Cancelling a job returns the credits for work not yet done. A file that cannot be read fails for free; if a job fails after its addresses were checked, those checks are charged like a cancelled job.

Limits and storage

DashboardAPI
FormatsCSV, XLSX, TXTCSV, plain text, JSON list
Largest file1 GB100 MB, or 100,000 addresses (4 MB) as JSON
Rows per file1,000,0001,000,000
Uploads in progress at once3–
Stored files (before your first purchase)2 GB, 2 jobs waiting to startsame
Stored files (after a purchase)20 GBsame
Kept for30 days after upload30 days after upload

A list that fails or is cancelled deletes its file at once, and the file stops counting against your storage. You can also delete the upload of a failed, cancelled or expired list yourself.

To automate lists, use the bulk jobs API.

Updated · Maintained by the email-validation.org team