An r/agencynewbies post described the agency local-leadgen burnout: nights in Maps, opening sites, checking reviews, hunting emails. This walks the automated equivalent.
Prerequisites
- Outscraper API key (free tier 500 records)
- Scavio API key
- Hunter API key
- n8n or a Python script as orchestrator
Walkthrough
Step 1: Bulk pull Maps records via Outscraper
Per niche per city.
POST https://api.app.outscraper.com/maps/search
Api-Key: <key>
Query: 'plumber San Diego'
Limit: 500Step 2: Iterate records: per-business Scavio qualification
5 dorks per record.
// site:BUSINESS-DOMAIN -> active website?
// 'COMPANY review 2026' -> recent review tone
// 'site:linkedin.com/company COMPANY' -> social presence
// 'reddit COMPANY review' -> any community signal
// 'COMPANY contact' -> email/phone discoverabilityStep 3: Score each record by signal density
Simple rubric.
// Signal score: has website (1) + recent reviews >=5 (2) + LinkedIn (1) + reachable email/phone (2) + no Reddit complaints (1) = max 7Step 4: Filter to top-N candidates by score
Quality > quantity.
// Top 20% by score = real prospects worth a touchStep 5: Email validate via Hunter
Drop accept-all and disposable.
GET https://api.hunter.io/v2/email-verifier?email={email}&api_key=<key>Step 6: Push to Smartlead/Lemlist for outreach
Standard CSV import.
// CSV: company, website, owner_name, email, phone, signal_score, sourcePython Example
# Per-niche-per-city math: 1K Outscraper records ($3) + 200 qualification queries Scavio ($0.86) + 200 email validations Hunter (~$3-5) = under $10 per cycle of 200 qualified prospects.JavaScript Example
// Same flow in TS via Outscraper + Scavio + Hunter SDKs.Expected Output
200 qualified, signal-scored prospects per niche-city cycle. Replaces ~10 hours of manual research with ~$10 of API calls. The only manual step is reviewing the top-tier list before send.