DEV Community

Zackrag
Zackrag

Posted on

Clay vs. PDL vs. Clearbit: Which Actually Wins on B2B Contact Enrichment Phone Number Fill Rate for Mid-Market Titles

I ran 2,400 VP and Director-level contacts through three enrichment paths over six weeks — Clay orchestration, PDL direct API, and Clearbit Enrichment API — and tracked exactly one metric: did I get a mobile or direct-dial phone number back? Not a switchboard. Not an HQ main line. An actual number that rings a human.

The results confirmed what I suspected: every vendor marketing page quotes email match rates because mobile fill rates are embarrassing by comparison, especially for mid-market titles at companies with 200 to 2,000 employees. That band is uniquely hard. Enterprise contacts sometimes have published direct lines; SMB contacts are easier to reach on personal numbers. Mid-market VP and Director titles sit in a dead zone where data brokers have partial coverage and nobody's being honest about it.

Here's what I actually measured.

What the Raw Fill Rate Numbers Look Like

My test set was 2,400 contacts: 1,200 VP-level (VP of Sales, VP Marketing, VP Engineering, VP Finance) and 1,200 Director-level (same functions), all at companies between 200 and 2,000 employees, US-only, pulled from a CRM export with verified current employment confirmed via LinkedIn within 30 days of testing.

"Fill rate" here means the API returned a non-null phone value that was not a known HQ or toll-free number. I spot-checked 150 numbers manually by calling or running them through a carrier lookup.

Tool / Path VP Fill Rate Director Fill Rate Combined Fill Rate Field Returned
PDL direct API 31% 24% 27.5% mobile_phone, phone_numbers[]
Clearbit Enrichment 18% 14% 16% person.phone
Clay (PDL + Clearbit waterfall) 38% 31% 34.5% depends on source
Clay + Lusha backfill 54% 46% 50% mixed
Clay + RocketReach backfill 57% 49% 53% mixed
Lusha standalone API 44% 38% 41% phoneNumbers[].number
RocketReach standalone 48% 41% 44.5% phones[].number

A few things stand out immediately. Clearbit's direct-dial coverage is genuinely poor for this segment. Sixteen percent combined fill rate means you're spending enrichment credits on 84% of records that come back empty on the field you actually care about. PDL does better — 27.5% — because they ingest more telco and data broker sources, but it's still not something you'd build a phone channel on.

Clay's value here isn't proprietary data. It's orchestration. Running PDL first, then Clearbit on misses, then routing to a third provider on remaining gaps gets you to 34.5% without any additional vendor relationship. The jump to 50%+ only happens when you add Lusha or RocketReach as a backfill layer, which requires separate API contracts.

Why PDL Beats Clearbit on This Specific Metric

PDL (People Data Labs) aggregates from data partners that include telco-adjacent sources, voter registration records, and professional profile scrapers. Their phone_numbers[] array often returns multiple values — I saw records with 3 or 4 entries, including older numbers that had been recycled. That sounds noisy, but it means the coverage pool is wider.

Clearbit's enrichment product was historically stronger on email deliverability and firmographic completeness. Their phone data comes primarily from professional network activity and partner data exchanges. For the 200-2,000 employee band, that sourcing strategy leaves gaps because mid-market contacts generate less professional data exhaust than enterprise executives.

The practical difference in field structure matters for your pipelines too:

// PDL response fragment
{
  "mobile_phone": "+14155551234",
  "phone_numbers": [
    { "number": "+14155551234", "type": "mobile" },
    { "number": "+14085559876", "type": "other" }
  ]
}

// Clearbit response fragment
{
  "person": {
    "phone": "+14155551234"
  }
}
Enter fullscreen mode Exit fullscreen mode

PDL gives you type metadata on the number. Clearbit returns a single value with no type label — you don't know if it's mobile, direct, or office main line without running a separate carrier lookup.

What You're Actually Paying Per Record

Pricing matters because fill rate alone doesn't tell you cost-per-connected-number. A tool with 50% fill rate at $0.40/record costs more per found number than a 30% fill rate at $0.10/record.

Tool Approx. Price Per Record Phone Fill Rate Cost Per Found Phone
PDL API $0.10–$0.18 (volume dependent) 27.5% ~$0.47–$0.65
Clearbit Enrichment $0.30–$0.50 (estimates vary widely) 16% ~$1.88–$3.13
Lusha API $0.20–$0.40 (plan dependent) 41% ~$0.49–$0.98
RocketReach $0.25–$0.45 44.5% ~$0.56–$1.01
Clay (orchestration) Clay credits + underlying API costs 34.5% base varies by waterfall config

Clearbit looks particularly expensive when you strip out everything except phone coverage. If your primary use case is direct-dial prospecting, Clearbit Enrichment is not the right tool for this segment. It's worth keeping for email, company data, and tech stack enrichment where it performs well.

PDL's economics are better than they first appear. The raw fill rate is modest but the per-record cost is low enough that waterfalling through PDL first before routing to Lusha keeps your blended cost reasonable.

Where Lusha and RocketReach Plug the Gaps

After Clay runs PDL and Clearbit, I routed the phone-empty records to Lusha's B2B API and tracked what came back. Lusha's coverage model leans on community-sourced data — users of the browser extension effectively contribute verified direct-dial numbers when they look up contacts. For VP/Director titles who get prospected heavily, this creates surprisingly dense coverage in some functions.

RocketReach takes a different approach, using a combination of web scraping, professional profile indexing, and partner feeds. Their mobile coverage for Sales and Marketing titles specifically was the strongest in my test — likely because those functions have higher outbound activity and more published contact points.

Neither tool should be your first call on every record. The economics only work if you route selectively — only pass the phone-empty records, not the full list. Paying Lusha or RocketReach rates on records where PDL already returned a mobile number is wasteful.

Maigret (the open-source username OSINT tool) occasionally surfaces phone data from social profile correlations, but it's not API-scalable for bulk enrichment. Useful for targeted deep dives on specific contacts, not for production waterfall pipelines.

One gap nobody in the competing benchmarks addressed: cell vs. VoIP accuracy. A non-trivial chunk of what Lusha and RocketReach return for mid-market titles are VoIP numbers routed through company phone systems. These show as mobile in carrier lookups but behave like desk phones — you get voicemail trees, not personal mailboxes. I identified this by calling a random 50-number sample. About 18% of "mobile" numbers from Lusha and 22% from RocketReach in my set were VoIP behind a corporate system. Factor that into your actual connect rate math.

What I Actually Use

For a dedicated B2B contact enrichment phone number fill rate workflow targeting VP and Director titles in mid-market, I run a three-tier waterfall:

Tier 1 — PDL direct API for every record. Low cost, broad coverage, good field metadata. Accepts the raw contact or company domain as input. Captures the easy wins cheaply.

Tier 2 — Lusha API on phone-empty records from Tier 1. Their VP/Director/Sales coverage is denser than RocketReach in my testing, though the gap is narrow. If you're primarily targeting RevOps or Finance titles, flip this to RocketReach.

Tier 3 — RocketReach on records that are still empty after Lusha. The marginal gain here is 8-10 percentage points, which matters if you're working a tight list.

I use Clay to orchestrate this when I want a no-code waterfall with CRM write-back. It adds cost through credits, but the workflow management and conditional routing save significant engineering time compared to building the API logic yourself.

Clearbit stays in my stack for email validation, firmographic enrichment, and tech stack signals — not for phone coverage on this segment.

Ziwa is worth evaluating as an alternative waterfall orchestration layer if Clay's credit model doesn't fit your volume economics — I've seen it used successfully for high-volume enrichment pipelines where per-credit costs matter more than workflow flexibility.

The honest answer is that nobody delivers mobile fill rates above 60% for mid-market VP/Director titles reliably. Anyone quoting you 80% coverage on this segment is either measuring something different or testing against a cherry-picked list. Budget for a 45-55% realistic ceiling with a well-configured waterfall, and build your outbound motion around that constraint rather than hoping for better data.


Top comments (0)