cold-emailenrichmentapi

Cold Email Data Enrichment via Search API

Cold email enrichment at $0.015 per prospect vs Clay $149/month. Real-time search signals instead of database-cached firmographics for personalization.

5 min read

Cold email data enrichment via search API costs $0.015 per prospect versus Clay's $185/month flat rate. For teams sending under 2,000 personalized emails per month, the search API approach is cheaper and produces better personalization because the data is real-time instead of database-cached.

The Enrichment Stack

Traditional enrichment (Apollo at $49/month, ZoomInfo at $14,900/year) gives you firmographic data: company size, industry, revenue range. This data is months old by the time you use it. Search enrichment gives you what happened this week: product launches, funding rounds, executive hires, press mentions.

Clay ($185/month Launch plan) automates this with enrichment waterfalls but charges a fixed monthly rate. For high-volume teams sending 5,000+ emails per month, Clay's unlimited credits make sense. For teams sending 500-2,000 emails, the per-prospect search approach costs less.

The Search Enrichment Pipeline

Python
import requests, os, json

API_KEY = os.environ["SCAVIO_API_KEY"]

def enrich_prospect(company, domain):
    searches = [
        f'"{company}" news 2026',
        f'"{company}" funding OR launch OR hire',
        f"site:reddit.com {company}",
    ]
    enrichment = {"company": company, "signals": []}
    for query in searches:
        resp = requests.post("https://api.scavio.dev/api/v1/search",
            headers={"x-api-key": API_KEY},
            json={"platform": "google", "query": query})
        results = resp.json().get("organic_results", [])[:3]
        for r in results:
            enrichment["signals"].append({
                "title": r.get("title", ""),
                "snippet": r.get("snippet", ""),
                "date": r.get("date", ""),
                "source": r.get("domain", ""),
            })
    return enrichment

# 3 searches x $0.005 = $0.015 per prospect
data = enrich_prospect("Stripe", "stripe.com")
print(f"Found {len(data['signals'])} signals for {data['company']}")
for s in data["signals"][:3]:
    print(f"  {s['title'][:60]}")

Generating Personalized Openers

Feed the enrichment signals to an LLM to generate a one-line opener. The LLM grounds its output on real search results instead of hallucinating company details. Cost: $0.015 (search) + $0.002 (Claude Haiku for opener generation) = $0.017 per prospect.

For 1,000 prospects per month: $17 total versus Clay at $185/month. The breakeven point is roughly 10,000 prospects/month, where Clay's unlimited enrichment becomes more economical.

Adding Reddit Signals

Reddit discussions about a prospect's company reveal pain points that formal press coverage misses. A prospect whose company has active Reddit threads about specific problems is more likely to respond to outreach that references those problems. The Reddit search adds $0.005 per prospect but provides the most actionable personalization signal.

When This Approach Loses

Search enrichment works for companies with a web presence. Bootstrapped startups, local businesses without press coverage, and pre-launch companies may not have enough searchable signals. For these prospects, traditional firmographic enrichment from Apollo or ZoomInfo is more reliable. The best stacks use both: firmographic data as the baseline, search enrichment as the personalization layer.