Google Maps Reviews Scraper - Paused
DeprecatedPricing
from $0.20 / 1,000 place scrapeds
Google Maps Reviews Scraper - Paused
DeprecatedTemporarily paused while reliability, pricing, and platform costs are reviewed. Runs return a maintenance diagnostic and do not scrape Google Maps.
Pricing
from $0.20 / 1,000 place scrapeds
Rating
0.0
(0)
Developer
Nick
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
14 hours ago
Last modified
Categories
Share
Temporarily paused while reliability, pricing, and platform costs are reviewed. Current runs return one maintenance diagnostic item and do not scrape Google Maps, open a browser, call AI providers, or charge pay-per-event items.
Live status - 2026-05-29: maintenance pause is active after a negative-profit alert. Use
harvestlab/google-maps-eu-scraperfor place discovery, or a dedicated Google reviews provider when guaranteed review export is required.
Current Behavior
Every run exits quickly with a diagnostic row:
{"type": "diagnostic","result_type": "actor_paused","diagnostic_type": "actor_maintenance_pause","reason": "negative_unit_economics","charged_events": []}
This pause is intentionally conservative: it prevents new customer or synthetic runs from spending on Google Maps scraping while the actor's unit economics are reviewed.
Historical Input Shape
When the actor is re-enabled, a small direct-place run will look like this:
{"mode": "reviews","url": "https://www.google.com/maps/place/...","maxReviewsPerPlace": 5,"requestTimeoutSeconds": 120,"sortReviewsBy": "newest","failOnNoReviews": false,"enableAiAnalysis": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
While the pause is active, this input returns only the maintenance diagnostic shown above. When the actor is re-enabled, expected output is one place item plus any extracted review items, or a diagnostic item if reviews cannot be loaded.
Intended Use After Re-Enablement
Local SEO and reputation teams
Track selected business locations and route new low-star reviews into your CRM, Slack, or support workflow. Use maxReviewRating: 2 and sortReviewsBy: "newest" to focus on urgent complaints.
For scheduled monitoring, turn on newReviewsOnly and set a stable reviewMonitorKey per location. The actor stores seen review IDs in a named key-value store and only outputs newly observed review rows on later runs.
Agencies auditing owner replies
Export review rows with ownerReply and ownerReplyDate so account teams can spot unanswered negative reviews and measure whether location managers are responding.
Competitive research
Run small direct-place checks against a few named competitors. Sort by lowest_rating to collect complaint themes before building a campaign or service-positioning brief.
Data-quality diagnostics
When review extraction fails, diagnostic rows make the failure explicit. This helps you decide whether to retry later, change proxy settings, or use a dedicated Google reviews provider for that workflow.
Historical Output Shape
Place item
{"type": "place","url": "https://www.google.com/maps/place/...","placeId": "ChIJ1234abcd5678","name": "Example Cafe","category": "Cafe","rating": 4.2,"reviewCount": 1847,"address": "Example Street 1, Berlin, Germany","phone": "+49 30 123456","website": "https://example.com","openingHours": ["Monday: 8:00 AM - 6:00 PM"],"coordinates": {"lat": 52.52, "lng": 13.405},"scrapedAt": "2026-05-22T10:30:00+00:00"}
Review item
{"type": "review","url": "https://www.google.com/maps/place/...","placeName": "Example Cafe","reviewId": "abc123","reviewer": "Maria S.","rating": 2,"reviewText": "Long wait and the order was wrong.","reviewDate": "2026-05-10","isNewReview": true,"reviewMonitorKey": "example-cafe-daily","ownerReply": "We are sorry and have contacted the team.","ownerReplyDate": "2026-05-11","scrapedAt": "2026-05-22T10:30:05+00:00"}
Diagnostic item
{"type": "diagnostic","diagnostic_type": "no_reviews_extracted","url": "https://www.google.com/maps/place/...","placeName": "Example Cafe","reviewCount": 1847,"requestedReviews": 10,"probable_cause": "reviews_panel_or_selector_changed","message": "No review rows were extracted...","proxy_used": true,"scrapedAt": "2026-05-22T10:30:06+00:00"}
Inputs
| Input | Default | Purpose |
|---|---|---|
mode | search | reviews for direct place URLs, search for keyword discovery followed by place checks |
url / placeUrl / startUrls | - | Google Maps place URL(s) for direct monitoring |
searchQuery / q / query | coffee shops Berlin | Keyword + location when using search mode |
maxPlaces | 1 | Maximum places to open in search mode |
maxReviewsPerPlace | 5 | Maximum reviews to attempt per place |
sortReviewsBy | newest | newest, relevant, highest_rating, or lowest_rating |
sinceDate | - | Optional YYYY-MM-DD lower bound after extraction |
minReviewRating / maxReviewRating | - | Optional star-rating filters |
reviewKeyword | - | Optional keyword filter for review text, replies, and reviewer names |
skipReviewIds | - | IDs already processed by your monitor |
newReviewsOnly | false | Store seen review IDs and output only reviews not seen in previous runs |
reviewMonitorKey | - | Stable key for recurring monitoring; use one key per location |
includePersonalData | true | Set false to remove reviewer name/profile metadata |
failOnNoReviews | false | Set true to fail a run when zero reviews are extracted for a place |
requestTimeoutSeconds | 120 | Per-place handler timeout, clamped to 30-180 seconds |
enableAiAnalysis | false | Run AI summary when reviews are extracted |
Pricing
Current maintenance diagnostics do not call a pay-per-event charge. When scraping is re-enabled, pay-per-event pricing is intended to make successful review-monitoring runs sustainable:
| Event | Price | Trigger |
|---|---|---|
place-scraped | $0.005 | A Google Maps place record is extracted |
review-scraped | $0.0005 | A review row is extracted |
ai-analysis-completed | $0.05 | One AI summary is generated for a place |
Diagnostics are pushed as dataset rows but do not call a pay-per-event charge.
Example: one place with 100 reviews costs $0.005 + (100 x $0.0005) = $0.055, before Apify platform usage and proxy costs.
Reliability Notes
- Use small direct-place checks before high-volume schedules because Google Maps review loading can vary by place, region, and session.
- Direct
reviewsmode is the recommended workflow; keywordsearchmode adds another moving part. - For recurring jobs, use
newReviewsOnlywith a stablereviewMonitorKey; the first run establishes history and later runs return only new review IDs. - Residential proxy is strongly recommended for Google Maps.
- Google Maps can change its review panel behavior without notice.
- If you need guaranteed high-volume Google review extraction today, use a dedicated provider with freshly verified review rows.
For business-place discovery without Google review text, use:
https://apify.com/harvestlab/google-maps-eu-scraper
AI Analysis
When enableAiAnalysis is true and reviews are extracted, the actor creates one ai_analysis item per place with:
- overall sentiment
- sentiment distribution
- top positive and negative themes
- owner responsiveness
- key insights
- improvement areas
Supported providers: OpenRouter, Anthropic, Google AI, OpenAI, and Ollama. API keys can be provided through input fields or environment variables.
Legal And Compliance
This actor works with publicly visible Google Maps place and review pages. Users are responsible for complying with Google's Terms of Service and with applicable privacy and data protection laws. Reviewer names and review text can be personal data under GDPR or similar laws; use includePersonalData: false when you do not need reviewer profile fields.
Support
If a run returns place rows but no reviews, check the diagnostic item first. For production reputation monitoring, run a small direct-place test before creating schedules or webhook automations.