All posts

Catch-All Results in a Clay Waterfall: What to Do With 'Accepts All Addresses'

··2 min read

A catch-all result means the domain's mail server accepts every address, so no check can confirm the person's mailbox. In SimpleVerifier's API it comes back as status risky, reason "Accepts all addresses", reason_code catch_all and action send_with_care. Handle those rows in a separate lane of your Clay table instead of mixing them with confirmed ones. The Clay integration page shows the column setup, which is Clay's HTTP API enrichment with your own key, not a native action.

Why a waterfall produces so many

Email finders in a waterfall often return an address at a domain they cannot probe. At a catch-all domain the finder cannot tell either, and some report it as found. That is why a found email and a confirmed one are different. Our guide to what a catch-all domain is explains the mechanism.

Step 1: catch the label in its own column

Map reason and reason_code to columns beside action. A formula such as {{SV reason_code}} == "catch_all" gives you a clean flag. Role addresses also get send_with_care, so use the code, not the action alone, when you want catch-all specifically.

Step 2: split the table into lanes

Lane Filter Plan
Confirmed action is send Main campaign
Catch-all reason_code is catch_all Smaller, slower campaign
Role reason_code is role Decide per team inbox
Retry action is retry_later Re-run later

The status map on the Clay page shows how each code lines up with Clay's valid, catch-all, unknown and invalid results and its two include toggles.

Step 3: test before you scale

Send the catch-all lane in a small batch first and watch the bounce rate. Our guide on how many catch-all emails you can send covers batch sizes, and catch-all leads in sequences covers pacing. Keep these on their own sending inboxes if you can, so a bad segment cannot pause your main campaign.

Step 4: use the other fields as tie-breakers

If a catch-all row also has a company domain that matches the person's company, or the address came from two sources, it is a stronger candidate than a lone pattern guess. likely_invented is true only for placeholder or made-up-looking addresses; treat a true value as invalid.

What this does not solve

  • No verifier, including this one, can confirm an individual mailbox at a catch-all domain.
  • A catch-all row that bounces tells you only about that address, not the whole domain.
  • Settings like include catch-all in Clay's own waterfall are Clay's behaviour. Check Clay's documentation for the current options.

Next step

Read the full list of reasons in the API docs, and see pricing for the API calls included on each plan.

Common questions

What does Accepts all addresses mean?

The recipient's mail server said yes to an address that cannot exist, so it would also say yes to the real one. The domain is catch-all. SimpleVerifier returns these as risky with the reason Accepts all addresses, never as valid.

Should I delete catch-all rows from my Clay table?

No. Many are real people at real companies. Label them, move them to a separate view, and send them in a smaller campaign.

How do catch-all rows map to Clay's own validation?

A catch-all result has reason_code catch_all and action send_with_care. That lines up with Clay's catch-all result, which passes only when include catch-all is on.

Can a verifier confirm a mailbox on a catch-all domain?

No. The server accepts every address, so an SMTP check cannot tell a real mailbox from a made-up one.

Does this need a native Clay action?

No. It uses Clay's HTTP API enrichment column with your own SimpleVerifier key. There is no native SimpleVerifier action in Clay yet.

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.