The Coverage Gap
Single-provider enrichment leaves gaps
Apollo's enrichment API works well, but single-provider enrichment leaves coverage gaps. Every contact Apollo can't match is a lead you already paid to source that comes back without an email.
The math is simple: any single-provider lookup leaves the remainder of your pipeline on the table. Every empty row is a contact your SDRs can't reach. Every missing email is a deal that never starts.
Adding a waterfall changes that math. Apollo runs first. Crustdata, People Data Labs, Hunter, and LeadMagic pick up the misses. Result: higher combined coverage from one command (depending on ICP and region), using the providers you already have accounts with.
Calling Apollo
Calling Apollo from Claude Code
Apollo has a REST API. Claude Code can call it - you'd write a Bash command with curl or have Claude Code generate a script that loops through your CSV and calls the People Match endpoint for each row.
This works for single-provider enrichment. But when Apollo doesn't have a match, you're on your own. You'd need Claude Code to write custom fallback logic: try Crustdata next, then PDL, then Hunter - handling different API schemas, error codes, rate limits, and response formats for each.
# Calling Apollo's API directly from Claude Code
# You'd need to write something like this for EACH provider:
curl -s -X POST "https://api.apollo.io/api/v1/people/match" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $APOLLO_API_KEY" \
-d '{"first_name":"Jane","last_name":"Doe","organization_name":"Acme"}'
# Then parse the response, check if email exists,
# if not, call Crustdata with a different API schema,
# then PDL with yet another schema...
# Plus handle rate limits, retries, and validation.
Each provider has a different API schema, auth method, and response format. Claude Code would need to orchestrate all of this.
Deepline
Using Deepline's waterfall in Claude Code
Deepline is a CLI that Claude Code calls directly - the same way it calls git or curl. One command, one flag, and Apollo becomes the first step in a 15-provider waterfall. No custom orchestration code. No fallback logic. Minimal token overhead.
# In Claude Code - one command, one flag:
deepline enrich --input leads.csv \
--with-waterfall email \
--providers apollo,crustdata,pdl,hunter \
--with '{"alias":"verify","tool":"leadmagic_email_validation","payload":{"email":"{{email}}"}}' \
--with '{"alias":"score","tool":"deeplineagent","payload":{"prompt":"Score this lead 1-10: {{verify}}","json_mode":true}}'
# Apollo is tried first. If it returns an email, the waterfall stops.
# If not, Crustdata tries next, then PDL, then Hunter.
# The winning email is validated via LeadMagic.
# Total token cost in Claude Code: minimal overhead.
Your existing Apollo API key is used. Apollo credits are only consumed when Apollo is the provider that finds the match.
Code Comparison
Compare the workflows
Apollo API alone in Claude Code
# Apollo API alone in Claude Code
# For each row in CSV:
curl -X POST \
"https://api.apollo.io/api/v1/people/match" \
-H "X-Api-Key: $KEY" \
-d '{"first_name":"...",
"last_name":"...",
"organization_name":"..."}'
# If no email -> no fallback
# Coverage: single-provider only
# Tokens: high orchestration overhead
# Providers: 1Deepline waterfall in Claude Code
# Deepline waterfall in Claude Code
deepline enrich --input leads.csv \
--with-waterfall email \
--providers \
apollo,crustdata,pdl,hunter \
--with '{"alias":"verify","tool":"leadmagic_email_validation","payload":{"email":"{{email}}"}}'
# Apollo first -> fallback chain
# Coverage: high (multi-provider waterfall)
# Tokens: minimal overhead
# Providers: 30+Who should use what
Choose Deepline if you...
- Use Claude Code for GTM workflows and want higher coverage
- Already have an Apollo account and want waterfall fallback
- Want one CLI command instead of custom API orchestration
- Need higher email coverage than a single provider offers
- Want AI agents to run enrichment autonomously
- Want data in your own PostgreSQL database
Choose Apollo alone if you...
- Need a built-in B2B contact database for prospecting
- Want a CRM alongside your enrichment
- Prefer a point-and-click prospecting UI
- Single-provider email coverage is sufficient for your use case
Feature Comparison
Side-by-side
| Feature | Deepline | Apollo |
|---|---|---|
| Coverage rate | High coverage via multi-provider waterfall | Single-provider enrichment leaves coverage gaps |
| Enrichment providers | 79 providers with automatic waterfall fallback | 1 provider (Apollo's own database) |
| Claude Code integration | Native skill - slash commands, single CLI call with minimal token overhead | REST API - requires custom orchestration code in Claude Code |
| Waterfall logic | Built-in - try Apollo, fall back to PDL, then Hunter, etc. | None - you write the fallback logic yourself |
| Token cost in Claude Code | Minimal token overhead per CLI call | Significant tokens for API calls + waterfall orchestration logic |
| Email validation | Built-in - append a validation step in the same command | Separate integration required |
| Data ownership | PostgreSQL DB included - your data, your schema | Data lives in Apollo's platform |
| Pricing model | Pay provider cost. Free with your own API keys. | Per-credit pricing. Higher tiers for API access. |
| B2B contact database | No built-in database - uses provider APIs | 275M+ contacts with prospecting UI |
Trusted by GTM teams
Common questions
FAQ
Can Claude Code use Apollo's API directly?+
Yes. Apollo has a REST API that Claude Code can call. However, Apollo is a single provider, so single-provider enrichment leaves coverage gaps with no automatic fallback when Apollo doesn't have a match.
What does Deepline add on top of Apollo in Claude Code?+
Deepline orchestrates Apollo as the first provider in a waterfall. If Apollo misses, it falls back to Crustdata, PDL, Hunter, and others automatically. This significantly raises email coverage beyond what Apollo alone provides, without any custom code.
Does using Deepline replace my Apollo account?+
No. Deepline uses your existing Apollo API key. Apollo is still the first provider tried. Deepline only calls other providers when Apollo returns nothing.
How many tokens does Deepline use vs calling Apollo directly in Claude Code?+
Deepline uses a single CLI call from Claude Code with minimal token overhead. Calling Apollo's API directly and writing waterfall fallback logic in Claude Code requires significantly more tokens for orchestration.