
Google Maps Reviews Scraper
Pricing
$25.00/month + usage

Google Maps Reviews Scraper
π Scrape thousands of Google Map reviews with advanced filters. Fast, clean, and customizable.
5.0 (2)
Pricing
$25.00/month + usage
2
Total users
2
Monthly users
2
Runs succeeded
>99%
Last modified
3 days ago
An Apify actor that scrapes reviews from Google Maps places. Extract comprehensive review data including ratings, reviewer information, review text, dates, photos, owner responses, and metadata.
Features
- β‘ Lightning Fast: Get thousands of reviews in seconds
- π Proxy Included: We handle proxy rotation automatically - no setup needed!
- π Flexible Input: Accepts Google Maps place ID or full Google Maps URL
- β Rich Data: Extracts ratings, reviewer names, review text, dates, languages, photos, and owner responses
- π― Advanced Filtering: Filter by star ratings, keywords, date ranges, languages, and search queries
- π Pagination Support: Automatically handles pagination to get all available reviews
- π High Performance: Optimized for speed and reliability with retry logic
- π Multi-language Support: Works with any language and region
- π Search Functionality: Search for specific terms within reviews
Input Parameters
Parameter | Type | Default | Description |
---|---|---|---|
placeIdOrUrl | String | Required | Google Maps place ID (e.g., '0x14a839000bbc66dd:0x517edaab612d6d13') or full Google Maps URL |
startPage | Integer | 1 | Page number to start scraping from |
pagesToScrape | Integer | 5 | Maximum number of pages to scrape (-1 for all available) |
reviewsPerPage | String | "10" | Number of reviews per page to scrape ("10" or "20") |
maxReviews | Integer | 10000 | Maximum number of reviews to scrape (-1 for no limit) |
sortBy | String | "mostRelevant" | Sort reviews by "mostRelevant", "newest", "highestRating", or "lowestRating" |
ratings | Array | [1,2,3,4,5] | Filter reviews by star ratings (1-5) |
language | Array | [] | Filter reviews by language codes (e.g., ["en", "fr", "de"]) |
keywords | Array | [] | Filter reviews containing specific keywords |
searchQuery | String | "" | Search for reviews containing specific terms |
endDate | String | null | Only include reviews posted before this date (YYYY-MM-DD format) |
recentDays | Integer | 0 | Only include reviews from the last N days (0 = disabled) |
uniqueOnly | Boolean | true | Remove duplicate reviews (by review ID) |
Output Data
Each review contains the following fields:
Field | Type | Description |
---|---|---|
reviewId | String | Unique review identifier |
rating | Integer | Star rating (1-5) |
reviewer | String | Name of the reviewer |
date | String | Review date in ISO format (YYYY-MM-DD) |
text | String | Original review text content |
translatedText | String | Translated review text (if available) |
language | String | Language code of the review |
userImage | String | URL to reviewer's profile image |
photos | Array | URLs of photos attached to the review |
ownerResponse | String | Business owner's response to the review (if any) |
localGuideInfo | String | Local Guide information for the reviewer |
placeId | String | Google Maps place ID |
timestamp | Integer | Unix timestamp of the review |
position | Integer | Position/order of review in the results |
Usage Examples
Basic Usage
{"placeIdOrUrl": "https://www.google.com/maps/place/Google/@59.326069,-95.989235,3z/data=!3m1!4b1!4m6!3m5!1s0xfdeda002b05abf3:0x30dd244877e2a5bc!8m2!3d59.326069!4d-95.989235!16s%2Fg%2F11vf0j1l59?entry=ttu&g_ep=EgoyMDI1MDUyMS4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D","maxReviews": 1000,"reviewsPerPage": "20","pagesToScrape": 10}
Advanced Filtering
{"placeIdOrUrl": "0x14a839000bbc66dd:0x517edaab612d6d13","ratings": [4, 5],"keywords": ["great", "amazing", "excellent"],"language": ["en", "fr"],"recentDays": 30,"maxReviews": 500,"sortBy": "newest"}
Search for Specific Terms
{"placeIdOrUrl": "0x14a839000bbc66dd:0x517edaab612d6d13","searchQuery": "food quality","pagesToScrape": 5,"sortBy": "mostRelevant"}
Place ID Only
{"placeIdOrUrl": "0x14a839000bbc66dd:0x517edaab612d6d13","pagesToScrape": 3,"sortBy": "highestRating"}
How to Get Place ID
You can provide either:
-
Full Google Maps URL:
https://www.google.com/maps/place/Google/@59.326069,-95.989235,3z/data=!3m1!4b1!4m6!3m5!1s0xfdeda002b05abf3:0x30dd244877e2a5bc!8m2!3d59.326069!4d-95.989235!16s%2Fg%2F11vf0j1l59?entry=ttu&g_ep=EgoyMDI1MDUyMS4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D -
Place ID only:
0x89c25a316e5b7c5d:0x1234567890abcdef
The place ID is the hexadecimal string in the format 0xHEX:0xHEX
found in Google Maps URLs.
Supported Languages
The scraper supports all languages available on Google Maps. Common language codes include:
en
- Englishes
- Spanishfr
- Frenchde
- Germanit
- Italianpt
- Portugueseru
- Russianja
- Japaneseko
- Koreanzh
- Chineseel
- Greek
Rate Limiting & Best Practices
- The scraper includes built-in delays between requests to respect Google's servers
- Proxy rotation is handled automatically
- Use reasonable limits for
maxReviews
andpagesToScrape
to avoid timeouts - Consider using filters to get more targeted results
Common Use Cases
- Business Intelligence: Analyze customer sentiment and feedback
- Competitive Analysis: Compare reviews across similar businesses
- Market Research: Understand customer preferences and pain points
- Reputation Management: Monitor reviews for specific keywords or issues
- Trend Analysis: Track review patterns and sentiment over time
- Location Analysis: Compare performance across multiple locations
Error Handling
The actor includes comprehensive error handling:
- Invalid place IDs or URLs are detected and reported
- Network timeouts are handled with automatic retries
- Parsing errors are logged with detailed information
- Empty responses and rate limiting are gracefully handled
- Cookie management for authentication
Performance Notes
- Processing speed depends on the number of reviews and applied filters
- Memory usage scales with the number of reviews being processed
- Larger
reviewsPerPage
values may be faster but use more memory - Use filters to reduce processing time for large datasets
Data Quality
- Reviews include original text and translated text when available
- Photos are extracted with full URLs
- Owner responses are captured when present
- Timestamps are provided in both Unix format and ISO date strings
- Duplicate reviews are automatically filtered when
uniqueOnly
is enabled
Support
For issues, feature requests, or questions:
- Check the actor run logs for detailed error messages
- Verify the place ID or URL is correct and the place has reviews
- Try with smaller batch sizes if encountering timeouts
- Ensure your filters are not too restrictive
- Contact support through the Apify platform