You have a shortlist of target accounts. The companies are a fit. The decision makers are named. You still cannot send the first email, because you do not have a verified address for half of them. Every outbound campaign starts here, and most operators lose the campaign at this exact step by betting on a single database and accepting whatever coverage it gives them.
Running a single source on a 10,000 lead list typically returns usable emails for 50 to 60 percent of the records. The other 40 to 50 percent you paid for are wasted. Waterfall enrichment fixes that by stacking five to eight providers in a defined order, so when provider one comes back empty the list moves to provider two, then three, and so on. This is the stack we run at Borks across thousands of campaigns a month, the order we run it in, and the verification step without which none of it matters.
What waterfall enrichment is and why it beats any single database
Every contact database is a snapshot of a moving target. LinkedIn job changes, company rebrands, email alias migrations, and deliverability blacklists move thousands of records per day. Apollo might have a record with no current email. ZoomInfo might have the email but attached to a role the buyer left six months ago. Prospeo might hold the personal Gmail that still works. No single provider sees all three. That is the coverage gap, and waterfall is the only clean way to close it.
Coverage compounds, cost does not
Each additional provider in the sequence recovers a slice of records the provider before missed. The first provider might cover 55 percent. The second recovers another 15. The third picks up another 10. By the fourth or fifth, you are in the mid 80s to low 90s on coverage with total cost close to what a single database charges, because you only consume credits on records that failed the prior step.
This is not a theoretical gain
On a recent campaign for a financial services client, the raw Apollo pull returned 6,200 emails on 11,000 records. Adding Prospeo, Contact Out, and FindyMail in sequence lifted that to 9,480. That is 3,280 additional contacts that would have been dropped from the list, at the cost of about 40 dollars in enrichment credits. The same campaign closed three deals that could only have come from contacts recovered in the later steps.
The five providers we run, and the order they run in
The order matters. Put the highest coverage and cheapest provider first, because it will handle the bulk of the list. Put the most expensive and most specialised provider last, because it only runs on the residue that the others missed.
Step 1. Apollo for bulk pulls
Apollo is fast, broad, and cheap per record on a paid plan. It handles US-based small and mid-market with the highest coverage of any single database we have tested. Use it to do the initial lookup on every record, then move to step two with whatever Apollo returned empty.
Step 2. Prospeo for depth and international
Prospeo started as a single-lead lookup tool and grew into a full database. Its single-search feature is the most reliable way to find an individual contact when the bulk pull missed them. It is also stronger than Apollo on European and UK records, where Apollo coverage drops off. Run Prospeo second on the records Apollo left empty.
Step 3. Contact Out for LinkedIn-matched emails
Contact Out indexes LinkedIn URLs and resolves them to work emails. It catches records where the person exists in both earlier databases but the email is stale, because it re-resolves off current profile data. Run it third.
Step 4. FindyMail and Rocket Reach for professional directories
FindyMail wins on vertical coverage for agencies, SaaS, and certain professional services. Rocket Reach is a last-resort wide net. One of these two will recover another 3 to 7 percent of records.
Step 5. Personal email and mobile for the highest-value targets
For the accounts where the professional email is still missing at step 4, pull the personal Gmail or Outlook through Prospeo direct search or Lead Magic. Tag a verified mobile number alongside it so your sales team can hand-call the highest-value targets. Reserve this step for a narrow list of high-ticket prospects because the cost per contact is higher.
Verification is where most campaigns silently break
A record appearing in a database is not proof the address delivers. Roughly 30 percent of records returned by a single database are stale, catch-all, or outright invalid. Sending to those addresses bounces the campaign and burns the sending domain reputation in a week. Every address in the final list runs through two verification layers before it touches a sequencer.
Layer 1. SMTP and syntax check
Standard verifier services run a syntax check and an SMTP handshake. NeverBounce, ZeroBounce, and MillionVerifier all do this. We run the list through two of them in sequence, and only addresses that both providers mark deliverable move forward.
Layer 2. Scrubby for catch-all domains
A catch-all domain is configured to accept mail at any address, so the SMTP handshake returns green on a mailbox that does not actually exist. This is the biggest single cause of silent bounce and spam placement. Scrubby is the only tool we have seen that reliably separates a real mailbox behind a catch-all from a fake one. Running Scrubby on the catch-all portion of the list drops bounce rate on those addresses from 20 percent to under 2.
Verification target
< 2% bounce
Catch-all share of list
typically 18%
Scrubby pass rate on catch-alls
roughly 60%
Cost per verified contact
< $0.03
Tools, budgets, and when to run this manually
You do not need a workflow platform to run waterfall. For a list under 500 records it is faster to run the sequence manually in five browser tabs, copy the email into a sheet, and move on. For lists above 500, use Clay, Floker, or a similar go-to-market automation platform so the whole sequence runs on one record and moves to the next automatically.
- Under 500 records. Run it manually. You will spend 90 minutes and pay in credits what a subscription would cost you monthly.
- 500 to 5,000 records. Clay or Floker handles this cleanly. Set a single waterfall recipe and re-use it across campaigns.
- Above 5,000 records. Clay for breadth, Floker for intent signal stacking. At this scale, automate the verification layer too.
- Enterprise-only targeting. Manual passes per contact, because the extra five minutes per target is a rounding error on a six-figure deal.
Budget for waterfall plus verification runs about 8 to 12 cents per verified contact on US data. On international or high-coverage enterprise data it runs higher, but never more than 25 cents. Against a cost per qualified meeting of 30 to 80 dollars, enrichment is a rounding error. Skipping it and running unverified lists is the expensive move.
The five mistakes that waste enrichment spend
- Single-source purism. Relying on one database because it is what the team already pays for. You are leaving half the list on the floor.
- Skipping verification. A verified-looking database record is not a verified address. Always run the final list through two independent verifiers.
- Ignoring catch-alls. The single biggest bounce source. Scrubby or equivalent is non-optional.
- Enriching after the campaign starts. Every record should be verified before it touches a sending inbox. Mid-campaign enrichment creates domain reputation damage that outlasts the campaign.
- No list hygiene between campaigns. Emails go stale. Re-verify any list older than 60 days before re-using it.
Enrichment is a one-time cost that compounds into every metric downstream. A list that is 90 percent verified and 90 percent deliverable gets you three times the replies of a list that is 70 percent verified and 80 percent deliverable, at the same send volume. The math is simple enough that any operator sending above 10,000 emails a month should have this dialed before touching copy or infrastructure.