The Problem
Apollo.io ($49-199/mo) and ZoomInfo lock you into their platform for contact enrichment. Your enrichment quality depends entirely on their provider network. If they raise prices, degrade data quality, or shut down, you start from scratch. Smaller teams paying $49-99/mo for 200-500 enrichments/month are overpaying for what they actually use.
The Scavio Solution
Build your own lightweight enrichment pipeline using Scavio's Google search. For each lead, search for '[name] [company] LinkedIn' to find their profile, then '[company] contact page' for direct contact info. This covers 60-70% of enrichment needs at $0.01/lead (2 searches). For the remaining 30%, use Apollo's free tier (limited credits) or manual research. You control the pipeline, own the data, and avoid lock-in.
Before
Apollo Starter at $49/mo for a team enriching 300 leads/month. Cost per enrichment: $0.16. If Apollo raises prices or data quality drops, migration means rebuilding the entire enrichment workflow.
After
Scavio search enrichment for 300 leads: 600 API calls = $3.00/month. Apollo free tier for the 30% that search misses. Total cost: $3.00 vs $49.00. Enrichment rate: 68% (vs 85% with paid Apollo). Pipeline is portable and vendor-independent.
Who It Is For
Bootstrapped B2B teams enriching fewer than 1K leads/month who want to avoid $49-199/mo platform fees and vendor lock-in.
Key Benefits
- Enrichment at $0.01/lead vs $0.16/lead on Apollo Starter
- No platform lock-in -- you own the pipeline and data
- 60-70% enrichment rate sufficient for most small B2B teams
- Portable pipeline works with any search API as a backend
- Complements free tiers of enrichment platforms for remaining gaps
Python Example
import requests, os, re
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}
def enrich_lead(name: str, company: str) -> dict:
enriched = {"name": name, "company": company}
# Search 1: Find LinkedIn profile
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers=H,
json={"query": f"{name} {company} LinkedIn", "country_code": "us"},
timeout=10,
)
for r in resp.json().get("organic_results", [])[:5]:
if "linkedin.com/in/" in r.get("link", ""):
enriched["linkedin"] = r["link"]
enriched["title_from_linkedin"] = r.get("snippet", "")
break
# Search 2: Find company contact page
resp2 = requests.post(
"https://api.scavio.dev/api/v1/search",
headers=H,
json={"query": f"{company} contact us page", "country_code": "us"},
timeout=10,
)
results = resp2.json().get("organic_results", [])[:3]
enriched["company_contact_urls"] = [r["link"] for r in results]
return enriched
# Enrich a lead for $0.01 (2 API calls)
lead = enrich_lead("Jane Smith", "Acme Corp")
print(f"LinkedIn: {lead.get('linkedin', 'Not found')}")
print(f"Contact pages: {lead.get('company_contact_urls', [])}")JavaScript Example
const API_KEY = process.env.SCAVIO_API_KEY;
const H = {"x-api-key": API_KEY, "Content-Type": "application/json"};
async function enrichLead(name, company) {
const enriched = { name, company };
// Search 1: Find LinkedIn profile
const res1 = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: H,
body: JSON.stringify({ query: `${name} ${company} LinkedIn`, country_code: "us" }),
});
const data1 = await res1.json();
for (const r of (data1.organic_results || []).slice(0, 5)) {
if ((r.link || "").includes("linkedin.com/in/")) {
enriched.linkedin = r.link;
enriched.titleFromLinkedin = r.snippet || "";
break;
}
}
// Search 2: Find company contact page
const res2 = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: H,
body: JSON.stringify({ query: `${company} contact us page`, country_code: "us" }),
});
const data2 = await res2.json();
enriched.companyContactUrls = (data2.organic_results || []).slice(0, 3).map(r => r.link);
return enriched;
}
const lead = await enrichLead("Jane Smith", "Acme Corp");
console.log(`LinkedIn: ${lead.linkedin || "Not found"}`);
console.log(`Contact pages: ${(lead.companyContactUrls || []).join(", ")}`);Platforms Used
Web search with knowledge graph, PAA, and AI overviews