How to verify Apollo leads before you send

Apollo attaches an email status to each contact, but that status is Apollo's record of an earlier check. People leave jobs and companies retire domains between that check and your first send. A bounce from a fresh sending domain costs far more than the check that would have caught it.

The steps below run from the Apollo export to your sequencer. If you want to know whether Apollo's own status is enough on its own, our answer on Apollo verification covers that question.

The short version

  • An Apollo list or saved search you plan to sequence
  • A ZapBounce account (100 free checks a month, no card)

The steps

  1. Export the list as CSV

    Export the contacts you plan to email in the next week, with every column your sequencer needs: name, company, title and any custom fields. Keep Apollo's email status column too, so you can compare it with the fresh result.

  2. Upload the file to ZapBounce

    Drop the CSV on the bulk page and pick the email column. ZapBounce removes duplicates for free and checks each address with its own SMTP handshake on port 25. No message is sent to anyone on the list.

  3. Download the results with your columns intact

    Your file comes back with every Apollo column you exported, plus result, reason, the role and disposable flags and a billed column. Nothing needs to be joined back by hand.

  4. Send valid rows to the main sequence

    Filter to valid and load those rows into your sequencer. These are the mailboxes that accepted the address at RCPT TO this week, on a domain that doesn't accept everything.

  5. Give catch-all rows their own batch

    Rows marked catch_all sit on domains that accept every address, so no SMTP check can confirm the person. Send them as a small separate batch from a mailbox you can spare, and stop if bounces climb.

  6. Drop invalid rows and hold unknowns

    Delete invalid rows from the sequence. Hold unknown rows for a day and check them again, because greylisting and throttling clear with time. Unknowns are never billed, so the re-check costs only the answers you get.

  7. Mark the contacts in Apollo

    Tag or move the invalid contacts in Apollo so the next saved-search export doesn't bring them back. The Apollo integration page shows the round trip in more detail.

Where Apollo exports bounce

Two causes explain an Apollo bounce that a check could have stopped. The first is a mailbox that closed after Apollo last checked it, and a live check in the week you send catches that. The second is a catch-all domain that said yes during the check and rejected the real send later.

Catch-all domains are common in B2B lists. About 28% of a 10,000-address B2B benchmark sat on domains that accept every address. ZapBounce labels those rows catch_all instead of folding them into valid, so you choose how much of your sending reputation to put on them.

Keeping the verification lawful

You confirm a lawful basis to process every address you upload, including contacts bought or exported from a data provider like Apollo. ZapBounce checks the addresses you already hold. Guessing new ones by name pattern, dictionary or appending runs falls outside the acceptable use policy.

A check never creates consent to email anyone. Your cold email rules, such as opt-out handling and sender identity, apply the same way after the check as before it.

What checking an Apollo export costs

A 1,000-contact export costs $5, and a 10,000-contact one costs $25. Duplicates across Apollo lists are charged once, unknowns are never charged, and credits never expire, so a quiet month loses you nothing. See the pricing page for larger tiers.

Questions people ask

How do I verify emails from Apollo?

Export the Apollo contacts as CSV, upload the file to a verifier that runs a live SMTP check, and load only the valid rows into your sequence. Send catch-all rows separately and drop the invalid ones.

Why do Apollo emails bounce?

Apollo emails bounce when the mailbox closed after Apollo's last check, or when a catch-all domain accepted the address during the check and rejected the real send. A live check in the week you send catches the first case, and a catch_all label flags the second.

Should I send to Apollo catch-all emails?

Send to them only as a small separate batch from a mailbox you can spare, and watch the bounce rate. About 28% of a 10,000-address B2B benchmark sat on catch-all domains, so dropping them all removes a large part of a typical list.

How much does it cost to verify 10,000 Apollo leads?

At ZapBounce, 10,000 checks cost $25. Duplicates and unknown results are never billed, and credits never expire.

Run your list through it

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