Google Maps Email Extractor
Pricing
from $3.00 / 1,000 place founds
Google Maps Email Extractor
Extract business emails from Google Maps at scale. Search by keyword + city, get verified emails plus name, phone, website, address, rating, and social links. Email-first โ filter to places with email in one click. Pay only when an email is actually found. No login, no setup, no subscription.
Pricing
from $3.00 / 1,000 place founds
Rating
0.0
(0)
Developer
Khadin Akbar
Actor stats
0
Bookmarked
3
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
๐ฉ Google Maps Email Extractor โ Find Business Emails by Keyword + City
Extract verified business emails from Google Maps at scale. Enter a keyword (like dentists, real estate agents, plumbers) and a city โ get a CRM-ready list of businesses with email, phone, website, address, category, rating, and social links. Email-first: pay only when a verified email is found, and one-click filter to drop places without emails.
What does Google Maps Email Extractor do?
Google Maps Email Extractor searches Google Maps for any business type in any city, opens each place, and then visits the business website to extract the publicly listed email address. You get a flat, CRM-ready record per business โ ideal for cold email campaigns, agency prospecting, local lead lists, and market research.
This actor runs on the Apify platform โ so you get API access, scheduled runs, Zapier/Make integrations, residential proxy rotation, run monitoring, and export to CSV / JSON / Excel out of the box. No login, no subscription, no Google Maps API key needed.
๐ Quick output example
{"business_name": "ONE Dental Miami","email": "info@onedentalmiami.com","phone": "+1 305-555-0123","website": "https://onedentalmiami.com","full_address": "789 Brickell Ave, Miami, FL 33131, USA","category": "Dental clinic","rating": 4.9,"review_count": 218,"facebook": "https://facebook.com/onedentalmiami","instagram": "https://instagram.com/onedentalmiami","linkedin": null,"twitter": null,"latitude": 25.7617,"longitude": -80.1918,"google_maps_url": "https://www.google.com/maps/place/...","place_id": "0x88d9b...:0x3f7...","is_permanently_closed": false,"scraped_at": "2026-04-24T12:33:20.286Z","source_query": "dentists in Miami, FL"}
๐ต Pricing
Pay-per-event. No subscription.
| Event | Price |
|---|---|
| Actor start | $0.00005 (charged once per run per GB RAM) |
| Place found | $0.003 per business extracted |
| Email found | $0.005 per verified email (charged only when email is actually found โ no charge for empty enrichment) |
Typical cost: scraping 100 dentists in Miami with ~60% email hit rate = 100 ร $0.003 + 60 ร $0.005 = $0.60/run. Want only records with email? Turn on "Only return businesses with an email" โ you still pay per place scanned, but the output contains only valid leads.
Why use Google Maps Email Extractor?
- Sales prospecting: build targeted B2B cold-email lists by niche + city.
- Agency lead generation: compile local business lists for client campaigns.
- Market research: see who the active players are in any local category.
- CRM enrichment: append emails and socials to existing business databases.
- Local SEO / competitive analysis: collect ratings, review counts, and websites in a geographic area.
How to use Google Maps Email Extractor
- Open the actor and click Start to try the default (
dentists in Miami, FL). - Change the Search keyword to your niche โ e.g.
real estate agents,plumbers,yoga studios. - Change City / region to your target market โ
Austin, TX,London, UK,Berlin, Germany. - Set Max businesses to extract (20 is a good first run; scale up from there).
- (Optional) Toggle Only return businesses with an email to filter output to leads with verified emails.
- (Optional) Set Minimum Google rating to focus on higher-quality businesses.
- Click Start โ results stream to the Dataset tab as they're extracted.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | string | dentists | Business keyword or niche |
location | string | Miami, FL | City, region, or country |
maxResults | integer | 20 | Max businesses to extract (1 to 2,000) |
skipWithoutEmail | boolean | false | Return only businesses with an email |
minRating | number | 0 | Minimum Google rating (0 = all) |
skipClosedPlaces | boolean | true | Skip permanently closed businesses |
language | string | en | Google Maps UI language |
startUrls | array | [] | Alternative: paste Google Maps search or place URLs directly |
Output data fields
| Field | Type | Description |
|---|---|---|
business_name | string | Business name from Google Maps |
email | string | null | Verified email from the business website |
phone | string | null | Phone number from Google Maps |
website | string | null | Business website |
full_address | string | Complete address with city, state, postal code |
category | string | Primary category (e.g., Dentist, Restaurant) |
rating | number | null | Google rating 1.0โ5.0 |
review_count | integer | Total review count |
latitude / longitude | number | GPS coordinates |
google_maps_url | string | Direct Google Maps link |
place_id | string | Google Place ID |
facebook / instagram / linkedin / twitter | string | null | Social profiles from the business website |
is_permanently_closed | boolean | Closure signal from Google Maps |
scraped_at | string (ISO 8601) | Extraction timestamp |
source_query | string | Original keyword + city or URL |
You can download the dataset in JSON, HTML, CSV, or Excel from the Output tab.
Tips and advanced options
- Use specific niches:
personal injury lawyersbeatslawyersโ tighter niche = higher relevance per result and higher email hit rate. - One city per run: for reliability, run one
searchQuery+ onelocationper actor run. For multi-city campaigns, schedule parallel runs via the Apify API or the Schedules tab. - Filter with
skipWithoutEmail: truewhen you want a clean cold-email list and don't care about businesses without a public email. - Rating filter to prune low-quality leads: set
minRating: 4.0when you want only highly-rated active businesses. - Scale with the API: trigger runs programmatically from your CRM or n8n/Zapier/Make workflows โ each run produces a fresh dataset you can pipe into your cold-email tool.
How it works (under the hood)
- Loads Google Maps search results for your keyword + city using a real Chrome browser.
- Scrolls the results panel to load as many businesses as needed.
- Opens each business place card and extracts structured data (name, phone, rating, website, coordinates).
- Visits the business website (home page,
/contact,/about) via a fast HTTP client and runs an email-validation regex filtered against common false-positive patterns. - Pushes each business to the dataset with a deduplication guarantee.
Reliability engineering:
- Residential proxies via Apify's proxy network (Google Maps blocks datacenter IPs).
- Session pool with cookie persistence โ same IP and fingerprint across a business session.
- Session retirement on 403/429 responses.
- Circuit breaker: if more than 50% of recent requests fail, the run aborts cleanly rather than burning your budget.
- Email enrichment budget: each website gets at most 15 seconds across 3 pages (home โ
/contactโ/about). No runaway enrichment.
Related actors in this portfolio
- ๐ง Google Maps Leads Scraper โ same data with reviews and a lead-quality score.
- ๐ B2B Lead Finder + Enrichment โ multi-source B2B enrichment.
- ๐ฌ Bulk Website Contact Extractor โ feed a list of domains, get emails back.
- ๐ค LinkedIn Profile Email Scraper โ LinkedIn profiles + emails.
- ๐ฏ Universal Lead Finder โ any niche + city in, leads out.
FAQ
Is scraping Google Maps legal? Google Maps displays publicly available business information. This actor accesses only the public-facing listings, same as any visitor would. Users are responsible for complying with Google's Terms of Service, local regulations (GDPR, CAN-SPAM, CCPA, etc.), and outreach consent rules where applicable. This actor is provided for legitimate sales prospecting, research, and lead-generation use cases โ it is not intended for spamming, harassment, or any unlawful purpose.
Why didn't all businesses have an email?
Not every business publishes an email on their website. Industry average is 40โ70% email hit rate depending on niche. Professional services (lawyers, dentists, real estate) typically have higher rates. Restaurants and retail tend lower. Use skipWithoutEmail: true to auto-drop records without email.
Can I use the extracted emails for cold outreach? Follow applicable law in your jurisdiction (CAN-SPAM in the US, GDPR in the EU, CASL in Canada, etc.). Most regimes require: accurate sender identity, a real subject line, a physical address, and a working unsubscribe mechanism. Use this actor for B2B outreach only; do not use it for consumer spam.
How many businesses can I scrape? Google Maps typically shows up to ~120 results per search query. For more coverage, split by neighborhood, postal code, or sub-niche.
Run failed or slow? Open the Issues tab on the actor page with your run ID and I'll take a look. If you need bulk runs, scheduled runs, or a custom pipeline feeding into your stack, I build custom solutions on Apify โ reach out via the store page.
Legal disclaimer
This actor scrapes only publicly accessible data from Google Maps and linked business websites. Users are solely responsible for how they use the extracted data. Do not use the output to harass individuals, violate terms of service, or break applicable privacy and spam laws. No affiliation with Google Inc.
Support
Found a bug or want a new feature? Open an issue on the actor page. For custom scraping pipelines, contact me through Apify.