Google Maps Scraper
Pricing
from $1.20 / 1,000 results
Google Maps Scraper
Extract comprehensive business data from Google Maps, including ratings, contacts, photos, and operational details. Perfect for market research and lead generation.
Pricing
from $1.20 / 1,000 results
Rating
5.0
(2)
Developer

API ninja
Actor stats
2
Bookmarked
22
Total users
17
Monthly active users
2 days ago
Last modified
Categories
Share
Google Maps Scraper
Google Maps Scraper is a powerful Apify Actor designed to extract Google Maps business and location data at scale. It overcomes the standard Google Places API limits (20/60 results) by utilizing a smart, grid-based quadtree search to discover thousands of places in any given area.
📍 Search by location & query (e.g., 'dentists in Berlin') 🔍 Deep grid search to bypass 120‑result limit 🧾 Export to JSON, CSV, Excel, HTML
Who is this for?
Perfect for marketing professionals, researchers, and developers who need large-scale local business data for lead generation or market analysis, without needing to write code.
💡 Need Reviews?
This Actor focuses on discovering places and their details. To parse detailed reviews (text, author, dates, stars) for these places, use our companion tool:
👉 Google Maps Reviews Scraper
Table of contents
- What does this Google Maps scraper do?
- What data can you extract from Google Maps?
- How to scrape Reviews
- Use cases: Google Maps data for leads & local SEO
- How to scrape Google Maps business data
- Tips: performance & accuracy
- Limitations & Notes
- Is it legal to scrape Google Maps?
- Input
- Output
- Integrations and API
- Pricing
- FAQ
- Support
- License
- Acknowledgments
What does this Google Maps scraper do?
Google Maps Scraper extracts structured data from Google Maps based on your location and optional search query. It supports both:
- Text Search: Find specific businesses (e.g., "coffee shops in Berlin", "Tesla chargers").
- Nearby Search: Discover all places in a specific area/neighborhood.
Key Feature: Deep Search
Standard Google Maps searches often limit results to the top ~120 places. This Actor subdivides the search area into smaller "tiles" (quadtree), recursively querying each one to uncover all available places in the region, regardless of the display limits.[GMaps grids & zoom]
Note on coverage:
Because the Actor relies on Google’s viewport tiles, results may sometimes extend slightly outside the exact requested bounds or vary based on Google's data density. This is normal behavior for "search by area".
What data can you extract from Google Maps?
You can extract the following fields for each place (availability depends on the specific business):
| Category | Data points | Example field in output |
|---|---|---|
| Basic info | Name, place types, Place ID | displayName.text, types, id |
| Location | Address, city, country, coordinates | formattedAddress, location.latitude |
| Contact | Phone, website, Google Maps URL | nationalPhoneNumber, websiteUri, googleMapsUri |
| Performance | Rating, review count, price level | rating, userRatingCount, priceLevel |
| Metadata | Language code, business status | displayName.languageCode, businessStatus |
You can download the dataset in JSON, CSV, Excel, or HTML table formats from the Storage tab.
How to scrape Reviews
This Actor is optimized for Place Discovery. If your goal is to analyze customer sentiment, extract review text, or monitor feedback, you should use the extracted Place IDs or URLs from this run as input for our specialized reviews scraper.
Workflow:
- Run Google Maps Scraper (this Actor) to find businesses.
- Copy the
googleMapsUrioridfrom the results. - Run the Google Maps Reviews Scraper using those IDs/URLs.
Use cases: Google Maps data for leads & local SEO
- Generate Leads: Build lists of local businesses with phone numbers and websites (e.g., "Plumbers in New York").
- Market Research: Analyze competitor density and ratings across different neighborhoods.
- Site Selection: Evaluate potential locations for new stores based on existing amenities.
- Data Enrichment: Verify or update your existing business database with fresh Google Maps data.
Why run this scraper on Apify?
Running this Actor on the Apify platform gives you advantages over local scripts:
- Scheduling: Schedule recurring scrapes (daily/weekly) to keep your local business data fresh.
- Proxies: Uses built‑in proxy rotation for reliable scraping without getting blocked.
- Integrations: Connect results directly to CRMs, Google Sheets, or Slack via Zapier/Make.
- Monitoring: Track run history, logs, and errors in a single dashboard.
How to scrape Google Maps business data
How to scrape Google Maps data without coding
- Open the Actor in the Apify Console.
- Go to the Input tab.
- Enter a Location: e.g.,
London, UKor123 Main St, San Francisco. The Actor will automatically geocode this. - Choose a Mode:
- Text Search: Enter a query like
Italian restaurantsorDentists. - Nearby Search: Leave the query empty to find everything in that location.
- Text Search: Enter a query like
- (Optional) Set Filters: Filter by Place Type (e.g.,
gym,museum), Price Level, or Min Rating. - Start the Run: Click Start.
- Download Results: Once finished, go to the Dataset tab to export your data.
Tips: performance & accuracy
To get the most out of your runs and optimize Compute Units (CUs):
- Use smaller locations: For exhaustive scrapes, targeting specific districts or ZIP codes (e.g., "Manhattan, NY" instead of "New York") often yields better coverage and performance than broad city searches.
- Validate first: Start with a small
maxResultCount(e.g., 50) to verify your search queries and filters are returning the expected data before launching a large run. - Deep search control: Uncheck
scrapeAllPlacesif you only need the top-ranking results. Enable it only when you need comprehensive coverage of an entire area.
Limitations & Notes
- Density Limits: In extremely dense urban areas (e.g., Manhattan), Google might not return every single small business in one pass. For 100% coverage, split your search into smaller sub-districts or use ZIP codes.
- Viewport Overlap: Results may occasionally include places slightly outside your requested bounds if they fall within the overlapping map tiles used for searching.
- Language Bias: The results' language and formatting can be influenced by the
languageCodeandregionCodeinput parameters.
Is it legal to scrape Google Maps?
This Actor extracts publicly available business information. However, you must comply with:
- Regulations: GDPR, CCPA, and other data protection laws (especially regarding personal data in reviews, though this Actor primarily targets business info).
- Terms of Service: Google's terms regarding crawling and data use. See Google Maps Platform Terms of Service.
Input
The input configuration allows you to define the search area, query, and filters. Below are the primary fields:
| Field | Type | Description |
|---|---|---|
location | string | Required. City, address, or area to search (e.g., "Paris", "NYC"). |
textQuery | string | Optional. Specific business type or keyword (e.g., "pizza"). |
maxResultCount | number | Approximate target number of places to return. |
scrapeAllPlaces | boolean | Enable deep grid search for full coverage (slower, more results). |
languageCode | string | Language for results (e.g., en, de, es). |
Note: See full configuration options including Place Types, Price Levels, and EV Charging filters in the Input tab of the Actor.
Output
Results are stored in the default Apify dataset. You can download the dataset in JSON, CSV, Excel, or HTML table formats from the Storage or Dataset tab. The full output schema is also available for review in the Dataset tab.
Example JSON Object:
{"id": "ChIJrTLr-GyuEmsRBfyf1GD_kQk","types": ["park", "tourist_attraction"],"formattedAddress": "New York, NY 10024, USA","location": {"latitude": 40.7829,"longitude": -73.9654},"rating": 4.8,"userRatingCount": 145234,"nationalPhoneNumber": "+1 212-310-6600","websiteUri": "http://www.centralparknyc.org/","googleMapsUri": "https://maps.google.com/?cid=10924849423985355605","displayName": {"text": "Central Park","languageCode": "en"}}
Integrations and API
You can programmatically trigger this Actor using the Apify API or Apify Client for Python/JS.
Python Example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"location": "San Francisco, CA","textQuery": "coffee shops","maxResultCount": 100}run = client.actor("api-ninja/google-maps-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['displayName']['text']} - {item['rating']} stars")
Pricing
This Actor is efficient, but costs depend on the volume of data and platform usage (Compute Units).
- Free Plan: You can test this Actor using your free monthly credits.
- Paid Plans: For large-scale extraction, a paid Apify plan is recommended.
Check the Apify Pricing Page for current rates.
FAQ
Q: Is this a Google Maps API alternative?
A: Yes, this actor provides an alternative way to access Google Maps data without the constraints of the official API's rigorous rate limits, specifically useful for bulk data collection.
Q: Do I need proxies to scrape Google Maps?
A: No, you don't need to configure proxies manually. The Apify platform handles proxy rotation and management automatically to ensure reliable extraction.
Q: Can I use this with no coding via the UI?
A: Absolutely. The Actor is designed to be used directly from the Apify Console with a user-friendly interface. No coding skills are required.
Q: The Actor returned fewer results than I expected – what can I do?
A: Try enabling scrapeAllPlaces to force a deeper grid search, or break your location down into smaller areas (e.g., search by ZIP code instead of the whole city). Also, ensure maxResultCount is high enough.
Q: My run is timing out or using too many CUs – how do I optimize?
A: Reduce the size of your search area or use more specific keywords. If you are scraping a huge area, consider splitting it into multiple runs.
Q: Can I get email addresses?
A: Google Maps rarely lists email addresses directly. You might find them on the business's linked website, but this scraper focuses on the data available strictly on Maps.
Support
If you encounter any issues or have feature requests:
- Issues: Please use the Issues tab on the Actor page to report bugs or request new features.
- Email: apify@dziura.online
License
Apache License 2.0