🔍 Local Lead Scanner — by GuardLabs
The actual Python tool we use at GuardLabs to fill our Care funnel. Scans Google Maps for cafes, clinics, lawyers, shops, and photographers — finds the ones with no site or a broken site — sends them targeted cold email.
Get for $79 lifetime → See how it works500 lines. Python 3.10+. No Docker, no Postgres, no Redis. Runs on a $5 VPS or your laptop.
Dallas, Atlanta, Phoenix, Toronto, Calgary, London, Dublin, Austin, Miami. Add more in 2 minutes (just lat/lon bbox).
cafe / clinic / lawyer / shop / portfolio — each maps to curated OSM & Places categories. Add your own.
OpenStreetMap Overpass API — no keys, no billing. Catches 50-70% of US/CA/EU local businesses.
Plug in your Google Cloud Service Account → 90% phone rate, 30%+ email rate. $0.017/call, $300 trial covers 17K.
Plug in your Gmail App Password → personalized templated emails go out. Rate-limited 30/day for anti-spam.
For a freelancer or agency selling websites/hosting at $200-500:
| Stage | Rate |
|---|---|
| POIs scanned | 200 |
| Broken-site leads | ~30 (15%) |
| Leads with email | ~10 (10-30% with Places enrichment) |
| Email open rate | 40-60% |
| Reply rate (positive) | 1-3% of opens |
| Close rate on positive replies | 25-35% |
| Sales per 1000 emails sent | 3-8 |
Cron at 28 emails/day = 840/month = 3-8 sales/month. Pricing your service at $300+ pays back the tool in week one.
Full script + 12 months of updates. Use as long as you want.
After year 1 — for ongoing updates as Google APIs evolve, new city presets, anti-spam improvements.
Yes — public business emails (from Google Maps, contact pages) are fair game for B2B outreach in the US, CA, EU under CAN-SPAM / GDPR §47 / CASL §6(8). The tool includes a soft unsubscribe ("reply 'no thanks'") and rate-limits to 30/day per outbox to stay below spam-trap thresholds. You're responsible for your own compliance — set SPF/DKIM, warm up your Gmail, don't add purchased lists.
Not at 30/day with proper warm-up. The tool enforces this limit. For higher volume, run multiple Gmail accounts in parallel (one DB instance per account). For 100+/day, switch to a transactional service (SES, Mailgun) — the script is SMTP-agnostic.
Edit the email template in config.json. Sell SEO services, social-media management, photography, anything that helps a local business with their online presence. The 6 issue types (no_site, down, ssl_invalid, no_https, 4xx, 5xx) are universal pain.
Those find emails for any business. This finds businesses where the website is broken — much higher buyer intent. Combine both for max yield. The script has hooks for adding Hunter.io as an enrichment step.
Optional. OSM-only mode is free and finds plenty of leads. Google Places improves phone rate from ~10% to ~90% and email rate proportionally. New Google Cloud accounts get $300 free credit (covers 17K Places calls).
Add it to CITY_BBOX in 2 lines: just lat/lon corners. Google "city name bbox" — done.
No. Personal/business use license — sell as many websites/services to as many leads as you want, but don't repackage and resell the script itself. We use it internally too.
GuardLabs runs the same tool to find leads for our $240/yr Website Care service. We don't ship anything we don't run ourselves.
Get for $79 lifetime →