📩📍 Google Maps Email Extractor Pro avatar

📩📍 Google Maps Email Extractor Pro

Pricing

from $1.35 / 1,000 results

Go to Apify Store
📩📍 Google Maps Email Extractor Pro

📩📍 Google Maps Email Extractor Pro

Extract verified emails, phones, and tech stacks from Google Maps businesses. Multi-API fallback chain, DNS/MX validation, confidence scoring, MCP-ready metadata. 3 modes. No paid API keys required for core extraction.

Pricing

from $1.35 / 1,000 results

Rating

0.0

(0)

Developer

Virtual Footprint LLC

Virtual Footprint LLC

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Maps Email Extractor Pro

Apify Version Pricing Platform Modes MCP-ready

Extract verified emails, phones, tech stacks, and confidence-scored business intelligence from Google Maps at scale. Multi-API fallback chain, DNS/MX email validation, and MCP-ready providerHealth metadata on every result.


Why This Actor Is Better

This actor is engineered to outperform every Google Maps email extractor on the Apify Store on reliability, data completeness, output quality, and price.

Competitor comparison

FeatureThis ActorGoogle Maps Scraper (top free)Local Lead ScraperOutscraper
Email extraction
DNS/MX email validation✅ open-source❌ paid add-on
Tech stack detection✅ 16 fingerprints
Confidence score (0-1)✅ every result
Source attribution✅ per-fieldpartialpartial
Provider fallback chain✅ Playwright→HTTP
Cache (KVS)✅ 24h TTL
MCP-ready metadataproviderHealth
Optional Hunter.io / Clearbit✅ user keys
Price / 1K results$1.35free (rate-limited)~$2.50~$3.00

Key Features

  • 🛡️ Multi-API fallback chain — Playwright primary scraper with automatic HTTP fallback. Never fails silently.
  • ✉️ Email extraction + validation — regex extraction from business websites + open-source DNS/MX validation (no paid API required).
  • 🧪 Tech stack detection — 16 fingerprints (Cloudflare, React, WordPress, Shopify, Wix, Magento, GA, GTM, etc.).
  • 📊 Confidence scoring — every result gets a 0.0–1.0 score so you can filter noise.
  • 🔗 Source attribution — know exactly which provider contributed each field (google_maps, website_scraper, dns_validator, hunter_io, clearbit).
  • Cache-first modefast_lookup hits the Apify KVS cache for <800ms responses.
  • 🤖 MCP-ready — every result carries providerHealth{} so MCP agents can route around failed providers.
  • 🔌 Optional paid enrichment — drop in HUNTER_API_KEY / CLEARBIT_API_KEY env vars for higher match rates. Disabled by default.
  • 💰 Transparent PPE pricing — pay only for successful results, no subscription.

Architecture

flowchart TD
A[Input: queries[] + mode] --> B{Cache hit?}
B -- yes --> C[Return cached base results]
B -- no --> D[Primary: Google Maps Playwright scraper]
D -- fails --> E[Fallback: Google Maps HTTP search]
D -- ok --> F[Parse business listings]
E --> F
F --> G[Parallel website contact scraper]
G --> H[Enrichment layer]
H --> H1[DNS/MX email validation]
H --> H2[Tech stack fingerprinting]
H --> H3[Social profile extraction]
H --> H4[Optional: Hunter.io / Clearbit]
H1 --> I[Confidence scoring + source attribution]
H2 --> I
H3 --> I
H4 --> I
I --> J[Progressive dataset push]
J --> K[Webhook + MCP-ready metadata]
C --> K

Data flow: Input → Cache check → Primary scraper (fallback on failure) → Parallel website enrichment → DNS/MX validation → Tech stack detection → Optional paid enrichment → Confidence scoring → Progressive dataset push → Webhook delivery.

Every result includes providerHealth{} tracking per-provider status, latency, and errors — making this actor safe to call from MCP agents that need to route around failures.


Modes

ModeDescriptionTarget latencyUse case
fast_lookupCache-first, base results only<800ms cachedQuick lookups, deduplication
enrichFull multi-provider enrichment~3-8s/resultLead generation, sales enrichment
batchQueue-based, full enrichment, per-item isolationvariesLarge query lists (100+ queries)

Input

ParameterTypeRequiredDefaultDescription
modestringenrichfast_lookup | enrich | batch
queriesarray["restaurants in New York"]Search queries or business names
maxResultsinteger25Max listings per query (1–1000)
extractEmailsbooleantrueEnable email extraction from websites
verifyEmailsbooleanfalseValidate emails via open-source MX/DNS (~3s/email)
extractPhonesbooleantrueExtract phone numbers
extractSocialMediabooleantrueExtract Facebook/Instagram/Twitter/etc. links
includeTechStackbooleantrueDetect website technologies
includeReviewsbooleantrueInclude rating + review count
languagestringenSearch language code
countrystringusSearch country code
webhookUrlstringWebhook for completion notification

Example input

{
"mode": "enrich",
"queries": ["plumbers in Austin TX", "dentists in Miami FL"],
"maxResults": 50,
"verifyEmails": true,
"includeTechStack": true,
"webhookUrl": "https://your-app.com/webhook"
}

Output

Results are stored in the Apify dataset as structured JSON. See .actor/output_schema.json for the canonical schema.

FieldTypeDescription
querystringInput query that produced this result
namestringBusiness name
addressstringBusiness address
ratingstringAverage rating (e.g. "4.7")
reviewCountstringNumber of reviews
googleMapsUrlstringGoogle Maps place URL
websitestring | nullBusiness website URL
emailsarrayExtracted + validated email addresses
phonesarrayExtracted phone numbers
socialMediaarraySocial profile links
techStackarrayDetected technologies
companyInfoobject | nullClearbit company data (if key provided)
confidenceScorenumber0.0–1.0 reliability score
sourcesarrayProvider attribution (google_maps, website_scraper, dns_validator, hunter_io, clearbit)
providerHealthobjectPer-provider status/latency/error for MCP routing
cacheStatusstringhit | miss | degraded
modestringExecution mode used
extractedAtstringISO timestamp

Example output

{
"query": "plumbers in Austin TX",
"name": "ABC Plumbing Co",
"address": "123 Main St, Austin, TX 78701",
"rating": "4.8",
"reviewCount": "342",
"googleMapsUrl": "https://www.google.com/maps/place/...",
"website": "https://abcplumbing.com",
"emails": ["info@abcplumbing.com", "service@abcplumbing.com"],
"phones": ["+1 512-555-0100"],
"socialMedia": ["facebook.com/abcplumbing", "instagram.com/abcplumbing"],
"techStack": ["WordPress", "Cloudflare", "Google Analytics", "jQuery"],
"confidenceScore": 0.9,
"sources": ["google_maps", "website_scraper", "dns_validator"],
"providerHealth": {
"google_maps_playwright": {"status": "ok", "latency_ms": 4200, "error": null},
"website_scraper": {"status": "ok", "latency_ms": 1800, "error": null},
"dns_validator": {"status": "ok", "latency_ms": 900, "error": null}
},
"cacheStatus": "miss",
"mode": "enrich",
"extractedAt": "2026-06-28T23:30:00.000Z"
}

Pricing

Transparent pay-per-event (PPE) pricing. You only pay for successful results.

PlanPrice per 1K resultsSavings vs. top competitor
Leading competitors~$1.82/1K
This actor (≤10K results/mo)$1.35/1K26% cheaper
This actor (10K–100K/mo)$1.20/1K34% cheaper
This actor (100K+/mo)$1.00/1K45% cheaper

Volume discounts apply automatically based on monthly usage. A small one-time Actor Start fee ($0.00005) applies per run. Optional enrichment events:

EventPriceWhen charged
email_found$0.20/1KPer verified email with MX/DNS validation
tech_stack_found$0.10/1KPer business with detected tech stack

No monthly subscription required. No paid API keys required for core extraction.


Use Cases

  • B2B lead generation — build local prospect lists with verified emails and phones
  • Sales enrichment — append emails, tech stacks, and social profiles to existing account lists
  • Agency prospecting — find businesses by category and city at scale for outreach campaigns
  • Market research — map business density, ratings, and technology adoption by region
  • CRM hygiene — update stale records with current website, contact, and tech stack data
  • MCP agent workflows — call from LLM agents; providerHealth lets agents route around failures
  • Competitive intelligence — track which CMS/frameworks competitors use via tech stack detection
  • Local SEO audits — identify businesses missing websites or with outdated tech stacks

Integration Examples

Python (Apify SDK)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("ayeeyee/google-maps-email-extractor-pro").call(run_input={
"mode": "enrich",
"queries": ["plumbers in Austin TX"],
"maxResults": 50,
"verifyEmails": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']}: {item['emails']} (confidence: {item['confidenceScore']})")

cURL

curl -X POST "https://api.apify.com/v2/acts/ayeeyee~google-maps-email-extractor-pro/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"enrich","queries":["dentists in Miami FL"],"maxResults":25}'

Zapier / n8n / Make.com

  1. Add an HTTP Request or Apify module.
  2. Use actor ID ayeeyee/google-maps-email-extractor-pro.
  3. Map your trigger output to the queries input array.
  4. Consume the dataset items in the next step.

MCP (Model Context Protocol)

This actor is MCP-ready. Register it via @apify/actors-mcp-server:

$npx -y @apify/actors-mcp-server --tools actors,ayeeyee/google-maps-email-extractor-pro

Agents can then call call-actor with the input above and use providerHealth + confidenceScore to route around failed providers.


FAQ

Q: Do I need any paid API keys? No. Core extraction (Google Maps scraping, website email extraction, DNS/MX validation, tech stack detection) is fully open-source. Optional Hunter.io / Clearbit enrichment only runs if you set HUNTER_API_KEY / CLEARBIT_API_KEY environment variables.

Q: How accurate are the emails? Emails are extracted via regex from business websites and optionally validated via DNS/MX records. Enable verifyEmails: true for MX validation (~3s/email). For higher match rates, provide a Hunter.io key.

Q: What's the difference between the three modes?

  • fast_lookup — cache-first, returns base Google Maps data in <800ms on cache hit. No enrichment.
  • enrich — full pipeline: scrape → website contacts → email validation → tech stack → confidence score.
  • batch — queue-based processing for large query lists with per-item error isolation.

Q: How does the fallback chain work? If the primary Playwright scraper fails (blocked, timeout, no results), the actor automatically falls back to a lightweight HTTP search. The providerHealth field on every result shows which providers succeeded/failed and their latency.

Q: Can I call this from an LLM agent? Yes. The actor is MCP-ready. Every result includes providerHealth{} and confidenceScore so agents can make routing decisions. Register it via @apify/actors-mcp-server.

Q: What is the cache TTL? 24 hours. Cached results in fast_lookup mode return in <800ms. Enrichment results are not cached (always fresh).

Q: Is this legal? Yes. This actor scrapes publicly available business listing data from Google Maps. See the Legal & Compliance section below.

Q: How do volume discounts work? Pricing automatically drops as your monthly usage increases: $1.35/1K (≤10K/mo) → $1.20/1K (10K–100K/mo) → $1.00/1K (100K+/mo).


This actor scrapes publicly available business listing data from Google Maps. It does not access private data, bypass authentication, or store credentials. Users are responsible for complying with applicable data protection laws (GDPR, CCPA, etc.) and Google's Terms of Service.

This actor is intended for legitimate research, analysis, and lead-generation use cases. It must not be used for spam, harassment, or unlawful activity.


AI-DLC / Data Lifecycle

This actor follows AI-DLC principles for ethical data handling:

  • Collection — Public data only; respects robots.txt and rate limits.
  • Processing — In-memory normalization; no PII logging.
  • Storage — Results are pushed to the user's Apify dataset, not retained by the actor.
  • Usage — Designed for analysis, enrichment, and legitimate outreach.
  • Disposal — No long-term caching of user data between runs (cache TTL 24h for base results only).

Enhancement Roadmap (API / MCP Integrations)

  • Hunter.io / Apollo.io email enrichment MCP — higher match rates via paid email-finder APIs (optional, user keys)
  • Clearbit logo/revenue enrichment — company firmographics for lead scoring (optional, user keys)
  • URLbox / Browserless screenshot MCP — visual prospecting with website screenshots
  • LangGraph conditional workflow — multi-step: Google Maps → LinkedIn → AI scoring (see multi-api-orchestration-spec.md)
  • Vector store integration — semantic deduplication across runs

Changelog

  • v2.0 — Multi-API orchestration edition: added provider fallback chain (Playwright→HTTP), MCP-ready providerHealth metadata, optional Hunter.io/Clearbit enrichment, 16 tech stack fingerprints, expanded FAQ, integration examples, volume pricing tiers.
  • v1.1 — Premium README, full output schema, AI-DLC documentation, confidence scoring, source attribution.
  • v1.0 — Initial release with core scraping, structured output, confidence scoring, pay-per-event pricing.