Google Maps Scraper
Pricing
from $5.00 / 1,000 results
Google Maps Scraper
Scrape Google Maps business listings. Extract business names, addresses, phone numbers, websites, ratings, reviews, hours of operation, coordinates, and more from Google Maps search results.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
MItchell Peavler
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract business listings from Google Maps search results at scale. Get structured data including business names, addresses, phone numbers, websites, ratings, reviews, hours of operation, GPS coordinates, and more -- all without needing a Google API key.
What does Google Maps Scraper do?
This scraper takes a search query and location, then extracts detailed business information from Google Maps. It works exactly like searching Google Maps manually, but automated and at scale.
For example, searching for "plumbers in Chicago" will return structured data for every plumber listing Google Maps shows, complete with contact details, ratings, and operating hours.
Key features
- No API key required -- scrapes the public Google Maps web interface directly
- Full business details -- name, address, phone, website, category, price level
- Ratings and reviews -- star rating and total review count for each business
- Hours of operation -- complete weekly schedule
- GPS coordinates -- latitude and longitude for each listing
- Photo URLs -- optionally extract business photo links
- Automatic pagination -- scrolls through all available results
- Anti-blocking -- built-in session rotation, fingerprinting, and human-like delays
- Proxy support -- works with Apify residential proxies for reliable results
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | String | Yes | - | What to search for (e.g., "restaurants", "dentists", "hotels") |
location | String | Yes | - | Where to search (e.g., "New York, NY", "London, UK") |
maxResults | Integer | No | 20 | Maximum number of results to extract (1-120) |
language | String | No | "en" | Language code for results (e.g., "en", "es", "fr", "de") |
includePhotos | Boolean | No | false | Whether to extract business photo URLs |
maxConcurrency | Integer | No | 3 | Parallel page processing (1-10) |
proxyConfiguration | Object | No | Apify Residential | Proxy settings |
Example input
{"searchQuery": "Italian restaurants","location": "San Francisco, CA","maxResults": 50,"language": "en","includePhotos": true}
Output
The scraper produces a dataset of business listings in clean, structured JSON. Each listing contains the following fields:
| Field | Type | Description |
|---|---|---|
name | String | Business name |
address | String | Full street address |
phone | String | Phone number |
website | String | Business website URL |
rating | Number | Star rating (1.0 - 5.0) |
reviewCount | Number | Total number of Google reviews |
category | String | Business category (e.g., "Italian restaurant") |
priceLevel | String | Price indicator (e.g., "$", "$$", "$$$") |
hours | Object | Hours of operation by day of the week |
googleMapsUrl | String | Direct Google Maps URL for the listing |
latitude | Number | GPS latitude coordinate |
longitude | Number | GPS longitude coordinate |
plusCode | String | Google Plus Code (compact location identifier) |
photoUrls | Array | Business photo URLs (only when includePhotos is true) |
searchResultIndex | Number | Position in the search results |
scrapedAt | String | ISO 8601 timestamp of when the data was scraped |
Sample output
[{"name": "Tony's Pizza Napoletana","address": "1570 Stockton St, San Francisco, CA 94133","phone": "(415) 835-9888","website": "https://tonyspizzanapoletana.com/","rating": 4.5,"reviewCount": 4823,"category": "Pizza restaurant","priceLevel": "$$","hours": {"Monday": "12 - 9 PM","Tuesday": "12 - 9 PM","Wednesday": "12 - 9 PM","Thursday": "12 - 9 PM","Friday": "12 - 10 PM","Saturday": "12 - 10 PM","Sunday": "12 - 9 PM"},"googleMapsUrl": "https://www.google.com/maps/place/Tony's+Pizza+Napoletana/@37.8003,-122.4092,17z/...","latitude": 37.8003,"longitude": -122.4092,"plusCode": "QH5H+WG San Francisco, California","photoUrls": ["https://lh5.googleusercontent.com/p/AF1QipN.../=w800-h600","https://lh5.googleusercontent.com/p/AF1QipO.../=w800-h600"],"searchResultIndex": 1,"scrapedAt": "2026-03-27T14:30:00.000Z"},{"name": "Flour + Water","address": "2401 Harrison St, San Francisco, CA 94110","phone": "(415) 826-7000","website": "https://www.flourandwater.com/","rating": 4.4,"reviewCount": 3156,"category": "Italian restaurant","priceLevel": "$$$","hours": {"Monday": "Closed","Tuesday": "5:30 - 10 PM","Wednesday": "5:30 - 10 PM","Thursday": "5:30 - 10 PM","Friday": "5:30 - 10:30 PM","Saturday": "5:30 - 10:30 PM","Sunday": "5 - 9:30 PM"},"googleMapsUrl": "https://www.google.com/maps/place/Flour+%2B+Water/@37.7588,-122.4127,17z/...","latitude": 37.7588,"longitude": -122.4127,"plusCode": "QGQH+RC San Francisco, California","photoUrls": ["https://lh5.googleusercontent.com/p/AF1QipP.../=w800-h600"],"searchResultIndex": 2,"scrapedAt": "2026-03-27T14:30:05.000Z"}]
Use cases
Lead generation
Build targeted prospect lists by scraping businesses in specific industries and locations. Get phone numbers, websites, and addresses for outreach campaigns.
Market research
Analyze the competitive landscape in any market. Compare ratings, review counts, and price levels across businesses in a given area.
Local SEO analysis
Monitor how businesses rank in Google Maps for specific search terms. Track rating changes and review volume over time.
Business directory building
Create comprehensive business directories for specific regions or industries. All the data you need is extracted in one run.
Location intelligence
Extract GPS coordinates and addresses for geographic analysis, territory planning, or mapping applications.
Review monitoring
Track review counts and ratings for your business or competitors. Run the scraper periodically to monitor changes.
Performance and cost
| Results | Approximate runtime | Compute units |
|---|---|---|
| 20 listings | 2-4 minutes | ~0.05 |
| 50 listings | 5-10 minutes | ~0.12 |
| 100 listings | 10-20 minutes | ~0.25 |
Runtimes depend on proxy speed and whether photo extraction is enabled.
Tips for reducing cost
- Set
maxResultsto only what you need - Disable
includePhotosif you do not need images - Use lower
maxConcurrencyto reduce parallel browser usage
Limitations
- Google Maps typically returns a maximum of ~120 results per search query. For broader coverage, run multiple searches with more specific queries.
- Hours of operation may not be available for all businesses.
- Some business details (like price level) are only shown for certain business categories.
- Results depend on what Google Maps returns for the given query and location, which can vary.
Integrations
This actor works seamlessly with the Apify platform ecosystem:
- Export results as JSON, CSV, XML, or Excel
- Schedule periodic runs for monitoring
- Webhooks to trigger downstream workflows
- API access to integrate results into your applications
- Connect to Google Sheets, Slack, Zapier, Make, and hundreds of other services
Support
If you encounter any issues or have feature requests, please open an issue on the actor's GitHub repository or contact support through the Apify platform.