Overview
Daily Maps-record pull (Outscraper or Yelp) + per-business website-presence check via Scavio + Reddit signal optional. Output: qualified no-website prospect list.
Trigger
Daily 6 AM
Schedule
Daily 6 AM
Workflow Steps
Maps records source pull
Outscraper, Yelp Fusion, or manual list of new businesses in target geo.
Filter empty website fields
First-pass filter for no-website candidates.
Scavio search per candidate
Confirm no domain surfaces for business name + city.
Optional Reddit signal
Search for 'looking for website' mentions of business or industry.
Export qualified list
CSV to Drive; pipe to outreach tool.
Outreach handoff
Smartlead/Instantly/manual SDR call.
Python Implementation
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def has_site(name, city):
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'"{name}" {city}'}).json()
domains = {(o.get('link', '').split('/')[2] if 'link' in o else '') for o in r.get('organic_results', [])[:5]}
return any(name.lower().split()[0] in d for d in domains if d)JavaScript Implementation
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function hasSite(name, city) {
const r = await fetch('https://api.scavio.dev/api/v1/search', { method:'POST', headers:H, body: JSON.stringify({ query: `"${name}" ${city}` }) }).then(r => r.json());
const domains = (r.organic_results || []).slice(0,5).map(o => (o.link || '').split('/')[2] || '');
return domains.some(d => d.includes(name.toLowerCase().split(' ')[0]));
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit