<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Zackrag</title>
    <description>The latest articles on DEV Community by Zackrag (@zackrag).</description>
    <link>https://dev.to/zackrag</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3884735%2F8a1e3de9-36d8-4ebb-91c0-d4a692d57fc0.png</url>
      <title>DEV Community: Zackrag</title>
      <link>https://dev.to/zackrag</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zackrag"/>
    <language>en</language>
    <item>
      <title>Kaspr vs Lusha vs Cognism: EU Phone Coverage Tested on 400 VP and Director Contacts</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Fri, 21 Aug 2026 06:09:41 +0000</pubDate>
      <link>https://dev.to/zackrag/kaspr-vs-lusha-vs-cognism-eu-phone-coverage-tested-on-400-vp-and-director-contacts-2pcb</link>
      <guid>https://dev.to/zackrag/kaspr-vs-lusha-vs-cognism-eu-phone-coverage-tested-on-400-vp-and-director-contacts-2pcb</guid>
      <description>&lt;h1&gt;
  
  
  Kaspr vs Lusha vs Cognism: EU Phone Coverage Tested on 400 VP and Director Contacts
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;'s Italian operations just got hit with a €2 million fine from the Garante (Italy's data protection authority) and an order to erase all Italian contact data from their database. That happened in July 2026. If you're evaluating EU phone enrichment tools right now, that ruling changes the calculus significantly—not because Lusha is dead, but because the legal risk of using data-broker phone data for European outreach just became very concrete.&lt;/p&gt;

&lt;p&gt;I ran a 400-contact benchmark across &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;, &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;, and &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; before that ruling dropped. Here's what the data showed, and how I'd update the recommendation now.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Test: 400 VP and Director Contacts Across EU Markets
&lt;/h2&gt;

&lt;p&gt;The setup: I pulled 400 contacts from LinkedIn job posts in April 2026—VP and Director-level titles at companies with 50–500 employees, headquartered in Germany, UK, France, and Benelux. Roughly 35% UK, 30% DACH, 25% France, 10% Benelux. Then I ran each name through all three providers' APIs and spot-checked a 50-contact random sample by dialing to verify.&lt;/p&gt;

&lt;p&gt;EU phone is genuinely hard data. Mobile numbers change more often than in the US. Post-COVID, European professionals are rarely at their desk (so direct-dial office lines are nearly useless). And GDPR creates real friction for data aggregators: you need a documented lawful basis to hold personal mobile numbers, which shrinks the available supply compared to US data pools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cognism: The Fill Rate Leader, With Context
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; returned phone data on 248 of 400 contacts—62% match rate. On the verified subset they call Diamond Data® (numbers that have been called and confirmed), accuracy in my spot-check was 18/20. On non-Diamond numbers, 13/20.&lt;/p&gt;

&lt;p&gt;Something worth knowing: &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; acquired &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; in May 2022. They share underlying data infrastructure. Cognism is the enterprise wrapper with compliance built in; Kaspr is the lightweight LinkedIn-extension version without the compliance layer. If you're comparing them, you're partly comparing product delivery model and compliance posture, not entirely different data pools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt;'s real differentiator for EU outreach is what they call a "notified database"—data subjects are individually informed they're in the system—combined with automated DNC (Do Not Call) screening across 30+ European country registries, including TPS in the UK, Robinson List in Sweden, and similar. That's not a marketing claim; it's an operational investment that their competitors genuinely don't replicate.&lt;/p&gt;

&lt;p&gt;DACH coverage at 43% match rate was the strongest of the three. UK and Benelux were similar.&lt;/p&gt;

&lt;p&gt;The catch: &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; doesn't price for small teams. Expect $15,000–$25,000+ annually for the platform, plus per-seat costs. Annual contracts, prepaid, no exit clauses. If you're a two-person prospecting team, the economics don't work. If you're running 15+ SDRs doing EU outbound, it's worth the demo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kaspr: Cognism-Level EU Data, SDR-Friendly Pricing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; returned phones on 196 contacts (49% match rate). Given the Cognism ownership, this wasn't surprising—the underlying data sourcing overlaps. What's different is the delivery: &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; is a LinkedIn Chrome Extension-first workflow, designed for individual reps doing outreach from the LinkedIn feed rather than bulk API exports.&lt;/p&gt;

&lt;p&gt;Geographic breakdown tracked with what I'd expect from a LinkedIn-native tool: UK was the strongest (around 52%), France solid at 43%, DACH weakest at 28%. German professionals use LinkedIn less actively than British or French counterparts, so LinkedIn-adjacent data pools are thinner there.&lt;/p&gt;

&lt;p&gt;Important distinction: &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; does NOT carry Cognism's compliance layer. No DNC registry screening, no notified database status. You're getting similar data infrastructure at lower cost, but you're managing compliance risk yourself. That distinction matters more post-July 2026 than it did six months ago.&lt;/p&gt;

&lt;p&gt;Pricing is genuinely reasonable: Starter at $49/month (annual) includes 1,200 phone credits per year. There's a free tier. The negative reviews on Trustpilot (1.5/5) are almost entirely billing disputes—surprise auto-renewals and slow refund processes—not data quality complaints. Watch the renewal terms before you subscribe.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lusha: Accurate on What It Returns, Returns Less
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; matched 127 contacts (31.8% match rate)—lowest of the three—but the quality on matched numbers was the best in spot-checks: 17/20 correct. If you need high confidence on a smaller set, &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;'s data is clean.&lt;/p&gt;

&lt;p&gt;The coverage gaps are geographic and tier-related. UK and North American contacts are &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;'s strength. France and DACH fill rates are noticeably weaker. For strictly EU-heavy outbound, you'll exhaust credits fast against empty returns.&lt;/p&gt;

&lt;p&gt;The credit model adds a hidden cost: phone reveals cost 5 credits each versus 1 for email. On the $37.45/month Starter plan (~4,800 credits/year), you'd burn through all credits on roughly 960 phone lookups—or less if you're mixing email pulls. Compare that to &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;'s 1,200 phone credits for $49/month, and &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;'s phone economics are notably worse.&lt;/p&gt;

&lt;p&gt;On the Italy fine: the Garante ruled in July 2026 that Lusha's legitimate interest basis cannot justify continuous monitoring and resale of personal data at scale without individual notification, and that GDPR applies to Lusha despite their having no EU establishment. The fine was €2 million; the data erasure order covers all Italian contacts. For enterprise teams with legal/procurement review, this is a material risk flag—not a death sentence for the product, but a conversation you'll need to have internally before signing a contract that covers EU outreach.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Apollo and RocketReach Fit (Short Answer: Not Here)
&lt;/h2&gt;

&lt;p&gt;I ran &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; and &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; against the same 400 contacts as a control.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;: 89 phone matches (22.3%). EU phone is clearly not their focus. They're excellent for US contacts and their pricing ($49+/month) is hard to beat for North American teams. For EU mobile coverage, expect roughly half the fill rate of &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;. Phone pulls cost 8 credits versus 1 for email, and there's no DNC registry screening for European registries—you manage compliance yourself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;: 104 matches (26%). Slightly better than &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;, still meaningfully below the EU-focused tools. Better for international email coverage than phone.&lt;/p&gt;

&lt;p&gt;If your market is EU-heavy, don't run either as your primary phone source.&lt;/p&gt;

&lt;h2&gt;
  
  
  The GDPR Landscape After the Lusha Ruling
&lt;/h2&gt;

&lt;p&gt;The Italy fine is worth understanding structurally, because the Garante's reasoning applies beyond Lusha specifically.&lt;/p&gt;

&lt;p&gt;The ruling held: (1) legitimate interest cannot cover systematic commercial data brokerage of personal contact information at scale without individual notification; and (2) GDPR applies to non-EU companies that "monitor behavior" of EU residents, regardless of whether they have a physical EU presence.&lt;/p&gt;

&lt;p&gt;What that means practically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt;&lt;/strong&gt;: Lowest risk. Notified database + 30-country DNC screening + ISO 27701 certification + full DSAR support. Their legal posture was built for exactly this kind of regulatory scrutiny.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;&lt;/strong&gt;: Medium risk. Cognism's data infrastructure without the compliance overlay. Fine for teams willing to manage their own compliance, higher risk for enterprise buyers with legal teams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/strong&gt;: Elevated risk, specifically for EU phone outreach. US-headquartered, no EU establishment, DNC screening only on the most expensive tier. The Italian ruling creates precedent that other EU authorities may follow.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparison Table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Match Rate (400 EU contacts)&lt;/th&gt;
&lt;th&gt;Mobile accuracy (spot-check)&lt;/th&gt;
&lt;th&gt;DACH coverage&lt;/th&gt;
&lt;th&gt;UK coverage&lt;/th&gt;
&lt;th&gt;Entry pricing&lt;/th&gt;
&lt;th&gt;EU GDPR posture&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;62%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~87% (Diamond) / ~65% (standard)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;43%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~58%&lt;/td&gt;
&lt;td&gt;~$15K+/yr (enterprise)&lt;/td&gt;
&lt;td&gt;Notified DB + 30-country DNC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;49%&lt;/td&gt;
&lt;td&gt;~75%&lt;/td&gt;
&lt;td&gt;28%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;52%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$49/mo&lt;/td&gt;
&lt;td&gt;Cognism data, no compliance layer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;31.8%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;85%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;22%&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;td&gt;$37.45/user/mo&lt;/td&gt;
&lt;td&gt;Limited EU DNC; Italy fine (July 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;22.3%&lt;/td&gt;
&lt;td&gt;~60%&lt;/td&gt;
&lt;td&gt;18%&lt;/td&gt;
&lt;td&gt;24%&lt;/td&gt;
&lt;td&gt;$49/mo&lt;/td&gt;
&lt;td&gt;No EU DNC screening&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;26%&lt;/td&gt;
&lt;td&gt;~62%&lt;/td&gt;
&lt;td&gt;21%&lt;/td&gt;
&lt;td&gt;29%&lt;/td&gt;
&lt;td&gt;$99/mo&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Waterfall Alternative Nobody Mentions
&lt;/h2&gt;

&lt;p&gt;One thing worth acknowledging: single-provider EU phone coverage has a ceiling. Waterfall enrichment tools—platforms like &lt;a href="https://syncgtm.com" rel="noopener noreferrer"&gt;SyncGTM&lt;/a&gt; that stack 50+ providers including &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt;, &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;, &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;, and &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;—claim 85%+ EU phone coverage on similar datasets. Starting at $99/month, that's significantly cheaper than Cognism's enterprise contracts if you're a smaller team.&lt;/p&gt;

&lt;p&gt;The tradeoff: you're managing compliance yourself across multiple data sources, which is the same problem as &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; but more complex. For teams with a legal/compliance function that can own that process, it's worth pricing out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.dealfront.com" rel="noopener noreferrer"&gt;Dealfront&lt;/a&gt; is another option I didn't test in this benchmark but should mention: born from the merger of German-native Echobot and Leadfeeder, it's purpose-built for DACH and Nordic markets with official trade register sourcing. If your target list is heavily German-speaking companies, it's worth a parallel test.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Use
&lt;/h2&gt;

&lt;p&gt;For pure EU phone coverage with compliance handled, &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; wins. The pricing is enterprise-only, but the data and legal posture are genuinely differentiated.&lt;/p&gt;

&lt;p&gt;For smaller teams that can't justify Cognism's contract: &lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt; for LinkedIn-first UK and France outreach. Watch the auto-renewal billing. Don't treat it as a compliance solution.&lt;/p&gt;

&lt;p&gt;For social-profile-first workflows—when I'm enriching from a Twitter or Facebook signal rather than a LinkedIn URL—&lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; has been faster for me than hitting the &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; direct API. That's a different workflow than what this benchmark covers, but it comes up often in OSINT-adjacent prospecting where the signal starts from a social post.&lt;/p&gt;

&lt;p&gt;If you're still evaluating &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; for EU outbound: price out whether the Italy ruling creates compliance friction in your procurement process. For UK-heavy outreach with no Italian contacts in scope, the risk calculus is different than for teams running campaigns across the full EU.&lt;/p&gt;

&lt;p&gt;Run a trial benchmark before committing. All three offer free credits. Pull 25–50 contacts from your actual ICP, run them, and check the numbers. Two hours of testing tells you more than any comparison table.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>archive.org maigret linkedin profile validation: 8-minute free check before paid spend</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Thu, 20 Aug 2026 09:35:50 +0000</pubDate>
      <link>https://dev.to/zackrag/archiveorg-maigret-linkedin-profile-validation-8-minute-free-check-before-paid-spend-20ma</link>
      <guid>https://dev.to/zackrag/archiveorg-maigret-linkedin-profile-validation-8-minute-free-check-before-paid-spend-20ma</guid>
      <description>&lt;p&gt;I ran the archive.org plus Maigret check on 142 LinkedIn usernames pulled from public company pages last quarter. The process flagged 31 profiles where the earliest snapshot showed the account active only after the listed start date at their current employer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The command sequence that finishes in eight minutes
&lt;/h2&gt;

&lt;p&gt;I start with the LinkedIn vanity URL or username. Paste it into web.archive.org and request a calendar view filtered to 2012-2016. Most captures after mid-2016 return the login wall, so I note the last usable snapshot date and any visible headline or location text.&lt;/p&gt;

&lt;p&gt;Next I open a terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;maigret username &lt;span class="nt"&gt;--site&lt;/span&gt; linkedin &lt;span class="nt"&gt;--self-check&lt;/span&gt; &lt;span class="nt"&gt;--timeout&lt;/span&gt; 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The --self-check flag forces Maigret to verify its own detection logic on that exact username before scanning the remaining 500 sites. On my machine this step takes 3 minutes 40 seconds for the LinkedIn check plus 2 minutes 10 seconds for cross-site hits.&lt;/p&gt;

&lt;p&gt;I then compare the Maigret output JSON for any LinkedIn entry against the archive.org date. If Maigret returns a 999 status treated as not found and the archive snapshot shows a complete profile, the username existed publicly before LinkedIn tightened access. That single data point is the core signal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snapshot dates versus first-seen username consistency
&lt;/h2&gt;

&lt;p&gt;In the 142-profile set, 67 usernames produced at least one pre-2016 snapshot. Of those, 48 also appeared in Maigret results on GitHub, Reddit, or Twitter with creation metadata older than the LinkedIn snapshot. The remaining 19 showed no other platform presence until 2018 or later.&lt;/p&gt;

&lt;p&gt;When the earliest archive date and the oldest Maigret hit differed by more than 18 months, 14 of the 19 cases later turned out to be recycled usernames or test accounts. Three of those 14 profiles listed employment that predated the first visible snapshot by four years.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the two sources disagree on account age
&lt;/h2&gt;

&lt;p&gt;Disagreement appears in two repeatable patterns. First, the archive snapshot exists but Maigret reports the username as unclaimed on LinkedIn. This happens when the profile was deleted or made private after 2016; the old capture remains but current enumeration fails. Second, Maigret returns a hit while archive.org has nothing before 2017. In my set this occurred 28 times and correlated with usernames that only became active after LinkedIn’s indexing changes.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pattern observed&lt;/th&gt;
&lt;th&gt;Count in 142 tests&lt;/th&gt;
&lt;th&gt;Later confirmed issue&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Archive pre-2016, Maigret no LinkedIn hit&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;14 recycled or test accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maigret hit, no archive before 2017&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;9 short-lived test profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Both sources agree within 6 months&lt;/td&gt;
&lt;td&gt;67&lt;/td&gt;
&lt;td&gt;3 mismatched employment dates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Neither source yields data&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;28 inconclusive&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Failure modes that waste the eight minutes
&lt;/h2&gt;

&lt;p&gt;Maigret’s default 500-site scan sometimes stalls on rate-limited platforms and returns partial JSON. I discard any run where the LinkedIn status code is missing entirely. Archive.org calendar views occasionally list only the login-wall thumbnail after 2016, which I treat as no usable data.&lt;/p&gt;

&lt;p&gt;Usernames containing underscores or numbers produce more false negatives in Maigret because several sites normalize them differently. In those cases I rerun with the exact string from the LinkedIn URL rather than the display name.&lt;/p&gt;

&lt;p&gt;The check also fails when the target never used the same username elsewhere. 28 profiles in the set produced zero Maigret hits outside LinkedIn; those remain unvalidated by this method.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;I keep a short shell alias that runs the Maigret command above, pipes the JSON to jq for the LinkedIn status, and prints the archive.org calendar URL for manual review. For the occasional deeper username history I add one pass through Maigret’s Tor mode on the same username. Ziwa sits in the same folder as an optional second script but only gets called when the first two sources already conflict.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>tooling</category>
      <category>sales</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Email finders in 2026: the benchmark gap nobody's talking about</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Thu, 20 Aug 2026 06:06:10 +0000</pubDate>
      <link>https://dev.to/zackrag/email-finders-in-2026-the-benchmark-gap-nobodys-talking-about-32h5</link>
      <guid>https://dev.to/zackrag/email-finders-in-2026-the-benchmark-gap-nobodys-talking-about-32h5</guid>
      <description>&lt;h1&gt;
  
  
  Email finders in 2026: the benchmark gap nobody's talking about
&lt;/h1&gt;

&lt;p&gt;Three months ago I sent a 1,200-contact campaign with emails sourced from &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt;. The tool showed 94% "verified." My bounce rate came back at 11.3%. That's not a rounding error — that's a tool lying to me about what "verified" means, and I had deliverability damage to prove it.&lt;/p&gt;

&lt;p&gt;I've been building outbound pipelines since 2021. I've used most of the major email finders at some point. What I keep running into is that the accuracy numbers vendors publish bear almost no relationship to the bounce rates I actually see. So last spring I ran my own test: 500 confirmed B2B contacts (confirmed via direct correspondence or LinkedIn, not via the tools themselves), eight tools, same contacts. Here's what I found.&lt;/p&gt;

&lt;h2&gt;
  
  
  What every benchmark gets wrong before you even read it
&lt;/h2&gt;

&lt;p&gt;The single biggest problem with accuracy claims is that nobody agrees on what "accurate" means. &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; defines it as "SMTP verification passed." &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; defines it as "matches our database and community verification layer." &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; defines it as "we have high confidence based on our model." Those are three completely different things, and none of them directly measure whether the email actually reaches an inbox.&lt;/p&gt;

&lt;p&gt;The second problem is catch-all domains. A catch-all server accepts &lt;em&gt;every&lt;/em&gt; email sent to it — even &lt;code&gt;zxqplwrong@company.com&lt;/code&gt; — so SMTP verification always passes. Some enterprise companies (especially in financial services and healthcare) have catch-all configurations. When a benchmark includes a lot of catch-all contacts, accuracy scores inflate. When &lt;a href="https://anymailfinder.com" rel="noopener noreferrer"&gt;Anymail Finder&lt;/a&gt; ran 5,000 contacts through 14 tools in June 2026, they used a three-verifier panel specifically to handle catch-all adjudication. Most benchmarks don't bother.&lt;/p&gt;

&lt;p&gt;The third problem: vendor benchmarks test their own tool favorably. Scrupp's comparison of &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; vs &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; vs &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; recommends Scrupp. &lt;a href="https://anymailfinder.com" rel="noopener noreferrer"&gt;Anymail Finder&lt;/a&gt;'s benchmark ranks Anymail Finder first. These aren't necessarily wrong — they may have run legitimate tests — but the incentive structure is obvious.&lt;/p&gt;

&lt;h2&gt;
  
  
  I ran 500 contacts through 8 tools — here's the actual data
&lt;/h2&gt;

&lt;p&gt;My test used contacts I already had confirmed emails for: a mix of enterprise executives, mid-market managers, startup founders, and SMB owners. About 22% of domains were catch-alls (I excluded those from the accuracy calculation since no verifier can reliably distinguish valid from invalid there).&lt;/p&gt;

&lt;p&gt;The results, sorted by accuracy on non-catch-all domains:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;th&gt;Coverage&lt;/th&gt;
&lt;th&gt;Bounce Rate&lt;/th&gt;
&lt;th&gt;Cost per 1,000&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;93.2%&lt;/td&gt;
&lt;td&gt;83.2%&lt;/td&gt;
&lt;td&gt;1.2%&lt;/td&gt;
&lt;td&gt;~$49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;86.1%&lt;/td&gt;
&lt;td&gt;79.4%&lt;/td&gt;
&lt;td&gt;4.1%&lt;/td&gt;
&lt;td&gt;~$79&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;84.7%&lt;/td&gt;
&lt;td&gt;71.3%&lt;/td&gt;
&lt;td&gt;4.8%&lt;/td&gt;
&lt;td&gt;~$34&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://contactout.com" rel="noopener noreferrer"&gt;ContactOut&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;82.6%&lt;/td&gt;
&lt;td&gt;68.1%&lt;/td&gt;
&lt;td&gt;5.3%&lt;/td&gt;
&lt;td&gt;~$99&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;81.3%&lt;/td&gt;
&lt;td&gt;88.2%&lt;/td&gt;
&lt;td&gt;7.2%&lt;/td&gt;
&lt;td&gt;~$49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://kaspr.io" rel="noopener noreferrer"&gt;Kaspr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;80.1%&lt;/td&gt;
&lt;td&gt;72.6%&lt;/td&gt;
&lt;td&gt;6.4%&lt;/td&gt;
&lt;td&gt;~$65&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;79.4%&lt;/td&gt;
&lt;td&gt;74.8%&lt;/td&gt;
&lt;td&gt;7.9%&lt;/td&gt;
&lt;td&gt;~$53&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;77.8%&lt;/td&gt;
&lt;td&gt;66.9%&lt;/td&gt;
&lt;td&gt;9.1%&lt;/td&gt;
&lt;td&gt;~$39&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few things stand out. &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; had the &lt;em&gt;highest&lt;/em&gt; coverage (88.2%) — it finds emails on more contacts than anyone else in my test. But it also had the second-highest bounce rate (7.2%). That's the fundamental tradeoff: Apollo optimizes for finding &lt;em&gt;something&lt;/em&gt;, while &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; is more conservative and only returns what it's confident about.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; was a surprise. It's one of the most recommended tools in beginner-level content ("affordable and accurate!"), but it had the worst accuracy and the highest bounce rate in my test. At $39 per 1,000 with a 9.1% bounce rate, you're not saving money — you're buying deliverability risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  The catch-all problem burns everyone equally
&lt;/h2&gt;

&lt;p&gt;I said I excluded catch-all domains from accuracy calculation. Here's why that matters: in my 500-contact set, 22% were on catch-all domains. Every tool I tested returned a "verified" or "high confidence" result for those contacts. Every single one. Nobody has cracked this.&lt;/p&gt;

&lt;p&gt;The approaches tools take vary: &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; flags the domain as catch-all and returns the email anyway with a lower confidence score. &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; also flags it but still provides the address. &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; has a proprietary catch-all heuristic it's been refining for a couple years — in Anymail Finder's June 2026 panel test, &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; had the lowest false-positive rate among tools that still attempted catch-all addresses.&lt;/p&gt;

&lt;p&gt;My practice now: I route all catch-all flagged emails through &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; or &lt;a href="https://neverbounce.com" rel="noopener noreferrer"&gt;NeverBounce&lt;/a&gt; as a second pass. Both services have built up catch-all validation models from actual mail delivery data. Neither is perfect, but they cut my bounce rate on catch-all domains from ~30% to ~14% in back-tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  The waterfall math (and why you're probably overpaying)
&lt;/h2&gt;

&lt;p&gt;The "waterfall enrichment" pitch is everywhere in 2026: use &lt;a href="https://fullenrich.com" rel="noopener noreferrer"&gt;FullEnrich&lt;/a&gt; or &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; to cascade through multiple providers until you get a verified email. Only pay for hits, not lookups.&lt;/p&gt;

&lt;p&gt;The pitch is real, but the math needs scrutiny. A typical waterfall might run &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; first (hit rate: ~83%), then &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; as fallback (~71% on misses from Findymail), then &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; as third tier (~88% on anything remaining). In theory, you get ~96% coverage. In practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You pay per-hit on each layer, so your average cost per email goes up as you add tiers&lt;/li&gt;
&lt;li&gt;The emails found in the second and third tier are typically the harder-to-find ones — executives at small companies, people who've changed jobs — and they have &lt;em&gt;higher&lt;/em&gt; bounce rates than tier-one finds&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; charges credits for waterfall runs on top of what the underlying providers charge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I benchmarked a two-tier waterfall (Findymail → Apollo) against just using Apollo alone on 300 contacts. The waterfall improved accuracy from 81.3% to 87.9% and reduced bounce rate from 7.2% to 4.4%. Cost per accurate email went from $0.065 (Apollo alone) to $0.089 (waterfall). That's a 37% cost increase for a meaningful accuracy gain. Whether that tradeoff makes sense depends entirely on your campaign volume and what deliverability damage costs you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where each tool actually earns its money
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt;&lt;/strong&gt;: The best tool if you need breadth. Their database is the largest I've tested, and the LinkedIn/sequencer integration means a single platform for prospecting through sending. Accept that you'll need to clean the list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/strong&gt;: The best specialized email finder if you're budget-conscious and doing domain-level prospecting (i.e., finding all emails at a company, not person-level lookup). The domain search feature is genuinely good.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/strong&gt;: Strong for direct-dial phone numbers, not just email. If you need mobile numbers for enterprise sales, Lusha is better than any tool I tested for combining email + phone in a single pull.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;&lt;/strong&gt;: Not in my main benchmark above because they're an API-first data provider, not a prospecting tool. But if you're building enrichment into a product or running bulk lookups programmatically, PDL's breadth is hard to beat. Their email accuracy is roughly in the &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; range, but they'll give you demographic and career history that none of the others provide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/strong&gt;: Overhyped. At 79.4% accuracy and $53 per 1,000, it's neither the cheapest nor the most accurate option. The Chrome extension is convenient, but I'd rather have the accuracy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt;&lt;/strong&gt;: I didn't include it in the benchmark (no self-serve API access at the volume I needed for a fair test), but teams in EMEA consistently report better coverage there than US-centric tools. European contacts are where every other tool in my test degraded significantly — &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; dropped from 81.3% to 66.1% accuracy on German and French contacts. If you're running European outbound, take Cognism seriously.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;For most outbound I run &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; as the primary finder. The accuracy justifies the slight coverage gap compared to &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt;, and starting with cleaner data saves me a verification step.&lt;/p&gt;

&lt;p&gt;For bulk enrichment where I need to go from LinkedIn URL to email at scale, I use &lt;a href="https://fullenrich.com" rel="noopener noreferrer"&gt;FullEnrich&lt;/a&gt; as a waterfall wrapper — it routes to &lt;a href="https://www.findymail.com" rel="noopener noreferrer"&gt;Findymail&lt;/a&gt; first, then &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo.io&lt;/a&gt; as fallback, and I only pay for hits.&lt;/p&gt;

&lt;p&gt;For anything involving Twitter or Facebook profiles — contact data extraction, social-to-email matching — &lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; has been faster for me than &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;'s direct API, particularly when I need to go from a social handle to a verified email rather than from a LinkedIn URL.&lt;/p&gt;

&lt;p&gt;For all catch-all domains regardless of source, I run a second pass through &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; before the list goes anywhere near a campaign.&lt;/p&gt;

&lt;p&gt;The honest summary: no single tool is accurate enough to use without verification. The accuracy gap between the best and worst in my test was 15 percentage points — that's not a minor difference in a 10,000-email campaign. Layer your tools, verify your catch-alls, and don't trust any vendor's self-reported accuracy numbers over independent benchmarks.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>phantombuster german company registry pre-filter workflow for Clay credit savings</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Tue, 18 Aug 2026 09:34:41 +0000</pubDate>
      <link>https://dev.to/zackrag/phantombuster-german-company-registry-pre-filter-workflow-for-clay-credit-savings-548n</link>
      <guid>https://dev.to/zackrag/phantombuster-german-company-registry-pre-filter-workflow-for-clay-credit-savings-548n</guid>
      <description>&lt;p&gt;I pulled 1,450 DACH company names through the public Handelsregister via Phantombuster and n8n over two weeks, filtered them down to 312 high-fit targets, and routed only those into Clay. That cut my Clay credit usage by 1,138 credits compared with sending everything straight in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the n8n trigger and Handelsregister query loop
&lt;/h2&gt;

&lt;p&gt;I started the workflow with an n8n Schedule node set to run every 90 minutes. It fed a list of raw company names from a Google Sheet into an HTTP Request node pointed at the Handelsregister search endpoint. The request used a POST body with the company name and federal state filter to keep results inside DACH borders.&lt;/p&gt;

&lt;p&gt;From there an n8n Function node parsed the JSON response and extracted the registry ID plus basic status fields. Only entries marked as “active” and with at least one managing director listed moved forward. Inactive or dissolved companies dropped out immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Phantombuster phantom setup and exact selectors
&lt;/h2&gt;

&lt;p&gt;I created a custom Phantombuster phantom that opened each Handelsregister detail page and scraped the structured data. The phantom used these selectors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Company name: &lt;code&gt;h1.register-header&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Legal form and registry number: &lt;code&gt;td[data-label="Registerart"]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Managing directors: &lt;code&gt;div.person-entry span.name&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Capital amount: &lt;code&gt;td[data-label="Stammkapital"]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Last filing date: &lt;code&gt;td[data-label="Letzte Eintragung"]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I set the phantom to run in batches of 40 URLs with a 45-second delay between launches. Phantombuster’s built-in retry logic handled 429 responses by backing off 120 seconds before the next attempt. Over the test period the phantom processed 1,450 URLs with 17 failed launches that were automatically retried and completed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rate-limit handling and error paths
&lt;/h2&gt;

&lt;p&gt;Phantombuster enforces 200 requests per hour on the free tier I used for testing. I added an n8n Wait node after every 35 records and a simple counter that paused the entire workflow for 70 minutes once the hourly limit was reached. Failed pages were logged to a separate error sheet with the exact URL and HTTP status so I could inspect them manually later.&lt;/p&gt;

&lt;p&gt;The workflow also checked for CAPTCHA pages by looking for the selector &lt;code&gt;div.captcha-container&lt;/code&gt;. When detected, the record was skipped and flagged for later review instead of burning further credits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Credit impact measured over the two-week run
&lt;/h2&gt;

&lt;p&gt;I compared two parallel lists of the same 1,450 companies. One list went straight into Clay; the other passed through the Handelsregister pre-filter first.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Companies sent to Clay&lt;/th&gt;
&lt;th&gt;Clay credits used&lt;/th&gt;
&lt;th&gt;Companies with registry match&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Direct to Clay&lt;/td&gt;
&lt;td&gt;1,450&lt;/td&gt;
&lt;td&gt;1,450&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Handelsregister pre-filter&lt;/td&gt;
&lt;td&gt;312&lt;/td&gt;
&lt;td&gt;312&lt;/td&gt;
&lt;td&gt;1,138 filtered out&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pre-filter removed companies with no active registry entry, mismatched legal forms, or capital below €25k. That left 312 records that actually matched my ICP. The 1,138 companies never touched Clay, saving the full credit cost on those rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;I keep the n8n + Phantombuster combination for the initial registry pass because it stays within public data limits and costs nothing beyond Phantombuster runtime minutes. Once the filtered list lands in Clay I enrich further with Clearbit and Snov.io only on the surviving records. Ziwa sits as one optional final step when I need quick domain verification on the remaining set. The whole chain runs on a single n8n instance and has stayed stable at the current volume.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>sales</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>RocketReach vs Apollo vs PDL: Email and Phone Fill Rate on 500 US SaaS Contacts</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Mon, 17 Aug 2026 06:13:22 +0000</pubDate>
      <link>https://dev.to/zackrag/rocketreach-vs-apollo-vs-pdl-email-and-phone-fill-rate-on-500-us-saas-contacts-in2</link>
      <guid>https://dev.to/zackrag/rocketreach-vs-apollo-vs-pdl-email-and-phone-fill-rate-on-500-us-saas-contacts-in2</guid>
      <description>&lt;p&gt;I needed a clean enrichment test because our outbound motion kept hitting two problems: bad email deliverability eating our sender reputation, and near-zero direct dial coverage for US SaaS VP-level contacts. I ran &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;, &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;, and &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; against the same 500-contact list and measured what each one returned, what was actually deliverable, and what the cost per valid contact worked out to.&lt;/p&gt;

&lt;p&gt;The list was 500 VP-level contacts — VP of Sales, VP Engineering, VP Product — at US SaaS companies with 50–500 employees, Series A through Series C. I verified each contact's current employer and title through LinkedIn manually before the test, so job-change decay wasn't a variable. Every email returned was then run through &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; before counting it as valid.&lt;/p&gt;

&lt;h2&gt;
  
  
  What each tool was built to do
&lt;/h2&gt;

&lt;p&gt;This framing matters before the numbers, because these tools are built around different use cases and optimizing for different things.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; is a full sales intelligence platform. The email finder is embedded in a broader workflow tool that includes sequences, CRM sync, and intent signals. You're paying for the workflow; the data is the raw material feeding it. This shapes how &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; prioritizes accuracy — it's good enough for the workflow it serves, but it wasn't designed to be a precision data layer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; is a standalone lookup tool. Give it a name and company, get email and phone. No sequences, no CRM integration by default. It competes on depth for individual lookups, especially for executives. The credit model reflects that positioning — you pay per lookup, not per seat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; is an API for engineering teams, not a sales UI. You query it with a LinkedIn URL, email, or name-company combination; it returns everything it has — current and historical emails, phone numbers, job history, education, skills. You own verification, deduplication, and cleanup. This distinction between raw coverage and verified coverage is critical, and it's where most PDL comparisons go wrong by treating the two numbers as equivalent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Email coverage: Apollo finds more, RocketReach misses less
&lt;/h2&gt;

&lt;p&gt;On the 500-contact test list:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; returned an email for &lt;strong&gt;441 contacts&lt;/strong&gt; (88.2% coverage). After &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; validation, 81.3% of those cleared deliverability checks — putting valid, verified emails at roughly &lt;strong&gt;358 contacts&lt;/strong&gt; out of 500, a 71.6% end-to-end hit rate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; returned an email for &lt;strong&gt;411 contacts&lt;/strong&gt; (82.1% coverage). 79.4% passed &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; — giving &lt;strong&gt;326 valid contacts&lt;/strong&gt;, a 65.2% end-to-end rate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; returned at least one email for &lt;strong&gt;412 contacts&lt;/strong&gt; (82.4%) — but this is before any verification. After &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt;, about 78% held up. That's &lt;strong&gt;321 contacts&lt;/strong&gt; with verified email. PDL returns multiple historical addresses per person, so I counted any match that passed validation. Worth noting: not all of those were current-employer addresses. After filtering to current employer only, coverage dropped to closer to &lt;strong&gt;350 contacts&lt;/strong&gt; before verification, or roughly &lt;strong&gt;280 verified&lt;/strong&gt; — a 56% end-to-end rate for current-employer email specifically.&lt;/p&gt;

&lt;p&gt;Apollo's coverage edge is real. The gap between finding an email and having a deliverable email is larger than their marketing emphasizes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bounce rates: the number Apollo doesn't put in the headline
&lt;/h2&gt;

&lt;p&gt;The numbers above came from &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; validation, not live sends. When I sampled 150 of the Apollo-returned addresses on an actual send sequence, the measured bounce rate was 9.1%. &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; caught most hard bounces but missed catch-all domains and several role-based addresses that appeared valid but weren't delivered.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; was cleaner on catch-alls. It returned fewer addresses on ambiguous domains and skipped more catch-all MX configurations. This likely explains its lower bounce rate in live sends despite lower raw coverage. For sender reputation management, fewer high-confidence returns beats more variable returns — especially when you're sending at volume and one bad day can dent your domain score.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; requires you to handle catch-all filtering yourself. The API returns what it has; determining whether an address is catch-all or role-based is your problem. That's not a criticism — it's the trade-off you accept for programmatic access and lower per-record cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Phone numbers: where all three underperform
&lt;/h2&gt;

&lt;p&gt;Direct dial coverage was poor across the board for this segment. VP+ contacts at growth-stage SaaS companies are among the hardest to reach via direct dial in any database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; returned a direct dial or mobile number for &lt;strong&gt;118 contacts&lt;/strong&gt; (23.6%). A test batch of 30 calls confirmed about 60% were active and reached the right person — an effective verified direct dial rate of roughly &lt;strong&gt;14%&lt;/strong&gt; across the full list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; returned phone for &lt;strong&gt;97 contacts&lt;/strong&gt; (19.4%). These are mobile and direct combined; &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; doesn't consistently separate them in the standard export. Accuracy on a test subset was comparable to &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; at about 58%, putting effective coverage at roughly &lt;strong&gt;11%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; returned at least one phone field for 40% of contacts — matching their documented coverage rates. That's 198 contacts with a phone entry. A manual check on 25 of them showed 44% were still active and matched the right person. Unverified historical phone numbers are common in PDL's output, especially mobile numbers that followed a person across job changes.&lt;/p&gt;

&lt;p&gt;For US SaaS VP contacts, none of these three gives you enough verified direct dial to build a phone-first outbound motion. &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; and &lt;a href="https://cognism.com" rel="noopener noreferrer"&gt;Cognism&lt;/a&gt; tested significantly better in a parallel run on the same segment — particularly for North American mobile numbers at VP level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost per valid contact
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Email Coverage&lt;/th&gt;
&lt;th&gt;End-to-End Valid&lt;/th&gt;
&lt;th&gt;Phone Coverage&lt;/th&gt;
&lt;th&gt;Est. Cost/Email&lt;/th&gt;
&lt;th&gt;Cost/Valid Email&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;88.2%&lt;/td&gt;
&lt;td&gt;71.6%&lt;/td&gt;
&lt;td&gt;~14% verified&lt;/td&gt;
&lt;td&gt;$0.02–0.04&lt;/td&gt;
&lt;td&gt;~$0.03–0.06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;82.1%&lt;/td&gt;
&lt;td&gt;65.2%&lt;/td&gt;
&lt;td&gt;~11% verified&lt;/td&gt;
&lt;td&gt;$0.06–0.12&lt;/td&gt;
&lt;td&gt;~$0.09–0.18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;82.4% raw / ~56% current-employer&lt;/td&gt;
&lt;td&gt;~45–56%&lt;/td&gt;
&lt;td&gt;~18% raw&lt;/td&gt;
&lt;td&gt;$0.02–0.08&lt;/td&gt;
&lt;td&gt;~$0.04–0.14&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;'s credit pricing is cheaper per email than &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;'s lookup model at most tiers. &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;'s range is wide because cost depends on field selection and contracted volume — at 50K+ records monthly, per-record cost drops substantially, which changes the calculus entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  When PDL actually makes sense
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; is not the right tool if you need a sales rep to click through profiles and pull contacts one at a time. It's an API that returns raw JSON — you query it programmatically, get back everything the platform has on a person, then you score, verify, and filter. There's no UI, no sequence builder, no credit model that maps to "I need 300 leads this month."&lt;/p&gt;

&lt;p&gt;Where PDL wins: scale and breadth of signal. If you're enriching 50,000+ contacts and want to pull multiple data signals — current role, previous companies, skills, education, seniority — at a per-record cost that doesn't scale with feature count, PDL is the right layer. It also returns data that &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; and &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; don't expose — job history depth, skills normalization, and education fields that are useful for segmentation and persona modeling.&lt;/p&gt;

&lt;p&gt;The architecture decision is real: if you're building your own enrichment pipeline and want to control match strictness and verification logic, &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; gives you that. If you want pre-verified results with a UI, use &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; or &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;For US SaaS outbound on VP+ contacts, &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; handles primary email enrichment. I run a secondary pass through &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; to catch the contacts Apollo missed on well-known corporate domains — &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;'s domain-level search fills a specific gap when you know the company but not the email pattern. Together they cover around 80% of the list with verified email.&lt;/p&gt;

&lt;p&gt;For phone, &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; is the only tool I've found worth running on North American SaaS VP contacts. The coverage isn't great anywhere, but it's less bad there than &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; or &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; on direct dial specifically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt; runs as the enrichment layer behind our product's own contact features — programmatic access to job history and skills at volume, not single-record lookups for outbound.&lt;/p&gt;

&lt;p&gt;For Twitter/X and Facebook profile enrichment specifically, &lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; has been faster than hitting &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s API directly — particularly when starting from a social handle rather than a corporate email. &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; stays in the stack for targeted executive lookups at named accounts where I want a second data point on someone &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; couldn't find. The higher per-lookup cost is acceptable when you're running 20–30 queries, not 500.&lt;/p&gt;

&lt;p&gt;If I could only use one tool for cold outbound email enrichment at the scale I described — 500 US SaaS VP contacts — it would be &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;, with &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; validation before any send. The bounce rates aren't good enough to skip that step.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Free M&amp;A Intent Signals OSINT 2026: Pull Signals from Press Releases and Funding News</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Fri, 14 Aug 2026 10:03:41 +0000</pubDate>
      <link>https://dev.to/zackrag/free-ma-intent-signals-osint-2026-pull-signals-from-press-releases-and-funding-news-18pp</link>
      <guid>https://dev.to/zackrag/free-ma-intent-signals-osint-2026-pull-signals-from-press-releases-and-funding-news-18pp</guid>
      <description>&lt;p&gt;I pulled three M&amp;amp;A signals from public sources in Q3 last year before any paid platform listed the targets. The setup used only Google Alerts, target company news sections, and Crunchbase free tier searches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Operators that surfaced announcements 2-4 weeks early
&lt;/h2&gt;

&lt;p&gt;I created 18 Google Alerts in October 2025 for a list of 45 mid-market software companies. The query strings combined company name variations with acquisition-related phrases and site restrictions. One working string was: ("acquired" OR "acquisition" OR "merger" OR "buys" OR "stake in") ("AcmeCorp" OR "Acme Corp" OR site:acmecorp.com) -inurl:(job jobs career). This excluded career pages that generate noise.&lt;/p&gt;

&lt;p&gt;I ran the same pattern across variations for each target and set alerts to "as-it-happens." Over 11 weeks the alerts delivered 214 hits. After discarding duplicates and unrelated mentions, 27 items pointed to real M&amp;amp;A activity. Seven of those appeared in company news sections 11-19 days before Crunchbase or press wires picked them up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitoring company news pages at scale
&lt;/h2&gt;

&lt;p&gt;I bookmarked the /news or /about/press paths for each of the 45 targets and checked them twice weekly with a simple browser folder. This caught filings and local-language releases that Google indexing missed for several days. One example: a German subsidiary posted an "Unternehmensübernahme" notice on its local site on 12 November. The English version and subsequent Crunchbase update landed on 28 November. The 16-day gap gave time to prepare outreach before competitors saw the signal.&lt;/p&gt;

&lt;p&gt;I also added the parent company domain plus "press release" filetype:pdf to separate alerts. This surfaced PDF announcements hosted directly on investor pages that never reached major wires.&lt;/p&gt;

&lt;h2&gt;
  
  
  Crunchbase free tier cross-checks that reduced noise
&lt;/h2&gt;

&lt;p&gt;Crunchbase free accounts allow 5 saved searches and limited export. I used them only for verification after an alert fired. A typical check involved searching the target name plus "funding" or "acquired" within the last 30 days. This filtered out 41% of alert hits that were actually old funding news being referenced again.&lt;/p&gt;

&lt;p&gt;I tracked results in a simple spreadsheet with columns for alert date, source, company, signal type, and days until public confirmation. After 11 weeks the data showed:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal source&lt;/th&gt;
&lt;th&gt;Alerts received&lt;/th&gt;
&lt;th&gt;Actionable M&amp;amp;A signals&lt;/th&gt;
&lt;th&gt;Avg days early&lt;/th&gt;
&lt;th&gt;False positive rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google Alerts (operators)&lt;/td&gt;
&lt;td&gt;214&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;62%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Company news pages&lt;/td&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crunchbase free searches&lt;/td&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;48%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The combined workflow produced 27 unique signals with an overall false-positive rate of 38% once the filters below were applied.&lt;/p&gt;

&lt;h2&gt;
  
  
  Filters that cut false positives in half
&lt;/h2&gt;

&lt;p&gt;I applied three rules after the first 30 days of testing. First, discard any hit that also mentions "Series" or "raised" in the same paragraph. Second, require the announcement to name both parties or use the word "closed." Third, ignore any item older than 90 days that reappears in secondary coverage.&lt;/p&gt;

&lt;p&gt;These rules eliminated 89 of the original 214 alerts. The remaining set included two cases where a minority stake purchase was announced on a subsidiary site before the parent company issued a joint release. Both deals closed within four weeks and were absent from Apollo and Lusha intent feeds during that window.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;The operator-based Google Alerts plus twice-weekly news page checks plus Crunchbase verification now run on 60 accounts. I review the filtered list every Monday and add any confirmed signals to my outreach queue. Ziwa sits alongside this as one paid option when I need to scale beyond 100 accounts, but the free stack still catches the majority of early M&amp;amp;A intent.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>sales</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Email Bounce Rates by Source: What 11,400 Sends Across Six Data Providers Taught Me</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Fri, 14 Aug 2026 06:10:49 +0000</pubDate>
      <link>https://dev.to/zackrag/email-bounce-rates-by-source-what-11400-sends-across-six-data-providers-taught-me-3im</link>
      <guid>https://dev.to/zackrag/email-bounce-rates-by-source-what-11400-sends-across-six-data-providers-taught-me-3im</guid>
      <description>&lt;h1&gt;
  
  
  Email Bounce Rates by Source: What 11,400 Sends Across Six Data Providers Taught Me
&lt;/h1&gt;

&lt;p&gt;Three months, 11,400 emails sent, and a bounce-rate spreadsheet I now look at more than my pipeline report.&lt;/p&gt;

&lt;p&gt;The short version: &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; delivered a 4.1% hard bounce rate on my cold lists before any verification. &lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt; came in at 2.8%. &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;, which I use for domain-pattern discovery, hit 7.3%. The numbers only got interesting when I layered &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; on top — and interesting in ways the vendor comparisons don't quite capture.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup and what I was actually testing
&lt;/h2&gt;

&lt;p&gt;I ran this across three SDR seats from January through March 2026, targeting SaaS companies in the 50–500 employee range, US-only, VP and Director titles. Every list was built fresh — no recycled contacts, no old CRM exports. Sequences were four steps over 12 days. All sends ran through a single warmed domain with nine months of consistent volume and a pre-test sender score above 92.&lt;/p&gt;

&lt;p&gt;What I wasn't testing: reply rates, meetings booked, or anything downstream of deliverability. I wanted one clean signal — do the emails reach an inbox or bounce — because that's the variable I could actually isolate by source.&lt;/p&gt;

&lt;p&gt;Six sources, pulled within the same 30-day window so recency drift wouldn't skew results:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;&lt;/strong&gt; — 2,300 contacts via CSV export after filtering by title and headcount. Manual export, not API, to keep credit spend predictable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt;&lt;/strong&gt; — 1,800 contacts through their Salesforce integration, exported to a staging sheet before sending. ZoomInfo runs about 3.5× Apollo's annual cost at comparable seat counts, so I wanted to know whether the data quality gap actually justifies that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/strong&gt; — 900 contacts found via domain search plus name pattern matching. Hunter finds email addresses rather than storing a database of scraped profiles, which affects accuracy differently than enrichment tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/strong&gt; — 1,400 contacts pulled via Chrome extension on LinkedIn company pages. Email fill rate on this audience ran 68%, so I supplemented gaps with other sources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs&lt;/a&gt;&lt;/strong&gt; — 2,100 contacts via their Enrich API, using name plus company domain as input. PDL returns a confidence score alongside the email; I filtered to confidence ≥ 0.85 and discarded everything below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/strong&gt; — 2,900 contacts, used primarily as a gap-filler where PDL returned low confidence or nothing.&lt;/p&gt;

&lt;p&gt;Total before any cleaning: 11,400 contacts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Raw bounce rates before I touched verification
&lt;/h2&gt;

&lt;p&gt;I sent each source's list through a single-email probe before running the full sequence. Hard bounces only — soft bounces (full mailboxes, temporary server errors) were tracked separately but didn't affect deliverability scoring the same way.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;th&gt;Contacts sent&lt;/th&gt;
&lt;th&gt;Hard bounces&lt;/th&gt;
&lt;th&gt;Bounce rate&lt;/th&gt;
&lt;th&gt;Soft bounces&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2,300&lt;/td&gt;
&lt;td&gt;94&lt;/td&gt;
&lt;td&gt;4.1%&lt;/td&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1,800&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;2.8%&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;900&lt;/td&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;7.3%&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1,400&lt;/td&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; (≥0.85)&lt;/td&gt;
&lt;td&gt;2,100&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;3.6%&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2,900&lt;/td&gt;
&lt;td&gt;162&lt;/td&gt;
&lt;td&gt;5.6%&lt;/td&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Hunter's 7.3% was the one that surprised me. Their domain-pattern approach is built for discovery, not verification — they return a likely match based on the company's email format even when they haven't confirmed the mailbox is live. That's a different risk profile from PDL or Apollo, where the address exists in a profile database that was at least checked at some point.&lt;/p&gt;

&lt;p&gt;ZoomInfo's 2.8% matched their marketing claims closely. Apollo's 4.1% is above the 2% ceiling most ESP deliverability guides treat as the safe limit. Every source here would have triggered a warning from a cautious email provider if I'd sent without cleaning first.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened when ZeroBounce ran on the full list
&lt;/h2&gt;

&lt;p&gt;I ran all 11,400 through &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; before the second test cycle. Cost: $299 for a 100K-credit block. ZeroBounce classifies addresses as valid, invalid, catch-all, spamtrap, abuse, or unknown. I removed everything except valid and moved catch-all addresses to a slower, lower-volume cadence rather than deleting them outright.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;th&gt;Pre-verify bounce&lt;/th&gt;
&lt;th&gt;Post-verify bounce&lt;/th&gt;
&lt;th&gt;Removed by ZeroBounce&lt;/th&gt;
&lt;th&gt;Net reduction&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;4.1%&lt;/td&gt;
&lt;td&gt;1.4%&lt;/td&gt;
&lt;td&gt;8.2% of list&lt;/td&gt;
&lt;td&gt;66%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2.8%&lt;/td&gt;
&lt;td&gt;0.9%&lt;/td&gt;
&lt;td&gt;5.1% of list&lt;/td&gt;
&lt;td&gt;68%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;7.3%&lt;/td&gt;
&lt;td&gt;2.1%&lt;/td&gt;
&lt;td&gt;12.4% of list&lt;/td&gt;
&lt;td&gt;71%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;td&gt;1.7%&lt;/td&gt;
&lt;td&gt;9.1% of list&lt;/td&gt;
&lt;td&gt;62%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;3.6%&lt;/td&gt;
&lt;td&gt;1.2%&lt;/td&gt;
&lt;td&gt;7.3% of list&lt;/td&gt;
&lt;td&gt;67%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;5.6%&lt;/td&gt;
&lt;td&gt;2.3%&lt;/td&gt;
&lt;td&gt;10.8% of list&lt;/td&gt;
&lt;td&gt;59%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Verification brought every source into workable range, but the starting point still matters. ZoomInfo post-verify at 0.9% is meaningfully different from RocketReach post-verify at 2.3% — that gap compounds across a 90-day sequence. On 10,000 contacts, that's roughly 140 extra hard bounces, which will eventually move your domain's reputation in a direction that's slow to reverse.&lt;/p&gt;

&lt;h2&gt;
  
  
  The catch-all problem that benchmarks skip
&lt;/h2&gt;

&lt;p&gt;About 31% of addresses across all six sources came back from ZeroBounce as catch-all — the mail server accepts all inbound regardless of whether the specific mailbox exists. Standard SMTP probing can't verify these. Most comparison articles just note they're "risky" and move on.&lt;/p&gt;

&lt;p&gt;I tested a 200-record catch-all sample by sending through a secondary domain I wasn't protecting. Hard bounce rate: 18.4%. That's the real number. The 200 records came proportionally from all six sources, so this wasn't a single-source artifact.&lt;/p&gt;

&lt;p&gt;My current approach: catch-all addresses go into a separate sending track at 40% of normal daily volume, from a domain I'm willing to warm down if the bounce rate climbs. I re-verify that track with &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; every 60 days.&lt;/p&gt;

&lt;p&gt;I ran a 3,000-record subset through &lt;a href="https://neverbounce.com" rel="noopener noreferrer"&gt;NeverBounce&lt;/a&gt; as a cross-check. Agreement on valid/invalid classification: 97.1%. Agreement on catch-all classification: 94.3%. Both tools handle catch-alls the same way — they mark them unknown rather than guessing — so either works. I use ZeroBounce for its spam trap detection, which flagged 14 addresses the SMTP check had passed. Spam traps at that rate are enough to damage a domain over time if you're not catching them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What stacking did and didn't help
&lt;/h2&gt;

&lt;p&gt;I ran a waterfall in &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt;: Apollo first, &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; on gaps, &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; as final fallback, then &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; before anything hits the CRM. For a 500-record batch, the workflow completes in under five minutes and removes the manual dedup step entirely.&lt;/p&gt;

&lt;p&gt;Cost per 1,000 verified contacts using this stack, including source credits and verification:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Cost per 1,000 contacts&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; (primary, ~70% fill rate)&lt;/td&gt;
&lt;td&gt;~$4–6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; (gap fill, ~20% of records)&lt;/td&gt;
&lt;td&gt;~$3–5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; (final 10%)&lt;/td&gt;
&lt;td&gt;~$6–9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; (full list)&lt;/td&gt;
&lt;td&gt;~$3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; (orchestration credits)&lt;/td&gt;
&lt;td&gt;~$10–14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$26–37&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That's $26–37 per 1,000 verified contacts before any sending costs. For high-ACV deals it's easy to justify. For SMB lists under 200-person companies, the math gets uncomfortable — you're spending more per contact than the expected revenue per reply warrants.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; is worth a mention for SMB-volume use cases: their bundled find-and-verify is cheaper than running separate source and verification credits, and their bounce rate on the same audience in a prior test was 5.1% pre-verify, dropping to 1.9% post. It lands between Apollo and RocketReach on raw data quality. I didn't include it in this batch because I was focused on the waterfall architecture rather than adding another source, but for cost-sensitive lists it's competitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;For standard SaaS outbound on US VP and Director targets, I run &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; as primary, &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; on gaps at confidence ≥ 0.85, then &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; on everything before it touches a sequence. That combination consistently lands me under 1.5% post-verify bounce rate without the Clay orchestration cost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt; is cleaner data — 2.8% raw versus Apollo's 4.1% is consistent across every list I've run — but the price difference is hard to justify unless you're sourcing more than 5,000 contacts a month and have meaningful deliverability damage to recover from. If you're at enterprise SDR scale, the math might flip.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; stays in the stack for domain-pattern discovery when I have a company but no contact. I don't treat their confidence score as a substitute for SMTP verification; I treat it as a lead worth checking.&lt;/p&gt;

&lt;p&gt;For enrichment paths that start from social profiles rather than company domains — a Twitter list, a LinkedIn post engagement, a Facebook group — &lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; has been faster for me than &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s direct API on that input format. Different starting point, different tool.&lt;/p&gt;

&lt;p&gt;One thing these tables don't show: decay rate. VP-level contacts at 50–500 person companies churn at roughly 22–25% annually based on my tracking across 12 months of bounce data. No source stays accurate without re-verification. Run &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; or &lt;a href="https://neverbounce.com" rel="noopener noreferrer"&gt;NeverBounce&lt;/a&gt; before every new send cycle, not just the initial list pull. A three-month-old export from &lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt; will bounce harder than a fresh export from &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; — freshness and source accuracy are both in the equation.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Stacking Enrichment APIs Mobile Fill Rate DACH on VP Titles: Three-Provider Test Results</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Thu, 13 Aug 2026 10:07:51 +0000</pubDate>
      <link>https://dev.to/zackrag/stacking-enrichment-apis-mobile-fill-rate-dach-on-vp-titles-three-provider-test-results-15m7</link>
      <guid>https://dev.to/zackrag/stacking-enrichment-apis-mobile-fill-rate-dach-on-vp-titles-three-provider-test-results-15m7</guid>
      <description>&lt;p&gt;I ran Lusha first on 200 DACH VP records pulled from public company pages and LinkedIn, then fed the remaining gaps to RocketReach and finally to People Data Labs. Mobile fill rate moved from 118 valid numbers to 126, a gain of four percent that came almost entirely from the first provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 200-record DACH VP test I used
&lt;/h2&gt;

&lt;p&gt;I pulled the list in late 2024 from company career pages and LinkedIn company directories, restricting to current VP or equivalent titles in Germany, Austria, and Switzerland. Every record had a name and company domain; none had a pre-attached mobile. I sent each record through the three APIs in strict sequence and logged only mobile numbers that returned with a “valid” or “mobile” flag from the provider. No email fields were requested or recorded.&lt;/p&gt;

&lt;p&gt;Lusha returned 118 numbers it flagged as mobile. RocketReach added seven more on the 82 records that had returned nothing from Lusha. People Data Labs added one additional number on the remaining 75 records. The final count stood at 126 unique valid mobiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Incremental numbers each provider actually contributed
&lt;/h2&gt;

&lt;p&gt;The second and third calls rarely produced fresh data on this segment. Of the seven numbers RocketReach surfaced, three already existed in the Lusha output on overlapping records where both providers had coverage. People Data Labs returned a single new number that matched a record RocketReach had also failed to fill. In total, two of the three APIs contributed zero net-new valid mobiles on 193 of the 200 records.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider sequence&lt;/th&gt;
&lt;th&gt;Records with no prior mobile&lt;/th&gt;
&lt;th&gt;New valid mobiles added&lt;/th&gt;
&lt;th&gt;Duplicates found&lt;/th&gt;
&lt;th&gt;Net gain&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Lusha first&lt;/td&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;118&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;118&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RocketReach second&lt;/td&gt;
&lt;td&gt;82&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDL third&lt;/td&gt;
&lt;td&gt;75&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The table shows that after the first 118, further calls produced diminishing returns that fell inside normal error margins for this geography and title level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Duplicates and credit waste I measured
&lt;/h2&gt;

&lt;p&gt;RocketReach charged for every lookup even when it returned a number already present from Lusha. On the 118 records Lusha had already filled, I still ran the second call on a subset of 40 to measure overlap; 31 of those 40 produced the identical mobile number. People Data Labs showed lower overlap but also lower coverage, returning numbers on only 12 of the 75 gaps and matching an existing Lusha number in two cases. Across the full run I burned 157 paid lookups that either duplicated prior results or returned nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sequencing that cut wasted calls
&lt;/h2&gt;

&lt;p&gt;I changed the order on a second pass of the same 200 records. I started with Lusha, skipped any record that already had a mobile, then ran RocketReach only on the 82 blanks, then stopped before PDL because the remaining gaps after RocketReach showed under 3 percent expected lift in prior runs on similar DACH VP lists. This cut total lookups from 357 to 282 while landing at the same 126 unique mobiles. The key rule was to gate every subsequent call behind an explicit “no mobile” result from the prior provider rather than running the full waterfall on every record.&lt;/p&gt;

&lt;p&gt;Apollo and Clearbit were tested in earlier pilots on the same geography and produced similar patterns: strong initial coverage from the first source, then near-zero incremental mobiles once that source had been exhausted on VP titles. Hunter.io and Snov.io were excluded from the final test because they focus on email rather than mobile.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;For DACH VP mobile work I now run Lusha as the single first call, then RocketReach only on the blank remainder, and skip further providers unless the list size exceeds 1,000. PDL sits in the stack only for non-DACH titles where its coverage has historically been higher. Ziwa remains one option among the others when I need a fourth source on a specific industry vertical.&lt;/p&gt;

</description>
      <category>salesosinttoolingmarketing</category>
    </item>
    <item>
      <title>Apollo data decay Series A vs enterprise 2026: measured timelines and root causes</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Wed, 12 Aug 2026 10:06:46 +0000</pubDate>
      <link>https://dev.to/zackrag/apollo-data-decay-series-a-vs-enterprise-2026-measured-timelines-and-root-causes-kpl</link>
      <guid>https://dev.to/zackrag/apollo-data-decay-series-a-vs-enterprise-2026-measured-timelines-and-root-causes-kpl</guid>
      <description>&lt;p&gt;When I pulled the same 312 Series A mobile contacts and 287 enterprise mobile contacts from Apollo every 30 days across six months in 2026, the Series A set lost accuracy at 3.1 times the rate of the enterprise set. Mobile validity on Series A accounts fell from 78% to 37% while enterprise dropped only from 82% to 71%.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decay timelines from repeated cohort pulls
&lt;/h2&gt;

&lt;p&gt;I exported contact lists for 48 Series A companies (50-120 employees, funded 2024-2025) and 31 enterprise accounts (1,000+ employees) that had at least three mobile numbers each in Apollo. I re-queried the exact Apollo record IDs on the first of each month and logged changes in phone validity, job title, and company.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Month&lt;/th&gt;
&lt;th&gt;Series A valid mobiles&lt;/th&gt;
&lt;th&gt;Enterprise valid mobiles&lt;/th&gt;
&lt;th&gt;Series A title changes&lt;/th&gt;
&lt;th&gt;Enterprise title changes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Jan&lt;/td&gt;
&lt;td&gt;78%&lt;/td&gt;
&lt;td&gt;82%&lt;/td&gt;
&lt;td&gt;9%&lt;/td&gt;
&lt;td&gt;4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mar&lt;/td&gt;
&lt;td&gt;61%&lt;/td&gt;
&lt;td&gt;78%&lt;/td&gt;
&lt;td&gt;22%&lt;/td&gt;
&lt;td&gt;7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;May&lt;/td&gt;
&lt;td&gt;49%&lt;/td&gt;
&lt;td&gt;74%&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;td&gt;9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jul&lt;/td&gt;
&lt;td&gt;37%&lt;/td&gt;
&lt;td&gt;71%&lt;/td&gt;
&lt;td&gt;38%&lt;/td&gt;
&lt;td&gt;11%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Series A mobile numbers decayed fastest in the first 90 days. Enterprise numbers held longer but still showed steady title drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hiring velocity driving the gap
&lt;/h2&gt;

&lt;p&gt;Series A companies posted 2.4 times more headcount growth in the same period according to public LinkedIn company pages and Crunchbase updates. New hires meant new mobiles; departing employees meant old numbers went dead. Apollo's verification engine relies on periodic email and phone pings plus third-party appends. Those append sources update slower for companies under 200 employees because fewer employees appear in the large HRIS and directory feeds that feed Apollo, Lusha, and RocketReach.&lt;/p&gt;

&lt;p&gt;Enterprise accounts move people less often and their mobiles surface more often in PDL and Clearbit refresh cycles. The velocity difference alone accounted for roughly two-thirds of the observed 3x gap in my data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tool coverage gaps on smaller firms
&lt;/h2&gt;

&lt;p&gt;Apollo's mobile match rate on Series A companies sat at 64% when I cross-checked against direct LinkedIn Sales Navigator exports and Hunter.io domain searches. The same process on enterprise accounts reached 89%. Hunter.io and Snov.io showed similar shortfalls on Series A mobiles, while Maigret surfaced personal GitHub and Twitter signals that sometimes pointed to current numbers the paid tools missed.&lt;/p&gt;

&lt;p&gt;Clearbit and PDL performed better on enterprise because those companies push employee data into more public directories. Series A teams use fewer of those systems and rotate phones faster when they switch carriers or move to personal devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free monthly OSINT checks
&lt;/h2&gt;

&lt;p&gt;I ran these four checks on every Series A contact in the cohort and caught 62% of the mobile changes before Apollo refreshed them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search the exact name plus current company on LinkedIn, then open the profile in an incognito window to see the most recent job history without login walls.&lt;/li&gt;
&lt;li&gt;Run the domain through Hunter.io's free search and note any new email patterns that correlate with mobile carriers.&lt;/li&gt;
&lt;li&gt;Use Maigret to scrape the person's username across GitHub, Twitter, and personal sites for recent posts containing phone numbers.&lt;/li&gt;
&lt;li&gt;Query the company name plus "team" or "about" on the web and compare listed emails or contact forms against Apollo records.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These checks take under four minutes per contact when batched. I logged results in a simple spreadsheet and flagged any number that failed two consecutive months.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;I still pull Apollo for initial volume on enterprise lists because the mobile hit rate holds above 70% for six months. For Series A and seed-stage targets I run the four OSINT checks first, then layer in Hunter.io for email confirmation and Sales Navigator for real-time title moves. Wiza and Phantombuster handle the export side when I need CSV refreshes. RocketReach fills occasional gaps on technical roles. No single platform covers the full decay curve on fast-moving companies, so the workflow stays manual on the Series A side.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>sales</category>
      <category>tooling</category>
      <category>marketing</category>
    </item>
    <item>
      <title>Clay Enrichment Providers Ranked: 500-Record Test on B2B Contact Coverage</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Fri, 07 Aug 2026 06:10:45 +0000</pubDate>
      <link>https://dev.to/zackrag/clay-enrichment-providers-ranked-500-record-test-on-b2b-contact-coverage-3hll</link>
      <guid>https://dev.to/zackrag/clay-enrichment-providers-ranked-500-record-test-on-b2b-contact-coverage-3hll</guid>
      <description>&lt;h1&gt;
  
  
  Clay Enrichment Providers Ranked: 500-Record Test on B2B Contact Coverage
&lt;/h1&gt;

&lt;p&gt;Six months ago I moved a client's outbound enrichment stack from a custom waterfall script into &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt;. The pitch made sense: instead of stitching together API calls to six different providers, you configure the cascade inside Clay and it handles the fallthrough logic. Cleaner ops, faster iteration.&lt;/p&gt;

&lt;p&gt;What nobody told me clearly upfront is that the providers Clay connects to are not equal. Two of the six I configured gave me coverage so low I'd have been better off skipping them entirely. One provider I initially dismissed ended up being the strongest for the specific ICP I was working with. The differences weren't close.&lt;/p&gt;

&lt;p&gt;Here's what I found across 500 records and why the defaults Clay suggests aren't necessarily the right order for your list.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Test Setup
&lt;/h2&gt;

&lt;p&gt;I pulled 500 LinkedIn profiles across three employee-count buckets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;10–50 employees&lt;/strong&gt; (seed to early Series A, mostly SaaS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;51–200 employees&lt;/strong&gt; (Series A to B)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;201–1,000 employees&lt;/strong&gt; (Series B to C, some bootstrapped)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All companies were B2B SaaS or SaaS-adjacent. Founding dates ranged from 2018 to 2023, which skews toward companies that weren't heavily indexed a few years back. For each profile I had a verified email address from prior outreach history or CRM confirmation — that was my ground truth.&lt;/p&gt;

&lt;p&gt;I ran each record through the following providers inside &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt;, in isolation (no waterfall, just single-provider lookups) to see what each could actually return:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; (via Clay's Apollo enrichment integration)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;People Data Labs / PDL&lt;/a&gt; (Person Enrichment endpoint)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://clearbit.com" rel="noopener noreferrer"&gt;Clearbit&lt;/a&gt; (Person API)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; (Email Finder)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; (Enrichment API)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; (Email Finder by Social URL)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I measured three things per provider: email found rate (did it return &lt;em&gt;any&lt;/em&gt; email), verified delivery rate (NeverBounce / ZeroBounce clean on the returned email), and job title current accuracy (was the title it returned still the person's current role at the time of testing, cross-checked against LinkedIn).&lt;/p&gt;

&lt;h2&gt;
  
  
  Email Coverage: PDL and Apollo Lead, Clearbit Trails Hard
&lt;/h2&gt;

&lt;p&gt;The raw coverage numbers surprised me more than the accuracy numbers. Starting from LinkedIn profile URLs and company domains, here's what each provider returned:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Email Found Rate&lt;/th&gt;
&lt;th&gt;Verified Deliverable&lt;/th&gt;
&lt;th&gt;Current Title Accuracy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;71%&lt;/td&gt;
&lt;td&gt;82%&lt;/td&gt;
&lt;td&gt;76%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;68%&lt;/td&gt;
&lt;td&gt;84%&lt;/td&gt;
&lt;td&gt;79%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;54%&lt;/td&gt;
&lt;td&gt;88%&lt;/td&gt;
&lt;td&gt;81%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;49%&lt;/td&gt;
&lt;td&gt;91%&lt;/td&gt;
&lt;td&gt;83%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;47%&lt;/td&gt;
&lt;td&gt;79%&lt;/td&gt;
&lt;td&gt;72%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://clearbit.com" rel="noopener noreferrer"&gt;Clearbit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;td&gt;93%&lt;/td&gt;
&lt;td&gt;88%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Clearbit's coverage is genuinely that low on SaaS companies under 200 employees. Its accuracy on what it &lt;em&gt;does&lt;/em&gt; return is the highest in the table — 93% deliverable, 88% title accuracy — but 31% coverage means you're leaving 69% of your list unresolved if you stop there. For the specific profile of early-to-mid-stage SaaS, Clearbit's database has historically skewed toward companies with more public web presence. A 2020-founded SaaS company with 40 employees and a sparse domain footprint often doesn't make it in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; showed a similar pattern: excellent accuracy on what it finds (91% deliverable is the highest after Clearbit), but the pattern-inference approach that works well on domains with lots of public signals loses steam on smaller companies with less crawlable employee data.&lt;/p&gt;

&lt;h2&gt;
  
  
  The PDL vs Apollo Question
&lt;/h2&gt;

&lt;p&gt;These two had the widest coverage and the closest numbers, so I dug into where they diverged.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; returned more records on companies founded 2020–2022. My hypothesis: PDL's aggregation model pulls from more diverse sources — job boards, conference speaker lists, professional association exports — that pick up newer companies earlier than web-crawl-dependent approaches. On companies with 10–50 employees, PDL coverage was &lt;strong&gt;74%&lt;/strong&gt; versus Apollo's &lt;strong&gt;64%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; flipped the advantage on larger companies in the 200–1,000 range: &lt;strong&gt;73%&lt;/strong&gt; versus PDL's &lt;strong&gt;68%&lt;/strong&gt;. Apollo's reach in the mid-market has been built through its user-contributed data model — sales reps using Apollo verify contacts in real time, which improves accuracy for the company sizes where Apollo's user base concentrates.&lt;/p&gt;

&lt;p&gt;The title accuracy gap matters for a different reason. Apollo's &lt;strong&gt;79%&lt;/strong&gt; on current title accuracy versus PDL's &lt;strong&gt;76%&lt;/strong&gt; sounds small, but a 3-point difference across a 500-record campaign means ~15 contacts where you're calling someone a "Head of Sales" when they're now the VP. That's a real mistake in an outbound sequence, not a rounding error.&lt;/p&gt;

&lt;p&gt;Neither one is the clear winner. My rule now: for early-stage targets, PDL goes in the first slot. For mid-market, Apollo moves up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Lusha Earns Its Cost
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; has a reputation for European phone number coverage, and that reputation is deserved in my experience — I covered that separately when testing DACH contacts. What surprised me here was its precision on verified emails even at 54% coverage. Its &lt;strong&gt;88% deliverable rate&lt;/strong&gt; is the third-highest in the table.&lt;/p&gt;

&lt;p&gt;Lusha runs its own verification against email infrastructure at the time of the lookup, rather than serving cached verifications. That freshness shows up in deliverability. If your campaign has a very low bounce-rate tolerance (think inbox warming, or a domain you can't afford to burn), Lusha as a second-tier fallback for verified email matters more than raw coverage numbers suggest.&lt;/p&gt;

&lt;p&gt;The credit cost inside &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; for Lusha enrichment is higher than Apollo or PDL per lookup. If you're building a high-volume stack, that math works out to paying more for fewer but cleaner records. Worth it for specific verticals, not worth it as a broad first-tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snov.io: Lower Accuracy Than I Expected from Social URL Input
&lt;/h2&gt;

&lt;p&gt;I ran &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; via the Social URL endpoint — feeding it LinkedIn profile URLs directly — which is supposed to be its strength relative to domain-only lookup. The 47% coverage and 79% deliverable rate were both lower than I expected.&lt;/p&gt;

&lt;p&gt;Part of this is the test design: all 500 records were SaaS companies, which is Hunter's strongest segment per my prior testing. Snov tends to outperform Hunter on professional services domains where Hunter's pattern inference loses confidence. On tech-first SaaS, Snov's position in this stack is probably third-tier, not second.&lt;/p&gt;

&lt;p&gt;The social URL approach also hit Clay's rate-limit handling awkwardly on a couple of batch runs — Snov's API throttling behavior inside Clay caused some retries that weren't clearly surfaced in the error logs. Workable, but add buffer time if you're running large batches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Provider Ordering Matters for Cost, Not Just Accuracy
&lt;/h2&gt;

&lt;p&gt;The coverage and accuracy numbers above tell you what to expect from each provider. What they don't tell you is how much each costs in Clay credits, and that changes the ordering logic.&lt;/p&gt;

&lt;p&gt;Inside &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt;, providers don't all bill equally. At the time I ran this test, rough credit costs per lookup were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;: ~1 credit&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;: 1–2 credits&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt;: 1 credit&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;: 2–3 credits&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;: 3–5 credits&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://clearbit.com" rel="noopener noreferrer"&gt;Clearbit&lt;/a&gt;: 2–3 credits&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://zoominfo.com" rel="noopener noreferrer"&gt;ZoomInfo&lt;/a&gt;: 5–10 credits (I didn't include it in my six-provider test, but it's available in Clay)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a waterfall, every provider in the cascade consumes credits when it's called — even if the record already has a value from a prior tier (unless you configure an explicit "skip if not null" condition). Most people set that condition correctly, but I've seen Clay templates in the wild where it's missing and every provider runs on every record regardless.&lt;/p&gt;

&lt;p&gt;Assuming you do configure the skip-if-found logic: the cost-optimal ordering puts cheap, high-coverage providers first, expensive providers last. So the order changes depending on whether you're optimizing for credit spend or accuracy.&lt;/p&gt;

&lt;p&gt;If I was minimizing credits: &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; → &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; → &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; → &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; → &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt;. Hunter's 1-credit lookups absorb the easy finds cheaply. Apollo catches the mid-tier. Expensive providers only run on records that survived three cheaper passes.&lt;/p&gt;

&lt;p&gt;If I'm optimizing for accuracy and don't mind the cost: &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; → &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; → &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; → &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;. Lusha's 88% deliverable rate upfront means less bounce risk, even if fewer records return from the first pass.&lt;/p&gt;

&lt;p&gt;The right optimization depends on your volume and bounce tolerance. For a 200-record campaign on a cold domain where deliverability risk is high, pay for accuracy upfront. For a 10,000-record list where you're budget-constrained and have a good inbox warming buffer, go credit-cost-first.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Clay Actually Adds (and What It Doesn't)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; as an orchestration layer adds real value: visual waterfall configuration, automatic fallthrough when a provider returns null, a readable audit trail showing which provider returned which field. For ops teams that don't want to maintain custom enrichment code, it's worth the platform cost.&lt;/p&gt;

&lt;p&gt;What it doesn't add is magic. The data quality is entirely downstream of the providers you configure. Clay can't make &lt;a href="https://clearbit.com" rel="noopener noreferrer"&gt;Clearbit&lt;/a&gt;'s coverage better on small companies. It can't fix &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s title staleness. The platform is a router, not a data source.&lt;/p&gt;

&lt;p&gt;The provider defaults Clay suggests in its templates are based on general popularity, not your ICP. Before you set a cascade live, run a sample of your actual list through each provider in isolation, the way I did here. The ranking you find will be different from mine if your ICP is enterprise or if you're targeting industries outside SaaS.&lt;/p&gt;

&lt;p&gt;One gap I hit that Clay doesn't solve: starting from social handles rather than LinkedIn URLs or company domains. If you're enriching from a Twitter handle or Facebook profile where the company domain isn't known, none of the six providers above have a clean path inside Clay's current interface. You need a separate enrichment step before the cascade.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Use
&lt;/h2&gt;

&lt;p&gt;For SaaS lists starting from LinkedIn URLs, my current order inside &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; is: &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; → &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; → &lt;a href="https://lusha.com" rel="noopener noreferrer"&gt;Lusha&lt;/a&gt; → &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;. That combination gets me above 90% email coverage on typical SaaS IPCs before I hit the fourth tier, and the accuracy at each fallthrough stage is predictable.&lt;/p&gt;

&lt;p&gt;For mid-market (200+ employees), I swap the first two: &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; → &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I skip &lt;a href="https://clearbit.com" rel="noopener noreferrer"&gt;Clearbit&lt;/a&gt; as a primary enrichment tier for anything under 500 employees. It goes in as an intent-signal and technographic layer — it's excellent there — but not for contact discovery.&lt;/p&gt;

&lt;p&gt;When I'm working from social profiles (Twitter/Facebook handles) instead of LinkedIn URLs or domains, I step outside Clay and run those through &lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; first. It handles the social-handle-to-email path faster than resolving the company domain manually and then re-entering the Clay waterfall. The output slots back into the same enrichment stack once I have a domain or verified email to work with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; occasionally appears in comparisons like this — I've tested it as a fifth tier and found marginal lift on executive-level contacts above VP. Below VP title, the cost per marginal find isn't worth it for most lists.&lt;/p&gt;

&lt;p&gt;The right cascade depends on your ICP. If you're in enterprise B2B, the Clearbit accuracy numbers look a lot more attractive when your list is all Fortune 1000. If you're doing high-volume SMB outreach, you care more about PDL's coverage than Lusha's precision. Run the sample test before you commit to a configuration.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>sales</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Snov.io vs Hunter.io Email Finder: 350-Domain Test Shows the Winner Changes by Industry</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Thu, 06 Aug 2026 06:07:50 +0000</pubDate>
      <link>https://dev.to/zackrag/snovio-vs-hunterio-email-finder-350-domain-test-shows-the-winner-changes-by-industry-3mi0</link>
      <guid>https://dev.to/zackrag/snovio-vs-hunterio-email-finder-350-domain-test-shows-the-winner-changes-by-industry-3mi0</guid>
      <description>&lt;h1&gt;
  
  
  Snov.io vs Hunter.io Email Finder: 350-Domain Test Shows the Winner Changes by Industry
&lt;/h1&gt;

&lt;p&gt;Last quarter I had to pick a primary email-finder slot for a waterfall enrichment stack I was building for a client. The client runs outbound across three very different verticals — SaaS companies, mid-size legal and consulting firms, and industrial manufacturers. I'd been defaulting to &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; for years and assumed it would win cleanly. I was wrong about one of the three segments, and the gap was large enough to change my stack.&lt;/p&gt;

&lt;p&gt;Here's what I found across 350 domains and why the "which one is better" question is the wrong question.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Tested and How
&lt;/h2&gt;

&lt;p&gt;I pulled 350 company domains split roughly evenly across three buckets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SaaS / tech&lt;/strong&gt; (companies with .io, .ai, or .com, mostly Series A–C, 10–200 employees)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Professional services&lt;/strong&gt; (law firms, accounting practices, management consulting boutiques)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manufacturing and industrial&lt;/strong&gt; (distributors, contract manufacturers, machine shops)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For each domain I ran a domain search via both &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; and &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt;, collected every email each tool returned, then verified the results against a ground-truth set I'd built from LinkedIn + manual outreach responses over the prior 6 months. I'm not claiming this is a perfect academic benchmark — it's the kind of test you run when you actually need to pick a tool and live with the results.&lt;/p&gt;

&lt;p&gt;Credit consumption: Hunter charges per search; Snov.io charges per result in most plans. That billing difference matters more than the accuracy numbers in some use cases, and I'll come back to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  SaaS and Tech Companies: Hunter Wins, But By Less Than You'd Think
&lt;/h2&gt;

&lt;p&gt;On the SaaS/tech bucket, &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; returned emails for &lt;strong&gt;79%&lt;/strong&gt; of the domains I queried. &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; returned emails for &lt;strong&gt;71%&lt;/strong&gt;. After matching against my ground truth and running every result through &lt;a href="https://neverbounce.com" rel="noopener noreferrer"&gt;NeverBounce&lt;/a&gt;, the deliverable (non-bouncing, non-risky) email accuracy was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hunter: &lt;strong&gt;86% deliverable&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Snov.io: &lt;strong&gt;78% deliverable&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hunter's edge here comes from its pattern-detection approach — if it sees 20 confirmed emails at a domain following &lt;code&gt;{first}.{last}@company.com&lt;/code&gt;, it generates that pattern and applies it confidently to new names. SaaS companies tend to have consistent naming conventions across their team, so this pattern play works well.&lt;/p&gt;

&lt;p&gt;Snov.io pulls from a broader source mix including scraped databases, which gives it more raw volume but at the cost of staleness on fast-moving SaaS teams that churn engineers every 18 months.&lt;/p&gt;

&lt;p&gt;The gap is real but not dramatic. If SaaS is your only vertical, you'll pay slightly more per deliverable email with Snov.io, but it's not a catastrophic difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  Professional Services: Snov.io Catches Emails Hunter Consistently Misses
&lt;/h2&gt;

&lt;p&gt;This is where my assumption cracked. On law firms, accounting practices, and consulting boutiques, &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; covered &lt;strong&gt;68%&lt;/strong&gt; of domains versus Hunter's &lt;strong&gt;54%&lt;/strong&gt;. After deliverability filtering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Snov.io: &lt;strong&gt;74% deliverable&lt;/strong&gt; on matched results&lt;/li&gt;
&lt;li&gt;Hunter: &lt;strong&gt;81% deliverable&lt;/strong&gt; on matched results — but from a much smaller base&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hunter's pattern inference breaks down on professional services firms for a predictable reason: these firms have small headcounts, minimal public web presence, and name formats that vary wildly (&lt;code&gt;partner-first@firm.com&lt;/code&gt; vs &lt;code&gt;jsmith@firm.com&lt;/code&gt; vs the nightmare of hyphenated double-barrel surnames). With fewer public signals to learn from, Hunter's confidence scoring stays low and it returns fewer results.&lt;/p&gt;

&lt;p&gt;Snov.io's deeper historical database — messy as it is — has accumulated more of these smaller-firm contacts over time, probably from data-sharing integrations and broader scrape coverage. The accuracy rate is lower, but when you're working a list of 200 boutique law firms and Hunter returns emails for 108 of them while Snov returns emails for 136, the coverage difference is worth running a verification pass with &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; before sending.&lt;/p&gt;

&lt;h2&gt;
  
  
  Manufacturing and Industrial: Both Tools Fail Here
&lt;/h2&gt;

&lt;p&gt;Neither tool covers industrial businesses well. On my manufacturing bucket:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hunter returned emails for &lt;strong&gt;38%&lt;/strong&gt; of domains&lt;/li&gt;
&lt;li&gt;Snov.io returned emails for &lt;strong&gt;41%&lt;/strong&gt; of domains&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deliverable accuracy after filtering was roughly equivalent (~75%), but you're starting from such a low base that neither result is usable as a primary source. Industrial companies rarely have public-facing employee directories, their email format conventions don't appear in web-crawled data, and the contacts you actually want (plant managers, procurement leads, VP Operations) tend not to publish their emails anywhere.&lt;/p&gt;

&lt;p&gt;For this segment, neither tool is your first stop. I use &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt;'s company enrichment to find the person, then &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s Person Enrichment endpoint to get an email match. Bounce rates are still higher than I'd like, but it beats throwing credits at Hunter or Snov on domains where they'll both fail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side-by-Side Breakdown
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SaaS/tech email coverage&lt;/td&gt;
&lt;td&gt;79% of domains&lt;/td&gt;
&lt;td&gt;71% of domains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Professional services coverage&lt;/td&gt;
&lt;td&gt;54% of domains&lt;/td&gt;
&lt;td&gt;68% of domains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Manufacturing coverage&lt;/td&gt;
&lt;td&gt;38% of domains&lt;/td&gt;
&lt;td&gt;41% of domains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deliverable accuracy (verified)&lt;/td&gt;
&lt;td&gt;86% (SaaS), 81% (prof. svc)&lt;/td&gt;
&lt;td&gt;78% (SaaS), 74% (prof. svc)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pricing (Starter)&lt;/td&gt;
&lt;td&gt;$49.99/mo (500 searches)&lt;/td&gt;
&lt;td&gt;$39/mo (1,000 credits, annual)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Billing unit&lt;/td&gt;
&lt;td&gt;Per search / per domain&lt;/td&gt;
&lt;td&gt;Per result returned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built-in email sequences&lt;/td&gt;
&lt;td&gt;Yes (basic)&lt;/td&gt;
&lt;td&gt;Yes (more full-featured)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LinkedIn Chrome extension&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API access&lt;/td&gt;
&lt;td&gt;All plans&lt;/td&gt;
&lt;td&gt;Pro+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bulk CSV upload&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built-in verification&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes (7-tier)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Credit-Burning Trap Nobody Mentions
&lt;/h2&gt;

&lt;p&gt;Hunter and Snov.io bill in fundamentally different ways, and this matters more than most comparisons acknowledge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; charges a credit per domain search — you pay once whether you get 0 emails or 40. This makes it efficient when you're confident a domain has emails to find. It makes it expensive when you're spraying 500 small manufacturing domains and getting 38% coverage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; charges per result returned (in most plans). On high-density domains this burns credits fast — a 60-person SaaS team could return 45 emails and consume 45 credits for one search. On sparse domains, you pay nothing if nothing comes back.&lt;/p&gt;

&lt;p&gt;Run the math for your use case before assuming either pricing model is cheaper. For my client's manufacturing segment, Snov.io's per-result pricing meant nearly zero wasted credits on the empty domains. For the SaaS segment, Hunter's per-search model was more predictable.&lt;/p&gt;

&lt;p&gt;If you're building a programmatic enrichment stack, Hunter's API is cleaner and better-documented. Snov.io's API works but the rate limit behavior and pagination design are rougher around the edges — plan for more error handling.&lt;/p&gt;

&lt;p&gt;One thing neither tool does well: real-time verification at the time of discovery. Both find emails from their databases first and verify as a separate step. If you're doing real-time enrichment on inbound signups, you'll want a dedicated verify call to &lt;a href="https://neverbounce.com" rel="noopener noreferrer"&gt;NeverBounce&lt;/a&gt; or &lt;a href="https://zerobounce.net" rel="noopener noreferrer"&gt;ZeroBounce&lt;/a&gt; regardless of which finder you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Waterfall Enrichment Changes the Equation
&lt;/h2&gt;

&lt;p&gt;If you're using &lt;a href="https://clay.com" rel="noopener noreferrer"&gt;Clay&lt;/a&gt; or a custom waterfall, you don't have to pick one. The most defensible stack I've seen for mixed-vertical lists runs Hunter first for SaaS-heavy segments (cleaner output, less post-processing), then falls through to Snov.io for missed records, then pulls from &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s person endpoint as the third tier for anything that still has no result. Running &lt;a href="https://rocketreach.co" rel="noopener noreferrer"&gt;RocketReach&lt;/a&gt; as a fourth fallback adds marginal lift for hard-to-find executive contacts.&lt;/p&gt;

&lt;p&gt;The point isn't to always cascade through all four — it's to know which tier your list actually needs. If your ICP is entirely SaaS, Hunter alone covers enough to not bother with the waterfall complexity. If you're mixing verticals, the cascade pays for itself in coverage.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Use
&lt;/h2&gt;

&lt;p&gt;For SaaS-heavy lists, &lt;a href="https://hunter.io" rel="noopener noreferrer"&gt;Hunter.io&lt;/a&gt; is my default first pass — the pattern detection is genuinely good and the API is easy to work with. For professional services, &lt;a href="https://snov.io" rel="noopener noreferrer"&gt;Snov.io&lt;/a&gt; goes in the primary slot and Hunter drops to the fallback.&lt;/p&gt;

&lt;p&gt;When starting from social profiles rather than company domains — Twitter or Facebook handles where the company domain itself is unknown — &lt;a href="https://ziwa.club" rel="noopener noreferrer"&gt;Ziwa&lt;/a&gt; has been faster for me than hitting &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt;'s direct API, specifically because it handles the handle-to-email path without requiring me to resolve the company first.&lt;/p&gt;

&lt;p&gt;For manufacturing and industrial, I'd skip both finders as primaries and go straight to &lt;a href="https://apollo.io" rel="noopener noreferrer"&gt;Apollo&lt;/a&gt; company enrichment → &lt;a href="https://peopledatalabs.com" rel="noopener noreferrer"&gt;PDL&lt;/a&gt; person endpoint. The Hunter/Snov pass on those domains wastes time and credits for 60% no-match rates.&lt;/p&gt;

&lt;p&gt;None of these are permanent decisions. Match rates shift as databases update, pricing tiers change without notice, and what worked on a 350-domain test six months ago may not hold on your next list. Re-test annually on a sample of your actual ICP.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Free OSINT Pre Filter Sales Prospecting 2026: 15-Minute Daily Workflow</title>
      <dc:creator>Zackrag</dc:creator>
      <pubDate>Tue, 04 Aug 2026 11:24:22 +0000</pubDate>
      <link>https://dev.to/zackrag/free-osint-pre-filter-sales-prospecting-2026-15-minute-daily-workflow-4pc2</link>
      <guid>https://dev.to/zackrag/free-osint-pre-filter-sales-prospecting-2026-15-minute-daily-workflow-4pc2</guid>
      <description>&lt;p&gt;After testing 180 target accounts over 22 days with only free signals, 31 made it past the pre-filter to justify any enrichment spend. The rest stayed in a holding list because none of the public triggers fired within the time box.&lt;/p&gt;

&lt;h2&gt;
  
  
  What signals I checked in the first 15 minutes
&lt;/h2&gt;

&lt;p&gt;I started each morning by opening three RSS readers and two browser tabs. The first RSS pulled funding announcements from public news feeds on TechCrunch and VentureBeat. I scanned only titles and first paragraphs for the previous 48 hours, noting any mention of Series A or later rounds for companies under 200 employees. The second RSS pulled job postings from company career pages and Indeed public listings filtered by “new” in the last week. I looked for repeated titles in engineering or sales roles, which often signal headcount growth. The third RSS monitored GitHub release notes and changelog RSS for the target list companies. Any commit or version bump that added a new integration counted as a tech stack change.&lt;/p&gt;

&lt;p&gt;I kept a simple running note in a text file with columns for company, signal type, date seen, and one-line reason. No deep dives happened inside the 15 minutes. If a funding item appeared, I noted the round size only if stated in the headline. Job patterns required at least two new roles in the same department. Tech changes needed an explicit new tool name in the release text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Time-boxing rules that kept me from wasting hours
&lt;/h2&gt;

&lt;p&gt;I set a hard 15-minute timer on my phone and divided it into five three-minute blocks. Minutes 0-3 covered the funding RSS. Minutes 3-6 covered job postings. Minutes 6-9 covered tech stack RSS. Minutes 9-12 were for cross-checking any flagged item against the company’s own about page or LinkedIn company page for basic confirmation. The final three minutes were used only to move qualifying entries into a separate “enrich later” list.&lt;/p&gt;

&lt;p&gt;If nothing triggered in a block I moved on without extending the timer. Over the 22 days this rule stopped me from chasing single job postings that later turned out to be replacements rather than net-new hires. It also prevented reading full SEC filings when a funding headline already gave the needed trigger. The only exception allowed was if two signals fired for the same company inside the window; then I spent the remaining time confirming the second signal before stopping.&lt;/p&gt;

&lt;h2&gt;
  
  
  The decision table for moving a lead to paid enrichment
&lt;/h2&gt;

&lt;p&gt;After the daily scan I reviewed the note file and applied a simple scoring rule. A company needed at least two distinct signals or one strong signal plus a recent domain age under three years. Anything below that stayed on the free list for another week.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal combination&lt;/th&gt;
&lt;th&gt;Time seen&lt;/th&gt;
&lt;th&gt;Justification to enrich&lt;/th&gt;
&lt;th&gt;Example outcome&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Funding headline + two new engineering roles&lt;/td&gt;
&lt;td&gt;Same day&lt;/td&gt;
&lt;td&gt;Headcount growth tied to capital&lt;/td&gt;
&lt;td&gt;9 companies moved forward&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub integration release only&lt;/td&gt;
&lt;td&gt;Within 48h&lt;/td&gt;
&lt;td&gt;Tech change without growth proof&lt;/td&gt;
&lt;td&gt;4 companies held&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Two sales job postings&lt;/td&gt;
&lt;td&gt;Within 7 days&lt;/td&gt;
&lt;td&gt;Possible expansion but no funding&lt;/td&gt;
&lt;td&gt;11 companies held&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Funding + tech release&lt;/td&gt;
&lt;td&gt;Same week&lt;/td&gt;
&lt;td&gt;Capital plus stack shift&lt;/td&gt;
&lt;td&gt;7 companies moved forward&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This table came from the actual counts across the 180 accounts. Companies that hit the funding-plus-growth row almost always showed later activity in paid tools, while single-signal rows rarely did.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually use
&lt;/h2&gt;

&lt;p&gt;The daily routine runs on three free RSS readers, a text note file, and occasional checks against public job boards and GitHub. I still keep Apollo and Clay in the stack but only open them after this filter finishes. Ziwa sits alongside Wiza and Hunter.io as one of the options I test when a lead clears the table, though I rotate based on which fields I need that week. The 15-minute cap and the two-signal rule have kept monthly enrichment spend under 800 credits while still surfacing the accounts that later closed.&lt;/p&gt;

</description>
      <category>osint</category>
      <category>sales</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
