All posts

Find Verified Work Emails for 20,000 Leads Without Paying for 20,000 Lookups

··5 min read

For 20,000 leads with names and company domains, don't buy 20,000 lookups. Sort the file by domain first: drop domains with no mail server, split off catch-all domains, and on the rest use each company's address pattern plus a live mailbox check. Then pay a finder only for the rows that are left. That usually turns a 20,000-lookup bill into a much smaller one, and it tells you up front which rows can't be confirmed by anyone.

An r/gtmengineering post last week asked exactly this: a CSV of 20,000 B2B leads with first and last name, company, domain, LinkedIn URL, title and location, and finders that all looked too expensive at that volume. Here's the workflow, with published prices where we could read them.

Why "free" isn't on the table

Email finders cost money because each lookup is either a licensed database record or a live check against a mail server. Published free tiers reflect that: Icypeas lists 50 signup credits, labelled a limited-time offer, and LeadMagic says "There are no free credits." Anything offering 20,000 "verified" contacts for free is a scraped list, and our guide on whether to buy email lists covers why those bounce.

The cheap route is doing less paid work, not finding a free tool.

Step 1: Clean the input

Before any lookup:

  1. Remove duplicate people. Same LinkedIn URL, or same name and domain. The duplicate contact finder does this in the browser.
  2. Fix the domains. Strip www. and paths, lower-case, and fill blanks from the company name with company name to domain.
  3. Drop rows with no domain you can trust. A finder will guess and charge you.

Step 2: Sort by domain, not by person

20,000 leads rarely means 20,000 companies. Count the distinct domains, then run two checks on each domain once:

Check Tool What you do with it
Does the domain have a mail server (MX)? Bulk DNS lookup No MX: drop every lead on that domain. Nobody can deliver there
Is it catch-all? Bulk catch-all checker Catch-all: a separate bucket (Step 4)

The rest are domains that reject unknown mailboxes, and those are where you can confirm addresses yourself.

Step 3: Pattern plus mailbox check, on domains that answer

Each company uses one or two address formats: first.last@, first@, flast@ and so on. Our post on email address patterns lists the common ones.

  1. Find the pattern for each domain from one known address. The email format finder works it out from a sample.
  2. Generate candidates for each person: the domain's pattern first, then the next two or three most common. The bulk email permutator builds them.
  3. Verify the candidates. A live mailbox check asks the company's server whether each address exists. On these domains, the one it accepts is the answer.
  4. Keep one address per person. Drop the other candidates.

Two honest limits. First, candidates multiply checks: three candidates per person is up to 60,000 checks for 20,000 people, though you can stop at the first one that passes. Second, some servers slow down or defer when they see many checks in a row (greylisting, tarpitting), so a big domain can take longer and some rows will come back unknown.

Step 4: Catch-all domains

A catch-all server accepts mail for every address, so a mailbox check returns "accepted" for the real address and for a made-up one. No SMTP-based tool, ours included, can confirm an address there. You have three options:

  • Send to the pattern address and treat it as risky. Keep these in a separate, smaller campaign so bounces don't land on your main sending domains.
  • Pay a data-based finder for these rows only. Its answer comes from its own database or mail history, not from the server. Ask what it charges for catch-all results: some finders charge for them, some don't.
  • Skip the lower-value ones.

Our post on what to do with catch-all emails covers the trade-offs.

Step 5: Pay a finder for the leftovers

By now you should only have the catch-all rows you care about, plus people whose candidates all failed (they may use a nickname, or have left). That's the batch to upload to a finder. Published prices we read on 2 November 2026:

Finder Plan Credits Charged for
LeadMagic Essential $99/mo · Growth $249/mo 5,000 · 20,000 1 credit per find; "Failed lookups are free"; rollover up to 2× monthly credits
Icypeas Premium $39/mo · Advanced $89/mo 4,000 · 10,000 1 credit per found email; credits roll over with no expiry

Our October comparison of eleven email finders has more vendors and the billing rules for each. Whatever you pick, run a 200-row sample first and re-verify its results before buying a large plan.

Step 6: Verify everything before you send

Even confirmed addresses decay: people change jobs every month. If the list will sit for a few weeks before sending, re-check it on the day. Hold back anything risky or unknown, and send to catch-all rows from a separate campaign. The cold email list checker gives a quick read of a finished file.

Where SimpleVerifier fits

On Pro, the email finder does Step 3 for you: it takes a name and company domain, tries the likely patterns and returns an address only when the mail server confirms it, otherwise marked guessed or not found. It's included under fair use, not unlimited, so run a 20,000-row job in batches on the find page. It can't confirm catch-all domains any more than other SMTP tools can. Pro is $39 a month with the first 100,000 checks a month at full speed, then slower, never cut off. The first 100 checks are free with a Google sign-in on the verify page. See pricing.

Common questions

How can I find 20,000 work emails for free?

You can't do it reliably for free. Finder free tiers are small (Icypeas lists 50 signup credits; LeadMagic says it has no free credits), and free lists online are scraped and out of date. The cheap route is to cut the job down: drop domains with no mail server, use the company's address pattern plus a mailbox check where the server allows it, and pay a finder only for what's left.

Is guessing the email pattern and verifying it accurate?

It works on domains whose mail server rejects unknown mailboxes: the candidate that the server accepts is a real mailbox. It doesn't work on catch-all domains, which accept every address, so a guessed address there is only a guess. Mark those rows risky or use a data-based finder for them.

How many credits will 20,000 leads use in an email finder?

Fewer than 20,000 if the finder charges only for found emails and you remove rows it can't help with first. LeadMagic says failed lookups are free; Icypeas charges 1 credit per found email. Remove duplicates, rows with no domain and domains with no mail server before you upload.

Do I need to verify emails that a finder returns?

Re-check anything the finder didn't confirm at the mailbox level, such as results marked catch-all, accept-all or guessed, and anything older than a few weeks by the time you send. Those are where most bounces on finder-sourced lists come from.

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.