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
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Google Maps Business Scraper – Contact Info, Photos & Reviews
Extract comprehensive business data from Google Maps – names, categories, ratings, reviews, addresses, phone numbers, websites, email addresses (from the website), photos, opening hours, and coordinates. No login required.
🚀 Features
- Keyword search – Find businesses by any query (e.g., “restaurants in Chicago”).
- Direct URL scraping – Get detailed data from a single Google Maps place URL.
- Email extraction – Visits the business website and extracts email addresses from
mailto:links and page content. - Photo scraping – Retrieves up to 5 high‑quality images from the business profile.
- Rich data fields – Name, category, rating, review count, phone, address, website, hours, latitude, longitude.
- Playwright‑based – Simulates a real browser to avoid detection.
- Residential proxies ready – Compatible with Apify Proxy for large‑scale scraping.
- Clean JSON output – Ready for analysis, dashboards, or integration.
📥 Input Schema
The actor accepts a JSON object with the following fields:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
queries | string or array | No* | – | One or more search terms (e.g., "plumber in Chicago"). One per line if a string. |
urls | string or array | No* | – | One or more direct Google Maps place URLs (e.g., https://www.google.com/maps/place/...). |
max_results | integer | No | 10 | Maximum number of results per query (when using search). |
scrape_email | boolean | No | true | Whether to visit the website and attempt to extract email addresses. |
scrape_photos | boolean | No | true | Whether to extract business photos. |
Note: You must provide either
queriesorurls(or both). If both are given, all will be processed.
Example Input (Search + URLs)
{"queries": ["coffee shops in Manhattan","dentist in Brooklyn"],"urls": ["https://www.google.com/maps/place/Starbucks/@40.758896,-73.985130,17z/data=...","https://www.google.com/maps/place/Dunkin/@40.761432,-73.981214,15z/..."],"max_results": 5,"scrape_email": true,"scrape_photos": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output Fields
Each scraped place is returned as an object with the following fields (some may be missing if not available):
| Field | Type | Description |
|---|---|---|
source_url | string | The original URL used (either from input or generated by search). |
name | string | Business name. |
category | string | Business category (e.g., “Coffee shop”). |
rating | string | Average rating (e.g., “4.5”). |
reviews_count | integer | Number of reviews (if available). |
phone | string | Phone number (formatted as on Google Maps). |
address | string | Full address. |
website | string | Business website URL (if provided). |
email | string | Primary email found on the website (if scrape_email is true). |
emails | array[string] | All emails found (up to 3) – only present if multiple are discovered. |
photos | array[string] | Up to 5 high‑quality photo URLs (if scrape_photos is true). |
hours | string | Opening hours (if displayed). |
latitude | float | Latitude coordinate. |
longitude | float | Longitude coordinate. |
maps_url | string | Full Google Maps URL (may include coordinates). |
Example Output
[{"source_url": "https://www.google.com/maps/search/coffee+shops+in+Manhattan","name": "Blue Bottle Coffee","category": "Coffee shop","rating": "4.7","reviews_count": 1234,"phone": "+1 212-555-1234","address": "123 W 12th St, New York, NY 10011","website": "https://bluebottlecoffee.com/","email": "info@bluebottlecoffee.com","emails": ["info@bluebottlecoffee.com", "support@bluebottlecoffee.com"],"photos": ["https://lh5.googleusercontent.com/p/AF1QipN...=w800-h600","https://lh5.googleusercontent.com/p/AF1QipM...=w800-h600"],"hours": "Mon–Fri: 7:00 AM–7:00 PM\nSat–Sun: 8:00 AM–6:00 PM","latitude": 40.758896,"longitude": -73.985130,"maps_url": "https://www.google.com/maps/place/Blue+Bottle+Coffee/@40.758896,-73.985130,17z"}]
🛠 How It Works
- Input processing – Accepts search queries and/or direct place URLs.
- Search (if queries given) – Opens Google Maps, enters the query, scrolls to load results, and collects place URLs.
- Place scraping – For each URL, the actor:
- Navigates to the place page.
- Extracts visible data (name, category, rating, address, phone, website, hours, coordinates).
- If
scrape_photosis true, clicks the photo button and extracts high‑quality image URLs. - If
scrape_emailis true and a website URL exists, opens the website in a new page and searches for email addresses (usingmailto:links and regex). If none found, tries common contact pages (/contact,/contact-us,/about).
- Output – Each business is saved as a separate dataset item.
⚙️ Usage on Apify
- Create a new task with this actor.
- Provide input as JSON (see example above).
- Run the actor – it will automatically use Apify proxy if configured.
- Download results as JSON, CSV, or XML from the Apify storage.
Running via API
Trigger runs programmatically using the Apify API:
curl -X POST "https://api.apify.com/v2/acts/your-username~google-maps-business-scraper/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"queries": ["pizza in Brooklyn"],"max_results": 10,"scrape_email": true,"scrape_photos": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}'
💡 Use Cases
- Sales & lead generation – Build a list of local businesses with contact details.
- Market research – Analyze competitor ratings, locations, and hours.
- Data enrichment – Add missing email addresses or photos to an existing database.
- Academic research – Study the distribution of businesses in a city.
- Real estate analysis – Evaluate the density of businesses in a neighborhood.
🔍 SEO Keywords
Google Maps scraper, business data extraction, local business scraper, Google Maps email extractor, scrape Google Maps reviews, business contact scraper, Google Maps API alternative, Apify Google Maps actor, lead generation tool, competitive intelligence scraper, local SEO data
⚠️ Notes & Limitations
- Compliance – Respect Google’s Terms of Service. This actor is intended for legitimate research and not for excessive or automated bulk scraping that could violate policies.
- Dynamic content – Google Maps frequently changes its layout; scraping logic may need updates.
- Email extraction – Success depends on the website structure; some sites may block bot requests or use JavaScript‑rendered emails. No email is guaranteed.
- Photos – Only publicly visible photos are extracted; private or hidden ones are not accessible.
- Rate limiting – The actor introduces random delays between actions to mimic human behavior and avoid detection. For large‑scale runs, use residential proxies.
- No login required – The actor does not require a Google account.