Overview
Target offline-first businesses (plumbers, contractors, restaurants) that have Google Business profiles but no website. Extract contact info from SERP structured data, qualify by review count and rating, output a prospecting list.
Trigger
Weekly batch or on-demand
Schedule
Weekly batch
Workflow Steps
Build local queries
Combine service type + city: 'plumber in Austin TX', 'electrician near me Dallas'. One query per niche+city pair.
Search Scavio Google endpoint
POST /api/v1/search with platform=google for each query. Parse local pack results.
Filter for no-website businesses
Check if the result has a website URL. Keep only those with phone/address but no website.
Qualify by reviews
Filter: rating >= 4.0, review count >= 10. These are established businesses likely to convert.
Export to CSV
Columns: business name, phone, address, rating, review count, category, city.
Python Implementation
import requests, csv, os
key = os.environ["SCAVIO_API_KEY"]
queries = ["plumber in Austin TX", "electrician in Dallas TX"]
leads = []
for q in queries:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": key},
json={"query": q, "platform": "google", "limit": 20})
for r in resp.json().get("results", []):
if r.get("phone") and not r.get("website"):
leads.append({"name": r["title"], "phone": r["phone"],
"address": r.get("address", ""), "rating": r.get("rating", "")})
with open("leads.csv", "w", newline="") as f:
w = csv.DictWriter(f, fieldnames=["name", "phone", "address", "rating"])
w.writeheader()
w.writerows(leads)
print(f"Found {len(leads)} offline leads")JavaScript Implementation
const queries = ["plumber in Austin TX", "electrician in Dallas TX"];
const leads = [];
for (const q of queries) {
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query: q, platform: "google", limit: 20 })
});
for (const r of (await resp.json()).results) {
if (r.phone && !r.website) leads.push({ name: r.title, phone: r.phone });
}
}
console.log(`Found ${leads.length} offline leads`);Platforms Used
Web search with knowledge graph, PAA, and AI overviews