Guide

Waterfall Enrichment in Claude Code.

How to run waterfall enrichment in Claude Code using Deepline. Try multiple data providers in sequence, stop at the first valid email, pay only for the hit. Step-by-step with real CLI commands.

TLDR

Waterfall enrichment tries multiple data providers in sequence to find verified work emails. It starts with the cheapest provider, falls through on a miss, and stops at the first valid hit. You only pay for the provider that works.

In Claude Code, you tell the agent what you need in plain English. Deepline handles the waterfall behind the scenes:

Tell Claude Code

"Find verified work emails for these 50 contacts using waterfall enrichment. Start with 5 as a pilot."

Result: Higher match rates than any single provider, because misses fall through to the next source instead of coming back empty. Specific lift varies by ICP and region. Cost: ~$0.03-0.04 per verified email in managed mode, or free orchestration with your own API keys.


What is waterfall enrichment?

When you search for someone's work email using one provider (say, Apollo), you get a result ~60-70% of the time. The other 30-40% come back empty.

A waterfall fixes this by trying multiple providers in sequence:

  1. Provider A (cheapest): try first. If it returns a verified email, stop.
  2. Provider B (next cheapest): try only if A missed.
  3. Provider C: try only if A and B both missed.
  4. Continue until a valid email is found or all providers are exhausted.

You only pay for the provider that succeeds. If Provider A finds the email, you never call B or C.

Why it matters: Per Instantly, teams using waterfall enrichment see a 20-40% improvement in coverage over any single provider. As one community data point (not a Deepline benchmark): on r/gtmengineering, a single user reported going from 60% to 91% match rate after switching from Apollo-only to a waterfall approach.


How to run it in Claude Code (step by step)

Step 1: Install Deepline (30 seconds)

Terminal

curl -s "https://code.deepline.com/api/v2/cli/install" | bash deepline auth register

This installs the Deepline CLI and provisions a workspace. Deepline auto-installs its Claude Code skill, so Claude can call it immediately.

Step 2: Prepare your list

Create a CSV with the people you want to find emails for:

leads.csv

first_name,last_name,company,domain Jane,Smith,Acme Corp,acme.com John,Doe,Widget Inc,widget.io Sarah,Lee,FooBar Labs,foobar.dev

Step 3: Run the waterfall (pilot first)

Open Claude Code and paste:

Claude Code prompt

"I have a CSV at leads.csv with first_name, last_name, company, and domain columns. Run waterfall enrichment to find verified work emails. Start with 2 rows as a pilot."

Claude Code reads the Deepline skill, writes the enrichment command, and runs it. The pilot (--rows 0:1) processes only 2 rows so you can see the output before committing credits.

Or run the CLI directly:

Terminal (advanced)

deepline enrich --input leads.csv --with-waterfall email --rows 0:1

Step 4: Review and scale

The output shows each row with:

  • The verified email (or "no result" if all providers missed)
  • Which provider found it (Apollo, Hunter, PDL, etc.)
  • The cost in credits

If the pilot looks good, run the full list:

Full run

deepline enrich --input leads.csv --with-waterfall email

Step 5: Deploy as a daily workflow

Tell Claude Code:

Deploy

"Deploy this enrichment as a workflow that runs every weekday at 8am on new leads from HubSpot."


What providers are in the waterfall?

Deepline waterfalls across 95+ integrations in cost-optimized order. The cheapest providers run first so you pay the least possible per resolved email.

ProviderTypical costStrength
DropleadsLowest tierHigh volume, good NA coverage
HunterLow tierDomain-based search, built-in verifier
ProspeoLow tierStrong North American B2B
LeadMagicLow-mid tier97% advertised accuracy
ApolloMid tierLargest B2B database, good firmographics
People Data LabsMid tier3B records, highest recall
RocketReachMid tierBest senior-leader coverage
ContactOutMid tierStrong LinkedIn-to-email resolution
LushaMid-high tierBest phone + email combo
And 20+ moreVariousSpecialized coverage per region/vertical

Bring your own keys (BYOK): If you already have an Apollo contract or a Hunter API key, paste it in the Deepline dashboard. Deepline uses your key for that provider. You keep your contract pricing, your rate limit, your billing. Deepline charges $0 for orchestration in BYOK mode.


How much does it cost?

ModeCost per verified emailHow it works
BYOK (bring your own keys)$0 platform fee + your provider costPaste your API keys. Deepline orchestrates for free.
Managed credits~$0.03-0.04 per emailPay per credit. Deepline covers the underlying provider costs.
Pilot mode2 rows for ~$0.06Always test with --rows 0:1 before running a full list.

Worked example: 1,000 contacts

Deepline (managed)Apollo aloneClayZoomInfo
Emails found~800-910 (waterfall)~600-700 (single)~750-850~700-800
Cost$30-40$80$90-150 (dual credits)$25K+/yr contract
Pilot modeYes (--rows 0:1)NoNo (auto-run)No
Credit surprisesImpossibleModerateCommonHidden in contract

Waterfall enrichment vs. single-provider enrichment

Waterfall (Deepline)Single provider (Apollo, Hunter, etc.)
Match rateHigher; misses fall through to the next provider (varies by ICP/region)60-70%
Cost per email$0.03-0.04 (only the winning provider charges)$0.05-0.15 (full charge even on misses for some)
Provider lock-inNone. Swap providers anytime.Yes. Your workflow depends on one API.
Fallback on missAutomatic. Tries next provider.Manual. You build the retry logic.
Works with Claude CodeNative skill. Describe what you want.Manual API integration.

Waterfall enrichment vs. Clay

DeeplineClay
InterfaceClaude Code + CLI (programmatic)Spreadsheet UI (click-based)
WaterfallBuilt-in, one flagManual formula columns + conditionals
Pilot mode--rows 0:1 (forced before full run)No pilot. Auto-run burns credits.
Credit modelPay per waterfall hit (BYOK = $0)Dual credits: Data Credits + Action Credits
Row limitsUnlimited (CSV)50K per table ("unlimited" on Enterprise)
Data ownershipPostgres database you ownClay's cloud (export required)
ReproducibilityShell command in gitUI-only (no version control)
Claude Code nativeYes. Official skill.No. Separate tool.

Common questions

"Can I customize the waterfall order?" Yes. The default order is cost-optimized. You can override it by specifying providers explicitly: --with-waterfall "email" --waterfall-order "apollo,hunter,pdl".

"What happens when no provider finds an email?" The row stays in the output CSV with an empty email field and a note saying "no result after N providers." You're not charged for missed rows.

"Can I add email validation after the waterfall?" Yes. Chain a validation step: --with 'verify=leadmagic_email_validation:{"email":"{{email}}"}'. This runs after the waterfall and validates every resolved email before it reaches your sequencer.

"Does this work with Instantly / Smartlead / Lemlist?" Yes. After enrichment, tell Claude Code: "Push verified contacts to my Instantly campaign 'Q2 Outbound'." Deepline handles the sequencer import.

"Can I run this on a schedule?" Yes. "Deploy this as a workflow that runs every Monday at 8am." Deepline wraps the prompt as a recurring workflow.


Get started

Install + first waterfall in 60 seconds

curl -s "https://code.deepline.com/api/v2/cli/install" | bash deepline auth register deepline enrich --input leads.csv --with-waterfall email --rows 0:1

Or tell Claude Code: "Find verified work emails for the contacts in leads.csv using waterfall enrichment. Pilot on 2 rows first."

Free with your own API keys. Managed credits start at $0.10/credit.

Install Deepline Read the quickstart