Fully Automated Lead Gen: Google Search to Outreach Pipeline
Build a lead gen pipeline from Google search to outreach sequencer. SERP discovery, domain enrichment, lead scoring, and CRM push for under $0.10 per qualified lead.
A fully automated lead generation pipeline starts with a Google search query, extracts business information from organic results, enriches contacts with email and social data, scores leads based on relevance signals, and feeds qualified prospects into your outreach tool. The entire flow runs on a SERP API, an enrichment layer, and a sequencer. Total API cost: under $0.10 per qualified lead.
The Pipeline Architecture
- SERP query: search Google for your ICP (e.g. "SaaS companies series A 2026")
- Extract: pull domain, company name, and description from organic results
- Enrich: find decision-maker contacts via LinkedIn or email lookup APIs
- Score: rank leads by relevance signals (company size, tech stack, recent funding)
- Outreach: push qualified leads to Smartlead, Instantly, or Lemlist for sequencing
Step 1: SERP-Based Prospecting
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
# Search for potential leads
queries = [
"SaaS companies hiring engineers 2026",
"series A startups developer tools",
"YC W26 batch companies",
]
leads = []
for query in queries:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": query, "country_code": "us"})
data = resp.json()
for result in data.get("organic_results", []):
domain = result.get("link", "").split("/")[2] if result.get("link") else None
if domain and domain not in ["linkedin.com", "crunchbase.com", "twitter.com"]:
leads.append({
"domain": domain,
"title": result.get("title"),
"snippet": result.get("snippet"),
"source_query": query,
})
print(f"Found {len(leads)} potential leads from {len(queries)} queries")Step 2: Domain Enrichment
After extracting domains from SERP results, enrich each lead with company data. Pull the company website using a scraping or extract API to identify the company description, tech stack signals, team size indicators, and contact pages. Scavio Extract can pull structured data from company pages at 1 credit per request.
Step 3: Lead Scoring
def score_lead(lead):
score = 0
snippet = (lead.get("snippet") or "").lower()
# Positive signals
if "series a" in snippet or "funding" in snippet:
score += 3
if "hiring" in snippet or "growing" in snippet:
score += 2
if "saas" in snippet or "developer" in snippet:
score += 2
if "2026" in snippet or "2025" in snippet:
score += 1
# Negative signals
if "acquired" in snippet or "shutdown" in snippet:
score -= 5
return score
scored_leads = sorted(
[{"score": score_lead(l), **l} for l in leads],
key=lambda x: x["score"],
reverse=True,
)
qualified = [l for l in scored_leads if l["score"] >= 3]
print(f"Qualified leads: {len(qualified)} / {len(scored_leads)}")Cost Breakdown Per Lead
- SERP query: $0.005 per search (Scavio). 3 queries finds ~30 domains = $0.015
- Domain enrichment: $0.005-$0.01 per domain (extract API or scraping)
- Email lookup: $0.01-$0.05 per contact (varies by provider)
- Total per qualified lead: $0.03-$0.10 depending on qualification rate
Outreach Integration
Push qualified leads to your outreach sequencer via API. Smartlead ($39/month unlimited emails), Instantly ($30/month for 1,000 leads), and Lemlist ($32/month) all offer API endpoints for adding leads to campaigns. The SERP snippet from your original query provides personalization context: you know what the company was mentioned for, which gives you a relevant opening line.
When This Approach Works Best
- Your ICP can be described by search queries (industry + stage + signals)
- You need a steady flow of new prospects without manual research
- You want leads from public web presence, not gated databases
- Your outreach is personalized enough to benefit from SERP context