Switching from NeverBounce to ZapBounce, step by step

NeverBounce sells two ways, pay-as-you-go credits and a subscription it calls Sync, so the rate you pay depends on which one your account sits on. ZapBounce prints one price ladder for everything, from $5 for 1,000 checks to $949 for a million, with no plan needed.

The move is mostly a mapping exercise. Your sending rules read NeverBounce's result codes today, so the key job is making sure each rule reads the right ZapBounce field tomorrow. The ZapBounce vs NeverBounce page covers price and features side by side, and this guide covers the move itself.

The short version

  • Your recent NeverBounce result files and a list of the places your code or tools read them
  • A ZapBounce account (100 free checks a month, no card) with a live key and a zb_test_ sandbox key

The steps

  1. Export your recent NeverBounce results

    Download the result files for the lists you still send to. Keep them as a record of each address's last status and the date it was checked.

  2. Find every rule that reads a result

    Search your code, your ESP segments and your automation tools for NeverBounce's result names. Write each one down with what it does, such as drop, send or hold.

  3. Map five results to four

    NeverBounce returns valid, invalid, disposable, catchall and unknown (its developer docs, read 24 September 2026). ZapBounce returns valid, invalid, catch_all and unknown, and moves disposable to a disposable flag beside the result. Point any rule that reads their disposable result at our flag, and every other rule carries straight across.

  4. Build against the sandbox key

    Swap your single-check call for POST https://api.zapbounce.com/v1/verify with a JSON body holding email, and send the key as Authorization: Bearer. Read the result field. Calls with a zb_test_ key never bill, so you can run your whole test suite free. The single verification docs show the full response.

  5. Move bulk jobs to files or batches

    Upload CSV or TXT files with POST /v1/files, or send up to 100,000 addresses as JSON with POST /v1/batches. Poll GET /v1/batches/{id} or wait for a webhook, then page through the rows with the results endpoint.

  6. Re-point webhooks and no-code steps

    Subscribe to batch.completed and batch.failed, and check the ZapBounce-Signature header on each delivery. In Zapier, replace the NeverBounce step with the ZapBounce Verify email action. The webhooks docs list every event.

  7. Re-check lists older than a month

    Upload any list you last checked more than a month ago to the bulk page. Addresses decay as people change jobs, so an old valid is a guess, not a fact.

  8. Switch the live key on

    Change the key in your environment from zb_test_ to zb_live_, watch the first day's results for anything your mapping missed, then turn off the NeverBounce calls.

The result mapping at a glance

NeverBounce valid becomes ZapBounce valid. NeverBounce invalid becomes invalid, and our reason field tells you why, such as mailbox_not_found or domain_not_found.

NeverBounce catchall, which its docs call Accept-all (Unverifiable), becomes catch_all. NeverBounce unknown becomes unknown, and at ZapBounce an unknown is never billed. NeverBounce disposable becomes whatever result the mail server gave, with disposable set to true, so you learn both facts about the address.

What changes on your bill

ZapBounce bills one credit when we asked a mail server and got an answer. valid, invalid and catch_all cost a credit. An unknown, a duplicate in the same batch, a syntax reject and any error on our side cost nothing. Every result row carries a billed field, so you can audit the count yourself.

The ladder runs $5 for 1,000, $25 for 10,000, $139 for 100,000 and $949 for 1,000,000, and credits never expire. The pricing page has every tier.

Questions people ask

How do I migrate from NeverBounce to another verifier?

Export your recent NeverBounce results, map its five result codes to the new vendor's results, swap the API calls and bulk uploads, re-point webhooks and Zapier steps, and re-check lists older than a month. ZapBounce sandbox keys never bill, so the whole switch can be tested free.

What NeverBounce result codes are there?

NeverBounce returns five: valid, invalid, disposable, catchall and unknown, per its developer docs read on 24 September 2026. ZapBounce returns four results, valid, invalid, catch_all and unknown, and reports disposable as a separate flag.

Do I need to re-verify lists NeverBounce already checked?

Re-verify any list checked more than a month ago before you send to it. A result describes the mailbox on the day of the check, and business addresses change as people move jobs.

Does ZapBounce charge for unknown results?

No. An unknown result is never billed at ZapBounce, and neither are duplicates or syntax rejects. You pay for valid, invalid and catch_all answers only, from $5 per 1,000 checks.

Run your list through it

100 free checks a month, no card. Every address comes back with one verdict, and unknowns are never billed.