We benchmarked six lead-enrichment vendors across 12,000 LinkedIn-sourced contacts in March 2026. No single vendor cleared 70% verified-email coverage on its own. Stacked correctly, the waterfall cleared 85% at 40% lower per-contact cost than running any single vendor exhaustively.
Here's how to build the stack.
Enrichment is the process of taking a LinkedIn URL (or name + company) and returning verified work contact info — primary work email, direct phone, sometimes title and seniority. Each vendor scrapes, infers, or buys this data from different sources, so coverage and quality vary widely by ICP.
Our benchmark, 12,000 LinkedIn URLs across SaaS, services, and consumer brands:
| Vendor | Email hit rate | Phone hit rate | Cost per verified email |
|---|---|---|---|
| Apollo | 58% | 31% | $0.07 |
| Findymail | 62% | n/a | $0.10 |
| Wiza | 51% | 28% | $0.15 |
| Datagma | 44% | 36% | $0.04 |
| Limadata | 67% | 41% | $0.06 (Limadata pricing) |
| ZoomInfo (Sales) | 71% | 49% | $0.39 |
Caveats: hit rates skew higher for US-based SaaS contacts, lower for international or non-tech roles. ZoomInfo wins on raw coverage but loses on cost. Limadata wins on cost-quality balance.
A waterfall is: try the cheapest, highest-quality vendor first. If it misses, fall through to the next. Stop the moment you get a verified contact.
The 2026 stack that maximizes coverage while minimizing spend:
Run them as parallel waterfalls, not sequential. Hit email and phone vendors at the same time. Stop each waterfall the moment that field is filled.
1. Always verify before billing the customer. A vendor "match" isn't the same as a verified deliverable address. Run every email through Twilio Lookup or NeverBounce before charging an enrichment credit. ~15–18% of "matched" emails will fail verification — don't burn customer trust on them.
2. Cache aggressively. LinkedIn URLs don't change. Email-to-LinkedIn-URL mappings don't change often. Cache by canonical URL. We see 30–40% cache hit rate inside a month for active workspaces, which translates to direct cost savings.
3. Detect out-of-credits errors. Every vendor returns subtly different errors when your account hits a credit cap. Detect these specifically (Datagma's 402, Apollo's specific JSON shape) and short-circuit the waterfall to the next vendor instead of treating them like real misses.
4. Use the vanity URL. Many vendors return obfuscated LinkedIn URLs (ACoAA...). Use the vanity URL (e.g., linkedin.com/in/yardenhofer) for cache keys. We've seen workspaces over-paying because the same person was being enriched repeatedly under different URL shapes.
5. Set a per-contact budget cap. A runaway waterfall can spend $1.50 on a single contact across 6 vendors. Cap at 3 vendors per field per contact. Better to leave a phone unfilled than to burn credits chasing a contact that doesn't exist.
For ~15% of contacts, no vendor returns a verified work email. The honest move: surface this clearly in the UI ("no public contact found") and don't bill a credit. Reps will appreciate the transparency. Trust is the long-game asset.
Saava ships with a built-in waterfall using Limadata, Apollo, Datagma, Findymail, and Wiza in that order. We only charge enrichment credits on verified contacts. The whole motion happens in milliseconds, transparent to the rep.
For high-ACV workspaces, we can wire in ZoomInfo as a final fallback — but most teams don't need it once the rest of the waterfall is tuned.
Most LinkedIn lead data is wrong, stale, or scraped from cached profiles. Here's what bad data actually costs you.
PlaybookHow many connection requests and messages you can safely send on LinkedIn in 2026, the signals that trigger restrictions, and a 4-week warm-up schedule for a new account.
PlaybookA new VP in seat is the highest-converting trigger in B2B. Here's how to catch role changes on LinkedIn and run the 90-day window play before your competitors notice.