lead-genintentcomparison

Intent-Based Lead Gen vs Volume Scraping

200 intent-sourced leads at 5% conversion beat 10,000 scraped leads at 0.1%. The math, code, and workflow for intent-based prospecting.

9 min

Volume scraping gives you 10,000 leads with a 0.1% conversion rate (10 customers). Intent-based lead generation gives you 200 leads with a 5% conversion rate (10 customers). Same result, but intent-based costs less in outreach time, damages your domain reputation less, and scales better because each additional signal source improves lead quality rather than just increasing volume.

The volume scraping approach

Traditional volume scraping: pull every business in a category from a directory, blast them with cold emails. The logic is that conversion is a numbers game -- email enough people and some will buy.

  • 10,000 scraped emails from a directory
  • Cost: $50-200 for scraping tools + email infrastructure
  • Time: 2-5 hours to set up and launch
  • Response rate: 1-3% (100-300 replies)
  • Conversion rate: 0.05-0.2% (5-20 sales)
  • Collateral damage: spam complaints, domain blacklisting risk, brand reputation

The intent-based approach

Intent signals tell you someone is actively looking for a solution. A Reddit post asking "What tool should I use for X?" is a buying signal. A Google search for "best alternative to Y" is a buying signal. A TikTok comment asking "Where did you get that?" is a buying signal.

  • 200 leads identified through intent signals
  • Cost: $30-50/month for search API + monitoring
  • Time: 1-2 hours daily to review and engage
  • Response rate: 20-40% (relevant, personalized outreach)
  • Conversion rate: 3-8% (6-16 sales)
  • Side effects: positive brand presence, community trust, SEO benefit

The math comparison

Python
# Volume scraping economics
volume_leads = 10000
volume_email_cost = 0.01        # per email (sending infra)
volume_scraping_cost = 100      # tools and proxies
volume_response_rate = 0.02     # 2%
volume_conversion_rate = 0.001  # 0.1% of total
volume_customer_value = 500     # average deal value

volume_total_cost = (volume_leads * volume_email_cost) + volume_scraping_cost
volume_customers = volume_leads * volume_conversion_rate
volume_revenue = volume_customers * volume_customer_value
volume_roi = (volume_revenue - volume_total_cost) / volume_total_cost

print("--- Volume Scraping ---")
print(f"Leads: {volume_leads:,}")
print(f"Cost: ${volume_total_cost:.0f}")
print(f"Customers: {volume_customers:.0f}")
print(f"Revenue: ${volume_revenue:,.0f}")
print(f"ROI: {volume_roi:.1f}x")
print(f"Cost per customer: ${volume_total_cost/volume_customers:.0f}")

# Intent-based economics
intent_leads = 200
intent_api_cost = 30             # monthly search API
intent_engagement_hours = 30     # monthly hours at $50/hr equivalent
intent_response_rate = 0.30      # 30%
intent_conversion_rate = 0.05    # 5% of total
intent_customer_value = 500

intent_total_cost = intent_api_cost + (intent_engagement_hours * 50)
intent_customers = intent_leads * intent_conversion_rate
intent_revenue = intent_customers * intent_customer_value
intent_roi = (intent_revenue - intent_total_cost) / intent_total_cost

print("\n--- Intent-Based ---")
print(f"Leads: {intent_leads}")
print(f"Cost: ${intent_total_cost:,.0f}")
print(f"Customers: {intent_customers:.0f}")
print(f"Revenue: ${intent_revenue:,.0f}")
print(f"ROI: {intent_roi:.1f}x")
print(f"Cost per customer: ${intent_total_cost/intent_customers:.0f}")

Finding intent signals with search

Intent signals live on Reddit, forums, social media, and in search queries. A search API can surface these signals automatically:

Python
import requests, os
from datetime import datetime

def find_intent_signals(product_category, competitors=None):
    """Find people actively looking for solutions in your category."""
    headers = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
    base = "https://api.scavio.dev/api/v1/search"

    signals = []

    # 1. Reddit buying signals
    reddit_queries = [
        f"{product_category} recommendation site:reddit.com",
        f"best {product_category} 2026 site:reddit.com",
        f"looking for {product_category} site:reddit.com",
    ]
    for q in reddit_queries:
        resp = requests.post(
            base, headers=headers,
            json={"query": q, "num_results": 5},
        )
        for r in resp.json().get("organic_results", []):
            signals.append({
                "type": "reddit_buying_signal",
                "title": r.get("title", ""),
                "url": r.get("link", ""),
                "snippet": r.get("snippet", ""),
            })

    # 2. Competitor dissatisfaction signals
    if competitors:
        for comp in competitors:
            resp = requests.post(
                base, headers=headers,
                json={
                    "query": f"{comp} alternative switching from site:reddit.com",
                    "num_results": 3,
                },
            )
            for r in resp.json().get("organic_results", []):
                signals.append({
                    "type": "competitor_dissatisfaction",
                    "competitor": comp,
                    "title": r.get("title", ""),
                    "url": r.get("link", ""),
                    "snippet": r.get("snippet", ""),
                })

    return signals

# Example: find people looking for search API alternatives
signals = find_intent_signals(
    "search API for AI agents",
    competitors=["Tavily", "SerpAPI"]
)
for s in signals:
    print(f"[{s['type']}] {s['title']}")
    print(f"  {s['url']}")

Why intent beats volume at scale

Volume scraping has a ceiling: once you exhaust a directory, you need a new directory. Each new blast risks your sender reputation. The marginal lead gets worse as you scrape deeper into less-relevant listings.

Intent-based lead gen has compounding returns: as you build presence on Reddit and forums by helping people (not spamming), inbound interest grows. Each genuine interaction creates a digital footprint that attracts more intent signals. The marginal lead gets better over time as your reputation grows.

The hybrid approach

For teams that need both volume and quality:

  • Use intent signals for top-priority outreach (personalized, high-touch)
  • Use directory data for low-priority nurture sequences (automated, low-touch)
  • Never blast intent-sourced leads with volume-style emails
  • Track conversion rates separately to measure which source performs better

Tools needed

  • Search API for monitoring Reddit, forums, and web mentions: $30-50/month
  • Reddit account for genuine engagement: free
  • CRM to track lead source and conversion: varies
  • Email for personalized outreach (not blasting): existing infrastructure

The total cost is lower than volume scraping infrastructure, and the output is higher quality. The tradeoff is that intent-based requires daily attention rather than a one-time scrape-and-blast workflow. It is a practice, not a project.