Google Maps Scraper + Email Extractor & AI Lead Enrichment avatar

Google Maps Scraper + Email Extractor & AI Lead Enrichment

Under maintenance

Pricing

$5.00 / 1,000 leads

Go to Apify Store
Google Maps Scraper + Email Extractor & AI Lead Enrichment

Google Maps Scraper + Email Extractor & AI Lead Enrichment

Under maintenance

Scrape Google Maps businesses, extract & verify emails from their websites, and let AI score which leads to contact first. CRM-ready B2B lead output.

Pricing

$5.00 / 1,000 leads

Rating

0.0

(0)

Developer

AIDevs

AIDevs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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?

  1. 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.
  2. Deduplicates places found across multiple search terms (place ID, domain, phone, name+address keys).
  3. 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.
  4. Verifies discovered emails - syntax, disposable-domain, and MX checks - using the standard verification vocabulary: ok, invalid, disposable, catch_all, unknown, error.
  5. 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.
  6. Scores every lead 0-100 with an A/B/C/D quality band across contactability, commercial fit, digital-presence gap, reputation, and legitimacy.
  7. 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:

EventWhen it's charged
Place scrapedA business record passed your filters
Website crawledA first-party website was successfully crawled
Same-domain email foundA unique same-domain email was discovered
Email verified (decisive)Verification returned ok, invalid, or disposable - non-decisive results are free
AI enrichment producedA valid AI enrichment result was produced
Qualified leadA 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:

FieldPurpose
searchTerms + locationQueryBroad geographic discovery (recommended - covers more than a raw Maps URL)
startUrlsDirect Maps search/place URLs (note: Google caps a single search URL at ~120 results)
minRating, minReviews, skipClosed, categoryFiltersMaps-level filters
crawlWebsite, maxWebsitePages, contactPagePriorityWebsite crawl policy
discoverEmails, verifyEmailsEmail discovery + verification
enableAiEnrichment, aiProvider, aiApiKey, aiPromptProfileAI qualification
requireWebsite, requireEmailOrForm, minLeadQualityScoreCommercial usability filters
webhookUrl, batchIdDownstream automation

Example automations

  • Push A-band leads into HubSpot/Pipedrive via the webhook + Make/n8n.
  • Schedule weekly runs per territory using batchId to 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 + locationQuery for full coverage.
  • Built-in email verification uses DNS/MX checks (no SMTP mailbox probe), so ok means the domain accepts mail, not a guaranteed mailbox.
  • Use of proxies (proxyConfiguration with residential proxies) is strongly recommended for runs above ~100 places.

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).