Solution

Enrich Cold Email Lists with SERP Audit Data

Cold email lists contain a company name and maybe a domain, but no context about the prospect's current SEO situation, tech stack, or recent news. Generic outreach gets ignored. Sa

The Problem

Cold email lists contain a company name and maybe a domain, but no context about the prospect's current SEO situation, tech stack, or recent news. Generic outreach gets ignored. Sales reps manually Google each prospect before writing emails, which does not scale past 20 prospects per day.

The Scavio Solution

Run each prospect through Scavio's search API to build a SERP profile: current rankings, AI Overview presence, Knowledge Graph status, recent news, and competitor positioning. Feed this enrichment into email personalization. Each audit costs 1-2 credits ($0.005-$0.01).

Before

Sales rep manually Googles 20 prospects per day. Writes generic emails. Open rate: 15%. Reply rate: 2%.

After

Pipeline audits 500 prospects per hour. Each email references the prospect's actual SERP situation. Open rate: 35%. Reply rate: 8%.

Who It Is For

Sales teams and SDRs who need prospect-specific SERP intelligence to personalize cold outreach at scale.

Key Benefits

  • 500 prospect SERP audits per hour vs 20/day manual
  • Personalization data: rankings, AI Overview, Knowledge Graph
  • 1-2 credits per prospect ($0.005-$0.01)
  • Structured output feeds directly into email templates
  • 2-4x improvement in reply rates with SERP-based personalization

Python Example

Python
import requests, os, json, csv

API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}

def serp_audit(company: str, domain: str) -> dict:
    """Audit a prospect's SERP presence."""
    resp = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers=H,
        json={"query": company, "country_code": "us"},
        timeout=10,
    )
    data = resp.json()
    organic = data.get("organic_results", [])
    domain_positions = [r["position"] for r in organic if domain in r.get("link", "")]
    return {
        "company": company,
        "domain": domain,
        "total_results": len(organic),
        "domain_positions": domain_positions,
        "has_ai_overview": bool(data.get("ai_overview")),
        "has_knowledge_graph": bool(data.get("knowledge_graph")),
        "top_competitor": organic[0].get("link", "") if organic and domain not in organic[0].get("link", "") else "owns_top",
    }

# Audit a batch of prospects
prospects = [
    {"company": "Acme Corp", "domain": "acme.com"},
    {"company": "Widget Inc", "domain": "widget.io"},
]
for p in prospects:
    audit = serp_audit(p["company"], p["domain"])
    print(f"{audit['company']}: positions {audit['domain_positions']}, AI Overview: {audit['has_ai_overview']}")

JavaScript Example

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};

async function serpAudit(company, domain) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query:company, country_code:'us'})});
  const d = await r.json();
  const organic = d.organic_results || [];
  const positions = organic.filter(r=>(r.link||'').includes(domain)).map(r=>r.position);
  const topComp = organic[0] && !organic[0].link?.includes(domain) ? organic[0].link : 'owns_top';
  return {company, domain, totalResults:organic.length, domainPositions:positions, hasAiOverview:!!d.ai_overview, hasKg:!!d.knowledge_graph, topCompetitor:topComp};
}

const prospects = [{company:'Acme Corp', domain:'acme.com'}, {company:'Widget Inc', domain:'widget.io'}];
for (const p of prospects) {
  const a = await serpAudit(p.company, p.domain);
  console.log(a.company+': positions '+a.domainPositions+', AI Overview: '+a.hasAiOverview);
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Cold email lists contain a company name and maybe a domain, but no context about the prospect's current SEO situation, tech stack, or recent news. Generic outreach gets ignored. Sales reps manually Google each prospect before writing emails, which does not scale past 20 prospects per day.

Run each prospect through Scavio's search API to build a SERP profile: current rankings, AI Overview presence, Knowledge Graph status, recent news, and competitor positioning. Feed this enrichment into email personalization. Each audit costs 1-2 credits ($0.005-$0.01).

Sales teams and SDRs who need prospect-specific SERP intelligence to personalize cold outreach at scale.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to validate this solution in your workflow.

Enrich Cold Email Lists with SERP Audit Data

Run each prospect through Scavio's search API to build a SERP profile: current rankings, AI Overview presence, Knowledge Graph status, recent news, and competitor positioning. Feed