Fast Google Maps Scraper & Email Extractor
Pricing
$5.00/month + usage
Fast Google Maps Scraper & Email Extractor
Extract unlimited B2B leads from Google Maps! Scrapes business names, phones, ratings, and automatically visits their websites to extract verified emails. Includes photo scraping and precise coordinates. No login required. Perfect for fast, automated cold outreach and local marketing
Pricing
$5.00/month + usage
Rating
0.0
(0)
Developer
Scrape Pilot
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
πΊοΈ Fast Google Maps Scraper & Email Extractor
The most complete Google Maps Scraper on Apify. Extract business name, category, rating, reviews, phone, address, website, email, working hours, photos, and GPS coordinates from any Google Maps search or place URL β with built-in email harvesting from business websites. No login. No API key. Bulk-ready.
π Table of Contents
- What Is This Actor?
- Why Use This Google Maps Scraper?
- Use Cases
- Input Parameters
- Output Fields
- Example Input & Output
- Email Extraction Feature
- Photo Scraping Feature
- How It Works
- Performance & Limits
- FAQ
- Changelog
- Legal & Terms of Use
π What Is This Actor?
Fast Google Maps Scraper & Email Extractor is a production-grade Apify actor that turns any Google Maps search query or place URL into a clean, structured business dataset β complete with contact details, engagement metrics, location data, and photos.
Unlike basic Google Maps scrapers that stop at name and phone number, this actor goes a step further: it visits each business's own website to automatically extract email addresses from contact pages, mailto links, and page text β giving you the one field most Google Maps scrapers miss entirely.
Provide search queries like "coffee shops in Austin TX" or direct Google Maps place URLs, and receive back a structured record for every business found β ready for CRM import, lead generation, market research, or local SEO analysis.
π Why Use This Google Maps Scraper?
| Feature | This Actor | Basic Scrapers | Google Maps API | Manual Research |
|---|---|---|---|---|
| Business name, phone, address | β | β | β | β Slow |
| Email from business website | β Auto | β | β | β Very slow |
| Rating & reviews count | β | β οΈ | β | β |
| GPS coordinates | β | β οΈ | β | β |
| Working hours | β | β | β Paid | β |
| Business photos | β Up to 5 | β | β Paid | β |
| Search query support | β Bulk | β οΈ | β | β |
| Direct place URL support | β | β | N/A | β |
| No API key or billing | β | β | β Pay-per-request | β |
| Contact page crawling | β | β | β | β |
Bottom line: This Google Maps Scraper is the only solution on Apify that combines Maps data extraction with automatic email harvesting from business websites β in a single run.
π― Use Cases
π B2B Lead Generation
- Build targeted prospect lists by scraping Google Maps for businesses in any niche or city
- Extract business email addresses automatically β no manual website visits required
- Export phone, email, website, and address into your CRM or outreach tool in one run
π Market Research & Competitor Analysis
- Map the competitive landscape in any city β scrape all businesses in a category with ratings and review counts
- Compare business density, average ratings, and review volume across neighborhoods or cities
- Identify market gaps by analyzing category coverage and customer engagement data
πΊοΈ Local SEO & Directory Building
- Build local business directories with verified NAP (Name, Address, Phone) data from Google Maps
- Collect GPS coordinates for mapping and geo-targeting campaigns
- Audit citation consistency by comparing scraped data against your own listings
π οΈ CRM & Sales Automation
- Feed scraped business data directly into Salesforce, HubSpot, or any CRM via Apify integrations
- Enrich existing contact lists with phone numbers, websites, and emails from Google Maps
- Automate prospecting workflows with scheduled actor runs targeting new business listings
π Academic & Urban Research
- Study business distribution patterns across cities for urban planning or geography research
- Collect review counts and ratings for consumer behavior studies
- Build datasets of local businesses for economic mobility or gentrification research
π° Journalism & Public Interest
- Map business closures or openings in specific neighborhoods over time
- Identify clusters of specific business types for investigative reporting
- Extract contact information for businesses involved in public interest stories
βοΈ Input Parameters
{"queries": ["dentists in Chicago IL","Italian restaurants Manhattan NY"],"urls": ["https://www.google.com/maps/place/ExampleBusiness/@40.7128,-74.0060,17z"],"max_results": 10,"scrape_email": true,"scrape_photos": true}
| Parameter | Type | Default | Description |
|---|---|---|---|
queries | array or string | [] | Google Maps search queries β e.g. "plumbers in Dallas TX". Newline-separated string also accepted |
urls | array or string | [] | Direct Google Maps place URLs to scrape individual businesses |
max_results | integer | 10 | Maximum businesses to scrape per search query |
scrape_email | boolean | true | Visit each business website to extract email addresses |
scrape_photos | boolean | true | Collect up to 5 business photos from Google Maps |
Tip: You can combine
queriesandurlsin the same run. All inputs are processed together and results merged into a single output dataset.
π Output Fields
Every record from this Google Maps Scraper includes:
| Field | Type | Description | Example |
|---|---|---|---|
name | string | Business name | "Joe's Coffee Roasters" |
category | string | Business category from Google Maps | "Coffee shop" |
rating | string | Average star rating | "4.7" |
reviews_count | integer | Total number of reviews | 1842 |
address | string | Full street address | "123 Main St, Austin, TX 78701" |
phone | string | Business phone number | "+1 512-555-0199" |
website | string | Business website URL | "https://joescoffee.com" |
email | string | Primary email (extracted from website) | "hello@joescoffee.com" |
emails | array | All emails found (if multiple) | ["hello@...", "orders@..."] |
hours | string | Working hours summary | "MonβFri 7amβ6pm, Sat 8amβ5pm" |
latitude | float | GPS latitude coordinate | 30.2672 |
longitude | float | GPS longitude coordinate | -97.7431 |
photos | array | Up to 5 high-quality photo URLs (800Γ600) | ["https://lh3.googleusercontent.com/..."] |
maps_url | string | Final resolved Google Maps URL | "https://www.google.com/maps/place/..." |
source_url | string | Original URL provided as input | "https://www.google.com/maps/..." |
π¦ Example Input & Output
Input:
{"queries": ["specialty coffee shops Austin TX"],"max_results": 3,"scrape_email": true,"scrape_photos": true}
Output (one record):
{"name": "Joe's Coffee Roasters","category": "Coffee shop","rating": "4.7","reviews_count": 1842,"address": "123 Main St, Austin, TX 78701","phone": "+1 512-555-0199","website": "https://joescoffee.com","email": "hello@joescoffee.com","emails": ["hello@joescoffee.com", "orders@joescoffee.com"],"hours": "MonβFri 7amβ6pm, Sat 8amβ5pm, Sun 9amβ3pm","latitude": 30.2672,"longitude": -97.7431,"photos": ["https://lh3.googleusercontent.com/.../photo1=w800-h600","https://lh3.googleusercontent.com/.../photo2=w800-h600"],"maps_url": "https://www.google.com/maps/place/Joes+Coffee/@30.2672,-97.7431,17z","source_url": "https://www.google.com/maps/place/Joes+Coffee/@30.2672,-97.7431,17z"}
π§ Email Extraction Feature
The built-in email extractor is what sets this Google Maps Scraper apart. When scrape_email is enabled, the actor automatically visits each business's website and searches for email addresses in three passes:
Pass 1 β mailto: links
Scans the homepage for mailto: hyperlinks β the most reliable source of intentionally published contact emails.
Pass 2 β Page text scan Searches all visible page text for email patterns using regex, filtering out common false positives (image filenames, tracking pixels, asset URLs).
Pass 3 β Contact page crawl
If no email is found on the homepage, the actor automatically tries /contact, /contact-us, and /about subpages before giving up.
Output: Up to 3 emails per business are stored. The best candidate is promoted to email (primary), with all found addresses in the emails array.
β οΈ Email extraction adds ~10β15 seconds per business. Disable
scrape_emailfor faster runs when only contact details and location data are needed.
π· Photo Scraping Feature
When scrape_photos is enabled, the actor collects up to 5 high-quality business photos from Google Maps.
Photos are returned as direct googleusercontent.com URLs at 800Γ600 resolution β ready for display in directories, CRM cards, or marketing materials. Thumbnails found on the listing page are automatically upscaled to the highest available resolution before being saved.
Disable
scrape_photosto significantly speed up runs when photos are not needed.
βοΈ How It Works
Step 1 β Input Routing
Search queries are converted into Google Maps search URLs (/maps/search/...). Direct place URLs are scraped individually. Both modes use the same extraction pipeline.
Step 2 β Search Result Collection
For search queries, the actor scrolls the results panel to load all listings, then collects all /maps/place/ URLs up to max_results. Each URL is queued for individual place scraping.
Step 3 β Place Data Extraction
Each business page is loaded and data is extracted via targeted CSS selectors: name, category, rating, review count, address, phone, website, and hours. GPS coordinates are parsed directly from the Maps URL.
Step 4 β Email Harvesting
If scrape_email is enabled and a website URL was found, a separate browser tab visits the site, scans for emails in three passes (homepage β page text β contact subpages), and returns up to 3 addresses.
Step 5 β Photo Collection
If scrape_photos is enabled, the actor collects thumbnail image URLs from the listing and upgrades them to 800Γ600 resolution versions.
Step 6 β Output
All records are pushed to the Apify dataset in real time as each business is processed. The final dataset is also saved as a key-value store entry.
β‘ Performance & Limits
| Mode | Count | Estimated Time |
|---|---|---|
| Single place URL | 1 | ~15β30 seconds |
| Search query (no email/photos) | 10 | ~2β3 minutes |
| Search query (email + photos ON) | 10 | ~5β8 minutes |
| Multi-query batch | 5 queries Γ 10 | ~25β40 minutes |
Speed tips:
- Set
scrape_email: falseto cut per-business time in half - Set
scrape_photos: falsefor fastest possible runs - Use direct
urlsinput instead ofquerieswhen you already have place URLs
Reliability features:
- Per-business error isolation β one failed place never stops the batch
- Automatic wait between requests to avoid rate limiting
- Bot-detection bypass via stealth browser configuration
β FAQ
Q: Does this actor require a Google Maps API key? A: No. This Google Maps Scraper uses a real browser to load Google Maps pages directly β no API key or billing account needed.
Q: Why is email null for some businesses?
A: Not all businesses have a website, and not all websites publish an email address. If no email is found after checking the homepage and contact subpages, the field returns null. Setting scrape_email: false skips this step entirely for speed.
Q: How many results can I get per search query?
A: Set max_results to control how many businesses are scraped per query. There is no hard cap β the actor scrolls the results panel to load as many listings as available up to your limit.
Q: Can I scrape a specific business by URL?
A: Yes. Paste any Google Maps place URL into the urls field and the actor scrapes that business directly, with no search step required.
Q: Why are GPS coordinates sometimes missing?
A: Coordinates are extracted from the Google Maps URL after the page resolves. For a small number of listings, Google Maps may not embed coordinates in the URL β this results in null latitude/longitude.
Q: Can I export results to a CSV or Excel file? A: Yes. Apify datasets can be exported to CSV, JSON, Excel, and more from the Apify Console dataset view after the run completes.
Q: How do I avoid being blocked by Google?
A: The actor uses stealth browser settings (Chrome user-agent, webdriver property suppressed, realistic locale and timezone) with randomized wait times between requests. For high-volume runs (100+ businesses), consider adding residential proxy.
π Changelog
v2.0.0 (Current)
- β Email extractor: 3-pass harvesting (mailto β page text β contact subpages)
- β Photo scraping: up to 5 photos per business at 800Γ600 resolution
- β GPS coordinate extraction from resolved Maps URL
- β Working hours extraction
- β
scrape_emailandscrape_photostoggle flags for speed control - β Direct place URL input support alongside search queries
- β Stealth browser configuration (webdriver suppressed, realistic locale)
- β Per-business error isolation β batch never stops on a single failure
- β Real-time dataset push as each business is processed
v1.0.0
- Initial release with basic name, phone, address, rating, and website extraction
βοΈ Legal & Terms of Use
This actor accesses publicly visible business information on Google Maps in the same way a regular user browses the platform.
Please note:
- Use extracted data only for lawful purposes β lead generation, research, directory building, and journalism are common legitimate uses
- Do not use this Google Maps Scraper to spam, harass, or send unsolicited bulk communications to extracted contacts
- Respect Google's Terms of Service β do not use this tool at volumes that constitute systematic data mining in violation of platform rules
- Email addresses extracted from business websites are publicly published contact details β always comply with applicable anti-spam laws (CAN-SPAM, GDPR, CASL) when using them for outreach
- The actor developer is not responsible for how extracted data is used
π€ Support & Feedback
- Bug report? Open a GitHub issue or contact us via the Apify actor page
- Feature request? Post in the Apify Community forum
- Works great? Please leave a β review on the Apify Store!
Built with β€οΈ on Apify Β· Powered by Playwright
The fastest Google Maps Scraper with built-in email extraction β no API key, no login, bulk-ready