Google Reviews Insights (AI)
Pricing
from $44.00 / 1,000 place analyzeds
Google Reviews Insights (AI)
Turns Google reviews into concrete insights for a business and its competitors: top praises, top complaints, rating/theme trends over time, an action plan and a competitor comparison. Reviewer names and full review text are never reproduced. Actively maintained.
Pricing
from $44.00 / 1,000 place analyzeds
Rating
0.0
(0)
Developer
Fredrik Hansson
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Turn Google reviews into concrete, owner-ready insights — for your own business and for your competitors.
Point this actor at the output of any Google Maps reviews scraper (or give it a list of Google Maps URLs and it will fetch the reviews for you). It reads the reviews, finds the recurring themes, tracks how ratings move over time, and writes a ranked action plan. In compare mode it builds a competitor table plus a where you win / where you lose readout for your business.
Privacy by design: the actor never reproduces a full review verbatim and never includes a reviewer's name. All examples are short paraphrases. Reviewer names are dropped before anything is sent to the AI.
This is the sister actor of Google Maps Lead Enricher (AI) — that one turns Maps listings into sales leads; this one turns their reviews into insight.

Quick start
- Fill in the input — set the fields in the input tab (prefilled with a working example).
- Click Start — the Actor runs and writes one record per item to the dataset.
- Get your data — export to JSON, CSV or Excel, or pull it via the API.
What you get, per place
- topPraises — the 5 most common positive themes, each with an approximate share and a short paraphrased example.
- topComplaints — the same for negative themes.
- trend — how the rating and themes evolved over time (per quarter when there is enough dated data).
- unansweredNegativeShare — the share of negative reviews (≤2★) that got no owner reply (when the source data includes owner responses).
- actionPlan — 3–5 concrete improvements, ranked by expected impact.
- executiveSummary — 3–4 sentences you can paste into a report.
In compare mode you also get one extra record with a comparisonTable across places and whereYouWin / whereYouLose for the first place in your list.
Who it's for
- Local SEO / reputation agencies — generate a review audit for every client in minutes and benchmark them against local rivals.
- Franchises & multi-location chains — run every location through one dataset and compare them on the same themes.
- Restaurants, clinics, hotels, gyms — see exactly what guests praise and complain about, and what to fix first.
- Consultants doing competitive analysis — drop in your client plus 2–4 competitors in
comparemode and get a ready-made battlecard.
Input
Provide one of:
| Field | Type | Notes |
|---|---|---|
datasetId | string | ID of a dataset from a Google Maps reviews scraper (one review per item). |
placeUrls | string[] | Google Maps place URLs. If set (and no datasetId), the actor runs compass/google-maps-reviews-scraper to fetch the reviews first. That scraper run is billed to your own Apify account. |
Other options:
| Field | Default | Notes |
|---|---|---|
mode | single | single = analyse each place on its own. compare = also build the competitor table + win/lose for the first place. |
maxReviewsPerPlace | 300 | Newest reviews first. Also passed to the Maps scraper when placeUrls is used. |
outputLanguage | en | Language for all generated text, e.g. en, sv, Swedish. |
model | gpt-4o-mini | OpenAI model. gpt-4o-mini is cheap and plenty for this; gpt-4o is more thorough but costs more. |
Example input — single
{"datasetId": "aBcD1234efGh5678","mode": "single","maxReviewsPerPlace": 300,"outputLanguage": "en"}
Example input — compare (from URLs)
{"placeUrls": ["https://www.google.com/maps/place/Your+Cafe/@59.33,18.06,17z/","https://www.google.com/maps/place/Rival+Cafe/@59.34,18.07,17z/"],"mode": "compare","maxReviewsPerPlace": 200,"outputLanguage": "en"}
Example output
single — one record per place
{"recordType": "place","place": "Your Cafe","placeUrl": "https://www.google.com/maps/place/Your+Cafe/...","reviewsAnalyzed": 284,"averageRating": 4.3,"unansweredNegativeShare": 0.62,"topPraises": [{ "theme": "Friendly, fast service", "approximateShare": "~45% of reviews", "example": "Several guests mention being greeted warmly and served quickly even at peak times." },{ "theme": "Quality of the coffee", "approximateShare": "~30%", "example": "Regulars call the espresso consistently excellent." }],"topComplaints": [{ "theme": "Limited seating at lunch", "approximateShare": "~18%", "example": "Visitors describe struggling to find a table around midday." },{ "theme": "Slow card payments", "approximateShare": "~9%", "example": "A few reviewers note the card terminal is often slow or down." }],"trend": {"summary": "Ratings dipped in 2024-Q2 as seating complaints rose, then recovered through 2024-Q4 as service praise returned.","byQuarter": [{ "quarter": "2024-Q1", "averageRating": 4.5, "reviewCount": 61 },{ "quarter": "2024-Q2", "averageRating": 4.0, "reviewCount": 78 },{ "quarter": "2024-Q3", "averageRating": 4.2, "reviewCount": 70 },{ "quarter": "2024-Q4", "averageRating": 4.5, "reviewCount": 75 }]},"actionPlan": [{ "rank": 1, "action": "Add or reconfigure lunchtime seating", "expectedImpact": "Directly addresses the top recurring complaint; likely lifts the Q2-style dips." },{ "rank": 2, "action": "Reply to negative reviews — 62% currently get no response", "expectedImpact": "Shows prospective customers that issues are taken seriously; improves conversion from the listing." },{ "rank": 3, "action": "Service or replace the card terminal", "expectedImpact": "Removes a small but repeated friction point at checkout." }],"executiveSummary": "Your Cafe is well-liked (4.3★) mainly for friendly service and good coffee. The clearest drag is lunchtime seating, which coincided with a Q2 rating dip. Most negative reviews go unanswered, which is a quick, free win. Fixing seating and replying to criticism should lift both the rating and listing conversion."}
compare — one extra record
{"recordType": "comparison","place": "Your Cafe","comparisonTable": [{ "theme": "Service speed", "places": [{ "place": "Your Cafe", "sentiment": "strong", "note": "Repeatedly praised, even at peak." },{ "place": "Rival Cafe", "sentiment": "mixed", "note": "Praised off-peak, criticised at lunch." }]},{ "theme": "Seating / space", "places": [{ "place": "Your Cafe", "sentiment": "weak", "note": "Lunchtime seating is the top complaint." },{ "place": "Rival Cafe", "sentiment": "strong", "note": "Guests highlight plenty of room." }]}],"whereYouWin": ["Service speed and friendliness", "Coffee quality"],"whereYouLose": ["Seating capacity at lunch", "Overall ambience"]}
How it works with the Google Maps scrapers
Google Maps reviews scraper Google Reviews Insights (AI)(e.g. compass/google-maps-reviews-scraper)│ dataset of reviews │└───────────────► datasetId ──────────┘│OR: give placeUrls → this actor runs the scraper for you(that run is billed to your Apify account)
- Run any Google Maps reviews scraper and copy its dataset ID into
datasetId— or just passplaceUrlsand let this actor callcompass/google-maps-reviews-scraperfor you. - The actor groups reviews by place, computes ratings/quarters/owner-response stats in code, and uses OpenAI to summarise themes and write the action plan.
- Pair it with the Google Maps Lead Enricher (AI) to go from a Maps search → sales leads and review insight for the same places.
Pricing (pay-per-event)
| Event | When it fires |
|---|---|
place-analyzed | Once per place that produced a full insight report. |
reviews-processed | Once per 100 reviews actually sent to the AI (rounded up, per place). |
Pricing is tuned so the event prices cover the OpenAI token cost (with gpt-4o-mini) with margin. The actor logs a cost summary (estimatedAiCostPerPlaceUsd) at the end of every run so you can verify the margin. If you pass placeUrls, the underlying Google Maps scraper run is billed separately to your account by that actor.
MCP support
Like every Apify actor, this one is available over the Model Context Protocol (MCP), so AI agents and MCP-compatible clients (Claude, Cursor, etc.) can call it as a tool. Use Apify's MCP server (https://mcp.apify.com) or the Actors MCP Server to let an agent run fuze/google-reviews-insights and read the resulting dataset directly. See Apify's MCP documentation for setup.
Notes & limits
- Trend buckets need dated reviews; if the source data lacks dates (or has too few),
trend.byQuarteris empty and the summary says so. unansweredNegativeSharerequires the scraper to include owner-response fields (responseFromOwnerTextetc.); otherwise it isnull.- Reviewer names and verbatim quotes are never emitted — only short paraphrased examples.
- Requires an
OPENAI_API_KEY(configured by the actor owner).
Related actors
- Amazon Reviews Scraper — Scrape Amazon product reviews — rating, title, body, author, date, verified-purchase and
- Competitor Pulse — AI Competitor Intelligence Monitor — Watch competitors holistically — pricing, website, hiring, tech, news and
- AI Share of Voice — Multi-Engine GEO Tracker — Track your brand's visibility and share of voice across AI answer engines, with