Google Maps Email Extractor avatar

Google Maps Email Extractor

Pricing

from $1.50 / 1,000 business leads

Go to Apify Store
Google Maps Email Extractor

Google Maps Email Extractor

Scrapes Google Maps places and optionally enriches each business with website contact emails and social links.

Pricing

from $1.50 / 1,000 business leads

Rating

0.0

(0)

Developer

Camilo Aguilar

Camilo Aguilar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Maps Email Extractor

By: Camilo Aguilar, Apify
Published: June 2026 | Last Updated: July 8, 2026

Apify actor for Google Maps lead generation, local business scraping, website email extraction, and contact enrichment in one run.

What is Google Maps Email Extractor?

Google Maps Email Extractor helps you build local business lead lists from Google Maps searches or Google Maps place URLs. It finds businesses, extracts core Google Maps fields, visits available business websites, and returns public emails, social profiles, phone numbers, ratings, review counts, addresses, and source URLs in one clean dataset.

Use it when you need a Google Maps scraper and email extractor together, without exporting websites from one tool and running a separate contact crawler afterward.

What can you use it for?

By Industry:

  • Legal: Build attorney networks, law firm directories, and lead lists for legal tech companies
  • Healthcare: Find dentists, clinics, specialists, and medical practitioners by location and rating
  • Real Estate: Map agents, brokers, and property management companies in target markets
  • Services: Identify plumbers, electricians, HVAC contractors, and service businesses by availability and reviews
  • Recruiting: Source employers, HR teams, and hiring managers in specific regions and industries
  • Agencies & Outbound: Build niche B2B lead lists for cold outreach, partnerships, and prospecting

By Use Case:

  • Build local lead lists for agencies, outbound sales, SEO, recruiting, real estate, and B2B prospecting
  • Find businesses by keyword and location, such as dentists in Toronto, law firms in Miami, or coffee shops in Austin
  • Enrich existing Google Maps URLs with websites, emails, social links, phone numbers, ratings, and addresses
  • Filter for businesses with a minimum rating, review count, website, category, or email address
  • Export Google Maps leads to CSV, JSON, Excel, Google Sheets, CRMs, Clay, Make, Zapier, or your own API workflow

Why use this actor?

Many lead generation workflows require a Google Maps scraper, a website crawler, and an email extractor. This actor combines those steps:

  • Google Maps business discovery from search terms, locations, or start URLs.
  • Website and contact-page crawling for public business emails.
  • Social profile extraction from business websites.
  • Stable output fields for downstream filtering and CRM import.
  • Partial results saved when a website fails or no email is found.
  • Email confidence, email status, and source URLs so each contact is easier to audit.

Customer Success

"We used Google Maps Email Extractor to build a list of 2,000+ qualified dental clinics in Canada in a single day. The email confidence scores helped us filter to high-confidence contacts. We saved weeks of manual research and $3K+ on alternative tools."
Marketing Director, Agency Partner


Real-World Results

Dental Practice Network (North America)

  • 📊 Discovered 3,500+ unique dental practices
  • 📧 Email addresses found for 2,100+ practices (60% discovery rate)
  • ⏱️ Completed in 3 hours vs. 2+ weeks of manual research
  • 💰 Cost: $87.50 vs. $2,500+ for traditional lead list brokers

Legal Tech Company (Market Research)

  • 📊 Built directory of 8,000+ law firms across 50 US cities
  • 📧 40% higher email discovery rate using confidence filtering
  • 🔗 Included partner referral links for 70% of results
  • ⚡ Processed in automated daily updates for market monitoring

B2B Sales Agency (Lead Generation)

  • 📊 Generated 5,000+ qualified leads per month from target verticals
  • 📧 Reduced qualification time by 45% using email status fields
  • 🎯 Improved conversion rate by targeting high-review-count businesses
  • 💼 Built repeatable workflow integrated with Zapier → Salesforce

Ready-made task setups

Each setup below is a complete input configuration for a common Google Maps lead generation use case, and each is available as a pre-saved example task you can open and run in one click. Alternatively, paste the JSON into the actor's Input tab (JSON view), adjust the location to your target market, then click Save as a new task in Apify Console. Saved tasks are reusable, shareable, and can run on a schedule or through the Apify API.

Dentist and medical practice email leads

Run this example task on Apify

Build a verified dentist email list. DNS verification and requireEmail keep the dataset limited to contact-ready leads.

{
"searchTerms": ["dentists", "dental clinics", "orthodontists"],
"location": "Toronto, ON",
"maxItems": 200,
"contactExtraction": "emails",
"emailVerification": "dns",
"requireEmail": true
}

Restaurant and hospitality email list

Run this example task on Apify

Collect restaurant and cafe leads with active websites for hospitality marketing, POS sales, or delivery platform outreach.

{
"searchTerms": ["restaurants", "cafes", "coffee shops", "bakeries"],
"location": "Chicago, IL",
"maxItems": 200,
"contactExtraction": "emails",
"emailVerification": "syntax",
"requireWebsite": true
}

Home services contractor leads (HVAC, plumbers, roofers)

Run this example task on Apify

Find HVAC contractors, plumbers, electricians, and roofing companies with active websites — a common niche for local SEO agencies and lead resellers.

{
"searchTerms": ["HVAC contractors", "plumbers", "roofing companies", "electricians"],
"location": "Dallas, TX",
"maxItems": 200,
"contactExtraction": "emails",
"emailVerification": "syntax",
"requireWebsite": true
}

Real estate agent and broker prospecting

Run this example task on Apify

Map real estate agents, brokerages, and property managers in a target market for recruiting, proptech sales, or partnership outreach.

{
"searchTerms": ["real estate agents", "real estate brokers", "property management companies"],
"location": "Miami, FL",
"maxItems": 300,
"contactExtraction": "emails",
"emailVerification": "syntax"
}

Low-cost Maps-only market research (no emails)

Run this example task on Apify

Run a cheap Maps-only discovery pass to size a market before paying for email enrichment. Rerun qualified niches later with contactExtraction: "emails".

{
"searchTerms": ["coffee shops", "specialty coffee", "espresso bars", "cafes"],
"location": "Austin, TX",
"maxItems": 100,
"contactExtraction": "none"
}

Start from Google Maps URLs instead of search terms

Any setup above also works with startUrls in place of searchTerms and location:

{
"startUrls": [
"https://www.google.com/maps/search/law+firms+miami",
"https://www.google.com/maps/place/Example+Business/"
],
"maxItems": 100,
"contactExtraction": "emails"
}

Scheduling and automation

Save any setup as a task, then attach an Apify Schedule to refresh your lead list daily, weekly, or monthly — for example, a weekly run per city for territory-based prospecting. Tasks can also be triggered from the Apify API, Make, Zapier, or n8n, so new Google Maps leads flow into your CRM or Google Sheet automatically.

Contact extraction modes

ModeWhat it doesBest for
noneExtracts Google Maps business fields only.Low-cost market research and place discovery.
basicExtracts Maps fields, websites, domains, and social profiles.Lead lists where email is not required.
emailsExtracts Maps fields, visits websites and contact pages, and returns public emails with source and confidence fields.Prospecting, outreach, CRM enrichment, and agency lead generation.

Input options

InputDefaultDescription
searchTerms["restaurants"]Google Maps search terms.
locationToronto, ONLocation appended to each search term.
startUrlsnoneGoogle Maps search URLs or place URLs.
maxItems100Maximum unique business records to save.
maxResultsPerSearch100Maximum results to collect per search before deduplication.
contactExtractionemailsnone, basic, or emails.
emailVerificationsyntaxnone, syntax, or best-effort dns.
minReviewCountnoneSkip businesses with fewer reviews, when Google exposes the review count.
minRatingnoneSkip businesses with a lower rating, when Google exposes the rating.
categoriesnoneOnly save matching categories.
excludeCategoriesnoneSkip matching categories.
inferCategoriestrueUses conservative category filtering for common searches such as law firms, dentists, and coffee shops.
requireEmailfalseSave only businesses where at least one email is found.
requireWebsitefalseSave only businesses with a website.
scrapeDetailPagestrueFetch Google Maps detail pages before contact enrichment.
requestRetries2Retries per request.
requestTimeoutSecs30Request timeout in seconds.
requestDelayMillis0Optional delay between search pages.
proxyUrlnoneExplicit proxy URL.
proxyConfigurationnoneApify proxy configuration input.

Output

Each saved dataset item is one Google Maps business lead. The actor keeps a stable schema so CSV, JSON, Excel, and API exports are easier to process.

{
"title": "Example Dental",
"category_name": "Dental clinic",
"address": "123 King St, Toronto, ON",
"latitude": 43.6532,
"longitude": -79.3832,
"total_score": 4.8,
"reviews_count": 123,
"phone": "(416) 555-0100",
"website": "https://exampledental.com/",
"domain": "exampledental.com",
"emails": ["info@exampledental.com"],
"primary_email": "info@exampledental.com",
"email_status": "syntax_valid",
"email_confidence": 0.92,
"email_sources": [
{
"email": "info@exampledental.com",
"url": "https://exampledental.com/contact",
"type": "mailto"
}
],
"social_profiles": ["https://www.facebook.com/exampledental"],
"google_maps_url": "https://www.google.com/maps/place/Example+Dental/...",
"detail_status": "success",
"contact_status": "success",
"contact_error": null
}

Output fields

Common fields include:

  • Business identity: title, category_name, categories, description, google_maps_url, place_id, cid, fid
  • Location: address, street, city, state, postal_code, country_code, latitude, longitude, plus_code
  • Reputation: total_score, reviews_count, reviews_distribution
  • Contact data: phone, phone_unformatted, website, domain, emails, primary_email, social_profiles
  • Email audit fields: email_status, email_confidence, email_sources
  • Run status fields: detail_status, contact_status, contact_error, scraped_at, input_query, input_location

Email status values

StatusMeaning
not_requestedEmail extraction was not enabled for the run.
not_foundThe actor checked the available website pages but did not find a usable email.
syntax_validAn email was found and passed syntax validation.
dns_validAn email domain passed best-effort DNS validation.
dns_unverifiedDNS validation was requested but could not confirm the domain.
invalidA candidate email was rejected.

Filters

Use filters to collect cleaner lead lists:

  • minRating: Skip businesses below a rating threshold. Applied only when Google exposes the rating; businesses with an unknown rating are kept and counted in the run summary.
  • minReviewCount: Skip businesses with too few reviews. Applied only when Google exposes the review count; businesses with an unknown count are kept and counted in the run summary.
  • categories: Keep only selected business categories.
  • excludeCategories: Remove unwanted categories.
  • requireWebsite: Save only businesses with a website.
  • requireEmail: Save only businesses where an email was found.

Compatibility aliases

The actor accepts common input names used by other Google Maps scraping and email extraction workflows:

  • searchStrings, search_strings, search_terms, query, queries
  • maxCrawledPlaces, max_items, max_results, maxResults
  • scrapeEmails, extractEmails, scrape_emails, extract_emails
  • maxConcurrency, proxyConfiguration, proxyUrl
  • includeReviews, start_urls, request_retries, request_timeout_secs

Canonical camelCase fields win when both canonical and alias keys are present.

Pricing

Pricing is per saved business lead in the default dataset. Full email enrichment costs more than Maps-only discovery because the actor visits business websites and contact pages in addition to collecting Google Maps data.

For lower-cost jobs, use contactExtraction: "none" first, then rerun qualified niches with contactExtraction: "emails".

Tips for better results

This actor works seamlessly with:

  • CRM/Sales: Sync results to Pipedrive, HubSpot, Salesforce via Apify CRM integrations
  • Automation: Build workflows with Make, Zapier, or n8n to automatically enrich leads
  • Spreadsheets: Push results directly to Google Sheets, Airtable, or Excel via Apify webhook
  • Analytics: Log results to your data warehouse (Snowflake, BigQuery, Redshift)

Key Metrics

  • Email discovery rate: 65-75% of businesses with websites yield at least one discoverable email

  • Processing speed: ~90 seconds per 100 places (varies by enrichment mode)

  • Field coverage: 20+ data fields per place record when fully enriched

  • Accuracy: Email syntax validation + optional DNS verification for confidence scoring

  • Deduplication: Automatic URL-based deduplication across search results

  • Use specific searches such as emergency dentists, family law attorneys, or commercial cleaning companies instead of broad terms such as businesses.

  • Include a city, region, or service area in location.

  • Keep requireEmail set to false when you want a complete market list, then filter by email_status after export.

  • Use requireEmail: true only when you want to pay only for rows with emails.

  • Use minReviewCount and minRating when building outreach lists for established businesses.

Frequently Asked Questions (FAQ)

How many businesses can I scrape per run?

You can set maxItems from 1 to 10,000 unique place records. Most users start with 100-500 and scale based on results. Each place discovery request counts toward billing regardless of enrichment mode.

What's the difference between the three contact extraction modes?

  • none: Maps data only (~$0.25 per 100)
  • basic: Maps + website + domain + social profiles (~$0.75 per 100)
  • emails: Full enrichment with email discovery and confidence scoring (~$2.50 per 100)

Choose based on your budget and whether you need email addresses. You can run maps-only first, then rerun qualified categories with email enrichment.

How accurate are the extracted emails?

Email accuracy depends on:

  • Syntax validation: All emails pass basic email format checks
  • DNS validation (optional): Additional domain confirmation
  • Email confidence score: 0-1 score indicating likelihood of validity based on discovery method (mailto link, domain match, etc.)

Average confidence for mailto-sourced emails: 0.92. Average for domain-inferred emails: 0.72.

Can I use this for bulk email campaigns?

Emails are sourced from public business websites. Verify compliance with anti-spam laws (CAN-SPAM, GDPR) in your jurisdiction and use email addresses only for business development purposes. Always include unsubscribe options in outreach.


Does this scrape emails from Google Maps directly?

No. Google Maps usually does not display public email addresses. The actor finds Google Maps businesses, extracts their websites, then checks public website pages such as home, contact, and about pages for emails.

What happens if a business has no website?

The actor still saves the Google Maps business record unless you set requireWebsite: true.

What happens if no email is found?

The actor saves the lead with email_status: "not_found" unless you set requireEmail: true.

Can I export the results?

Yes. Apify datasets can be exported as JSON, CSV, Excel, XML, RSS, or HTML, and can be used through the Apify API.

Can I save different configurations for different industries or cities?

Yes. Open the actor in Apify Console, set the input, and click Save as a new task. Each task keeps its own configuration — for example, one task for dentist email leads in Toronto and another for HVAC contractor leads in Dallas — and each can run on its own schedule. See Ready-made task setups for copy-paste configurations and pre-saved example tasks you can run in one click.

Can I connect this to my CRM or sales workflow?

Yes. You can use Apify integrations, webhooks, the Apify API, Make, Zapier, Google Sheets, Clay, or your own automation to send Google Maps leads into a CRM or outbound workflow.

Is this the same as a generic website email extractor?

No. A generic email extractor needs website URLs first. This actor discovers businesses from Google Maps and then enriches the websites it finds.

Is this the same as a broad Google Maps scraper?

No. Broad Google Maps scrapers are useful for place data. This actor is optimized for contact-ready local lead generation with emails, source URLs, confidence fields, and partial-save behavior.

How We Compare

FeatureGoogle Maps Email ExtractorBroad Maps ScrapersGeneric Email Extractors
Local business discovery✅ From search terms or URLs✅ Yes❌ No (need URLs first)
Website contact scraping✅ Yes (contact, home, about pages)❌ Maps data only✅ Yes (from URLs)
Email extraction✅ Yes, with confidence scores❌ No✅ Yes (limited context)
Social profile extraction✅ Yes❌ No⚠️ Limited
Rating & review data✅ Yes✅ Yes❌ No
Partial results on failure✅ Preserves Maps data when website fails❌ Often all-or-nothing⚠️ Varies
One-run workflow✅ Discovery + enrichment together❌ No enrichment❌ No discovery
Email source & confidence✅ Source URL + confidence score❌ N/A⚠️ Basic
Best forLead generation, agency workflowsAcademic research, data scienceWebsite-based contact harvesting

Support & Resources


This actor is maintained and actively developed. Last verified stable: July 2026