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.
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
# 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:
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.