Google Maps Scraper + Email Extractor & AI Lead Enrichment
Pricing
from $3.50 / 1,000 leads
Google Maps Scraper + Email Extractor & AI Lead Enrichment
Scrape Google Maps businesses, extract & verify emails from their websites, and let AI score which leads to contact first. CRM-ready B2B lead output. $5/1k leads with volume discounts. Works with n8n, Make, LangChain & MCP for AI agents.
Pricing
from $3.50 / 1,000 leads
Rating
0.0
(0)
Developer
AIDevs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Google Maps B2B Lead Finder + Email Verifier + AI Enricher
Turn Google Maps search results into outreach-ready business leads. This Actor searches Google Maps for local businesses, crawls each business website for contact details, discovers and verifies email addresses, runs AI-based qualification, and outputs clean, scored lead objects ready for your CRM, outreach sequences, or downstream automation.
Extract local businesses from Google Maps, discover and verify contact channels, and let AI score which leads are worth contacting first.
What does this Actor do?
- Searches Google Maps by keyword + location (or direct Maps URLs) and extracts place records: name, category, address, phone, website, rating, review count, coordinates, and open/closed status.
- Deduplicates places found across multiple search terms (place ID, domain, phone, name+address keys).
- Crawls each first-party business website (contact, about, and team pages first) and extracts emails (including
mailto:, obfuscated, and JSON-LD sources), phone numbers, contact forms, booking links, and social profiles. - Verifies discovered emails - syntax, disposable-domain, and MX checks - using the standard verification vocabulary:
ok,invalid,disposable,catch_all,unknown,error. - Runs AI enrichment (Anthropic, OpenAI, OpenRouter, or free built-in heuristics): niche classification, website quality score, digital maturity, opportunity tags, pain-point signals, and a one-line personalization hook.
- Scores every lead 0-100 with an A/B/C/D quality band across contactability, commercial fit, digital-presence gap, reputation, and legitimacy.
- Delivers results to the dataset (JSON/CSV/Excel export), a run-summary record, and an optional webhook.
Who is it for?
Lead generation agencies, local SEO and web design agencies, B2B sales teams, franchise expansion and market research teams, and AI workflow builders using n8n, Make, LangChain, or custom APIs.
Quick start
{"searchTerms": ["dentist", "dental clinic"],"locationQuery": "Malmö, Sweden","maxPlaces": 200,"crawlWebsite": true,"verifyEmails": true,"enableAiEnrichment": true,"aiProvider": "none"}
Set aiProvider to anthropic, openai, or openrouter with your own aiApiKey for LLM-grade enrichment, or keep none for free rule-based enrichment.
Output example
{"business": {"name": "Bright Smile Dental","categoryName": "Dentist","address": "Storgatan 1, 211 34 Malmö","phone": "+46 40 123 456","website": "https://brightsmile.se","rating": 4.7,"reviewsCount": 132},"contacts": {"emails": [{"email": "info@brightsmile.se","type": "generic","sameDomain": true,"verification": { "status": "ok", "subResult": "mx_accepts_mail" }}],"contactForms": ["https://brightsmile.se/contact"],"socials": { "facebook": ["https://facebook.com/brightsmile"] }},"ai": {"normalizedNiche": "family dental clinic","digitalMaturityLevel": "medium","websiteQualityScore": 62,"serviceOpportunityTags": ["needs-seo", "no-booking-flow"],"personalizationHook": "Family clinic with strong ratings but no online booking flow.","leadQualityScore": 81},"scoring": {"leadQualityScore": 78,"leadQualityBand": "A","contactabilityScore": 84}}
Three dataset views are provided in the Output tab: Business leads, Contacts, and AI summary. A RUN_SUMMARY record with aggregate metrics is saved to the key-value store.
Pricing (pay per event)
You pay only for what the Actor actually produces:
| Event | When it's charged |
|---|---|
| Place scraped | A business record passed your filters |
| Website crawled | A first-party website was successfully crawled |
| Same-domain email found | A unique same-domain email was discovered |
| Email verified (decisive) | Verification returned ok, invalid, or disposable - non-decisive results are free |
| AI enrichment produced | A valid AI enrichment result was produced |
| Qualified lead | A lead reached the A/B quality band |
Base extraction stays cheap; you opt into website crawling, verification, and AI scoring only when you need them. Cost controls are built in: maxPlaces, maxWebsitePages, maxAiEnrichments, and minLeadQualityScore.
Input reference
See the Input tab for all options. Highlights:
| Field | Purpose |
|---|---|
searchTerms + locationQuery | Broad geographic discovery (recommended - covers more than a raw Maps URL) |
startUrls | Direct Maps search/place URLs (note: Google caps a single search URL at ~120 results) |
minRating, minReviews, skipClosed, categoryFilters | Maps-level filters |
crawlWebsite, maxWebsitePages, contactPagePriority | Website crawl policy |
discoverEmails, verifyEmails | Email discovery + verification |
enableAiEnrichment, aiProvider, aiApiKey, aiPromptProfile | AI qualification |
requireWebsite, requireEmailOrForm, minLeadQualityScore | Commercial usability filters |
webhookUrl, batchId | Downstream automation |
Example automations
- Push A-band leads into HubSpot/Pipedrive via the webhook + Make/n8n.
- Schedule weekly runs per territory using
batchIdto track batches. - Chain with an outreach tool: filter dataset to
verification.status = "ok"and export CSV.
Limitations
- Google Maps markup changes over time; the Actor uses defensive selectors and retries, but extraction coverage can vary. Report issues and we ship fixes.
- A single direct Maps URL search is capped by Google at roughly 120 results; use
searchTerms+locationQueryfor full coverage. - Built-in email verification uses DNS/MX checks (no SMTP mailbox probe), so
okmeans the domain accepts mail, not a guaranteed mailbox. - Use of proxies (
proxyConfigurationwith residential proxies) is strongly recommended for runs above ~100 places.
Legal & compliance
This Actor extracts publicly available business information (not private personal data). Scraping public data is generally legal, but you are responsible for how you use the output: respect GDPR/CAN-SPAM and regional outreach rules, honor takedown requests, and review the target sites' terms of use. Person-level extraction is off by default; the Actor practices data minimization (no raw HTML stored unless you opt in).
Use it in n8n, Make & Zapier (no code)
Use this Actor as the lead-generation step in any no-code workflow. In n8n, add the Apify node (or an HTTP Request node) and call entranced_gelato/google-maps-lead-engine with {"searchTerms": ["dentist"], "locationQuery": "Austin, TX", "maxPlaces": 50, "verifyEmails": true} - every result is a scored, CRM-ready lead record.
n8n workflow 1 - Fresh leads straight into your CRM. Schedule trigger runs the Actor for your niche + city, a Filter node keeps leads with verification.status = "ok" and quality band A/B, and a HubSpot/Pipedrive node creates contacts and companies automatically.
n8n workflow 2 - Weekly outreach queue with AI personalization. Weekly schedule scrapes a new territory, a Code node dedupes against your CRM by website domain, Google Sheets appends the new leads, and Gmail creates draft emails using each lead's personalizationHook field from the AI enrichment.
n8n workflow 3 - Hot-lead alerts in Slack. After each run, a Filter node keeps only A-band leads with a verified email and phone, and Slack posts them to your sales channel for same-day calls.
No Apify node? POST input JSON to https://api.apify.com/v2/acts/entranced_gelato~google-maps-lead-engine/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN from any HTTP node. The same pattern works in Make, Zapier, LangChain, and as an MCP tool for AI agents.