ZapBounce and Instantly
ZapBounce verifies a lead list before it reaches Instantly, so every campaign starts with a result on every row. You upload the CSV on the bulk page, call the ZapBounce API from the tool that builds your list, or add a Zapier step that checks each new lead. Results come back as valid, invalid, catch_all or unknown.
Instantly runs its own verification too. Its email verification page (read on instantly.ai, 24 September 2026) sorts addresses into valid, invalid, and risky or unknown, and it charges from credits that come with its plans, with 25 free credits and no card. A second, separate check before upload is about keeping your warmed mailboxes safe, and about knowing why a row came back uncertain.
Uncertain rows are where warmed domains get burned
Your sending domains took weeks of warmup to build. A batch of dead addresses sent from them undoes that work faster than anything else in cold email.
The risky rows are the ones to watch. On a 10,000-address B2B benchmark, about 28% of addresses sat on catch-all domains, which answer 250 for every address. ZapBounce labels those catch_all and keeps them apart from unknown, so you can tell a domain that accepts everything from a server that simply didn't answer.
That split changes what you do next. A catch-all row is a bet you size on purpose, while an unknown row is worth a re-check next week, and ZapBounce never bills it.
How the data moves
Verify between your data source and Instantly
Run the check after you build the list and before you upload it. Each row gets its result plus
roleanddisposableflags, so you can drop info@ and sales@ addresses from a personal sequence too.Split the upload by result
Valid rows go to your main campaign on your best-warmed domains. Catch-all rows go to a separate campaign on domains you can afford to risk, with a slower ramp.
Hold the unknowns back
An unknown means a receiving server wouldn't give a straight answer, often for a short while. Re-check those rows in two weeks rather than spending a warmed mailbox on them.
Check leads as they arrive
A Zap on new leads from your source runs a ZapBounce check before the lead is added to Instantly. For big lists, your script polls the job status and uploads once it completes.
Setting it up
- Export the lead file from your data source as CSV.
- Upload it to ZapBounce, or send the addresses to the jobs endpoint, and wait for the job to complete.
- Split the results into three files: valid, catch_all, and unknown.
- Upload the valid file to your primary Instantly campaign on your best-warmed domains.
- Upload the catch_all file as its own campaign with a lower daily cap and a slower ramp.
- Hold the unknown file and verify it again in two weeks, at no charge for the rows that were unknown the first time.
Instantly: common questions
What is the best email verifier for Instantly?
Pick one that splits catch_all from unknown and never bills unknowns. ZapBounce returns four results with role and disposable flags, charges $5 for 1,000 checks, and keeps credits with no expiry date.
Instantly already verifies emails. Why check again?
A separate check before upload gives you the reason behind every uncertain row. ZapBounce tells a catch-all domain apart from a server that didn't answer, and you pay nothing for the rows it couldn't get an answer on.
Should I send to catch-all addresses at all?
Yes, as a separate campaign on separate domains with a slow ramp. Then its bounce rate is information for you, not an incident on your main mailboxes.
Does verifying send anything to my prospects?
No. ZapBounce opens an SMTP connection, asks about the mailbox, and closes before any message is sent, so prospects never see the check.
Check a Instantly export today
100 free checks a month, no card. Unknown results are refunded.