All posts

Verify a Large List in Daily Batches That Match Your Send Schedule

··3 min read

Verify what you are about to send, a day or two ahead, rather than the whole list up front. If you verify 200,000 addresses at once and mail them over six weeks, the last rows are weeks old when they send. Cutting the list into batches sized to your send schedule keeps each result fresh, spreads the checks over time and lets you adjust the next batch when a bounce pattern shows up.

Size the batch from your sending capacity

Batch size = daily send volume x days until your next verification run.

Daily send volume is your inboxes times the per-inbox daily limit. Cold emails per day per inbox covers setting that limit safely.

Inboxes Per inbox a day Daily sends Verify every Batch size
10 30 300 3 days 900
20 30 600 3 days 1,800
20 30 600 7 days 4,200

The limits shown are examples. Use your own. Sequences with several steps send follow-ups too, so count those sends against capacity, not only first emails.

Why fresh results matter

Mailboxes close, people change jobs, and domains lapse. A result is a snapshot. The staler it is, the more rows have changed since. How often to verify an email list and re-verifying leads older than 30 days cover the timing.

The routine

  1. Keep a master file of cleaned, de-duplicated, un-verified rows, sorted by priority.
  2. Take the next batch from the top, equal to your batch size.
  3. Verify it. Read the statuses and reasons. See how to read the report.
  4. Load valid rows into the sequencer. Put risky rows aside as a test group, suppress invalid ones.
  5. Mark the batch done in the master file with the date.
  6. Repeat at the interval you chose.

Splitting leads across sending inboxes covers how to divide each batch.

Adjusting as you learn

Each batch is feedback for the next. If a batch's bounce rate is higher than expected, look at the source rather than assuming the verifier missed them. A batch from a weaker source can be held back. Tracking bounce rate day by day shows what to watch.

Handling risky rows in batches

Do not send risky rows in the main batch. Accumulate them across batches, then send a test of 100 to 300 from a warmed inbox once you have enough. If their bounce rate is close to the valid rows', release more at a measured pace. Catch-all emails: what to do covers the method.

How long a batch takes

Mailbox checks involve other people's servers, so time varies. For large batches, start earlier than you think. See how long bulk verification takes.

Automating the daily step

If leads arrive continuously, an integration can verify them as they land instead of by hand. See auto-verify new leads daily.

Plans and trial

New accounts get 100 free checks with no card. Pro is $39 a month, with the first 100,000 checks a month at full speed, then slower, never cut off. Business is $99 and Agency is $249 with 750,000 checks a month. See pricing or start on the verify page.

Common questions

Why verify in batches instead of all at once?

Results age. Verify everything on day one and the last rows go out weeks later, when some mailboxes have closed. Verifying a few days ahead of each wave keeps results fresh.

How big should a batch be?

Match it to what you actually send: inboxes times daily limit times days between verifications. If you send 600 a day and verify every three days, a batch is about 1,800 rows.

Does batching cost more?

Each address is checked once either way, so the check count is the same. It only costs extra if you re-check rows you already verified.

What do I do with the unverified remainder?

Keep it in a clean source file, sorted by priority, and take the next batch from the top. Do not mix verified and unverified rows.

Can this be automated?

Yes, through an integration or the API, so new leads are checked as they arrive. The daily auto-verify post describes one way.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.