ZeroBounce

zerobounce.net

ALMOST

A weekend of work, and real gaps remain.

Email list verification: upload a list and it marks each address valid, invalid, catch-all, disposable or a spam trap, so a campaign does not burn a sending reputation.

Promptfree, for everyone, and the only version there is
Build the list verification I actually need instead of ZeroBounce — and know which check you cannot do yourself.

**Spam traps.** An address that exists only to catch senders who did not get permission, hitting one is what puts a domain on a blocklist, and the lists of them are private by necessity. No amount of code finds them. That is the honest gap.

Everything else is a DNS lookup and a careful conversation.

STACK
- Node 20+ with Fastify
- SQLite through better-sqlite3 for results and cache
- **A machine that is not your sending server**, on an address that is not your sending address
- Caddy in front, on a private network

WHY THE SEPARATE MACHINE MATTERS
- Verification means connecting to a lot of mail servers and asking about a lot of addresses. That pattern is indistinguishable from a directory-harvest attack, which is what it technically is
- Do it from your sending address and you can find that address blocked by exactly the providers you need to reach. Do it from a machine you do not care about

THE CHECKS, IN ORDER OF COST
- **Syntax**, properly: the local part rules are stranger than most implementations assume, and a regular expression that rejects a valid address is worse than one that accepts a bad one
- **Domain**: does it resolve, and does it have MX records. A domain with no MX cannot receive mail and that is a definitive answer for free
- **Disposable**: match the domain against a maintained list of throwaway providers. The lists are open and good
- **Role accounts**: info@, sales@, support@ — not invalid, but a different thing, and a marketing list full of them is a complaint rate waiting to happen
- **SMTP**: connect, say hello, declare a sender, ask about the recipient, and **stop before sending anything**. Never send a message to verify one
- **Catch-all**: ask about an address that certainly does not exist. If the server accepts it, it accepts everything, and every verification for that domain means nothing. A large share of company domains are like this, and reporting them as valid is the most common way this category flatters itself

BEING HONEST ABOUT THE RESULT
- Four outcomes, not two: valid, invalid, unknown, and accepts-everything. **Unknown is a real answer** — a greylisting server, a timeout, a provider that refuses to say — and forcing it into valid or invalid is where the harm is
- The large providers deliberately do not answer this question truthfully any more. Say so beside the result rather than pretending the check is definitive
- Cache by address with an expiry. An address verified last year is not verified

BEING POLITE, WHICH IS ALSO SELF-INTEREST
- One connection per domain at a time, spaced out, with a proper hello and a real reverse DNS name
- Honour a temporary failure as temporary and back off
- Never verify an entire list in one burst

AND THE THING THAT MATTERS MORE THAN ANY OF IT
- Verification treats a symptom. A list that needs verifying is usually a list that was bought, scraped or left to rot — and the fix is not verification, it is not acquiring addresses that way
- **Suppress hard bounces immediately, complaints permanently, and anybody who has not opened anything in a very long time.** That hygiene keeps a reputation intact without verifying anything, and it is free

WHAT MATTERS MOST
Catch-all detection and reporting unknown as unknown. Those two are the difference between a verification result you can act on and a number that makes a bad list look clean.

What you lose

  • A list of known spam traps, which is the one check you genuinely cannot perform yourself
  • Infrastructure to verify from, so the testing traffic does not come from your own sending address
  • Catch-all and role-account detection refined across billions of addresses
  • Being wrong on their reputation instead of yours

If you would rather not build

  • A disposable-domain list, which is open and maintained
  • Not buying lists, which removes the need entirely

The escape hatch

open source · no votes, no paid placement

check-if-email-exists

$0

Verification with catch-all, disposable and role detection, self-hostable.

reacherhq/check-if-email-existsfree · open source

disposable-email-domains

$0

A maintained list of throwaway mail providers.

disposable-email-domains/disposable-email-domainsfree · open source

Why this verdict

our own opinion · changed only by a person

49/100

Verdict kinda at 49: every check except spam traps is buildable, and the entry names that gap first. The sharper point is that a list needing verification usually has a sourcing problem rather than a data problem.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about ZeroBounce

answered from the record above

Is ZeroBounce free?

No — the plan we track is $18 a month. Credits from around $18 for 2,000 verifications, or a monthly subscription at a similar rate.

Can you replace ZeroBounce by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 49 out of 100, build time a weekend. Read what you lose before you decide.

How much does ZeroBounce cost?

$18 a month on Pay as you go — $216 a year. Recorded 14 Aug 2026.

What do you lose by replacing ZeroBounce?

A list of known spam traps, which is the one check you genuinely cannot perform yourself; Infrastructure to verify from, so the testing traffic does not come from your own sending address; Catch-all and role-account detection refined across billions of addresses; Being wrong on their reputation instead of yours. If any of those carry weight for you, keep paying.

Is there an open-source alternative to ZeroBounce?

Yes: check-if-email-exists, disposable-email-domains. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 25 in Email & newsletters

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc