Local Lead Qualifier — Google Maps + AI Scoring
Pricing
from $110.00 / 1,000 lead qualifieds
Local Lead Qualifier — Google Maps + AI Scoring
Search Google Maps for a niche and location, then use Claude to score each business as a sales lead based on their web presence and draft a ready-to-send outreach line for the hot ones.
Pricing
from $110.00 / 1,000 lead qualifieds
Rating
0.0
(0)
Developer
Cong
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
Stop paying for raw lead lists. Get pre-qualified leads with a reason and an opening line already written.
Local Lead Qualifier searches Google Maps for a niche + location (e.g. "roofers in Denver, CO"), checks each business's actual web presence, and uses Claude to score every business as hot / warm / cold against the service you're selling — plus a ready-to-send outreach line. Built for agencies and freelancers selling to local businesses (web design, SEO, ads management, anything where "weak or missing website" is the buying signal).
Why this instead of a generic Maps scraper
Raw Google Maps scrapers hand you a spreadsheet of names and phone numbers — you still have to manually check every website and decide who's worth calling. This Actor does that triage for you:
- Scrapes the listing (name, category, rating, phone, website)
- Fetches the business's actual homepage and checks it for weak signals (no site, no SSL, no mobile viewport, no analytics, stale copyright year)
- Sends those signals + your service description to Claude, which returns a score, a one-sentence reason, and a non-generic outreach line
- Skips businesses already flagged in a previous run, so repeat runs only surface new leads
Quickstart
1. Describe what you sell
In What You Sell, be specific — this is what the AI scores against:
"We build fast, mobile-friendly websites for local service businesses, $1,500 flat fee."
2. Add your Anthropic API key
Get one at console.anthropic.com → API Keys → Create key. Stored as a secret.
3. Configure searches
[{ "query": "roofing contractors in Denver, CO", "maxResults": 20 },{ "query": "family dentists in Austin, TX", "maxResults": 20 }]
4. Turn on a Residential proxy
Google Maps applies bot detection to datacenter IPs — use Apify Residential Proxies in the Proxy Configuration field. Without one, runs will frequently get blocked or CAPTCHA'd.
5. Connect Slack (optional)
Same as any Apify Incoming Webhook setup — paste the URL into Slack Webhook URL to get a digest of new hot leads per search.
Output
One dataset record per qualified lead:
{"searchQuery": "roofing contractors in Denver, CO","scoredAt": "2026-07-31T14:00:00.000Z","listing": {"name": "Peak Roofing Co","category": "Roofing contractor","address": "123 Main St, Denver, CO","phone": "(303) 555-0100","website": null,"rating": 4.6,"reviewCount": 82,"mapsUrl": "https://www.google.com/maps/place/..."},"websiteSignals": {"hasWebsite": false,"isReachable": false,"hasSsl": false,"hasMobileViewport": false,"hasAnalytics": false,"copyrightYear": null,"loadErrorMessage": null},"leadScore": {"score": "hot","reason": "82 reviews at 4.6 stars but no website at all — strong local reputation with no digital front door.","outreachLine": "Peak Roofing Co has 82 five-star-ish reviews on Google but no website — happy to show you what a $1,500 site could do for calls booked."},"isNewLead": true}
Pricing guidance
Billed per business scored (pay-per-result recommended — see Apify's pricing setup when publishing). Each result costs roughly one Claude Haiku call plus one lightweight HTTP fetch, so cost scales with maxResults × number of searches.
Known limitations
- Requires a residential proxy for reliable results — Google Maps blocks datacenter IPs aggressively.
- Website signal checks are HTTP-only, not a full browser render — this is intentional (keeps cost and run time down across hundreds of businesses) but means JS-only sites may look weaker than they are.
- Google's Maps DOM changes over time. If listing scraping starts returning empty results, the CSS/attribute selectors in
src/mapsScraper.tsneed an update — same maintenance profile as any Maps scraper on the platform. - Dedup state is per-Actor, not per-run — disable "Skip Leads Already Flagged" if you want a full re-score every time.
Architecture
Playwright (headless Chrome, residential proxy) → Google Maps listings→ HTTP fetch of business homepage → website quality signals→ Claude Haiku (lead scoring + outreach line)→ Apify KV Store (seen-lead dedup)→ Slack Block Kit digest (hot leads only)→ Apify Dataset (full run archive)

