Request a tool
All toolsMCP serverRequest a toolPlatformsCategories
Google Reviews Monitor — Multi-Location Alerts & Reports icon

Google Reviews Monitor — Multi-Location Alerts & Reports

Track Google Maps reviews across all your locations. Get only-new deltas, negative-review and rating-drop alerts to Slack, plus AI summaries and reply drafts.

Run this in the cloudRun on Apify →

Maps & Local Lead Generation

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust locations, maxReviewsPerRun, onlyNewSinceLastRun (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Inputs

FieldWhat it doesType
locationsOne entry per Google Business location. clientName is your label (e.g. the client/branch name); googleMapsUrl is the public Google Maps URL of the business. Tiparray
maxReviewsPerRunHow many of the newest reviews to load per location each run. Higher = more thorough but slower. 50 is plenty for a scheduled monitor that only needs the latestinteger
onlyNewSinceLastRunCore monitor behavior: each scheduled run emits only NEW or CHANGED reviews (deltas), not a full re-dump. Persisted between runs via the Key-Value Store.boolean
alertOnNewReviewsInclude locations with any new review in the notification/report signal.boolean
alertOnNegativeReviewsFlag new reviews at or below the negative rating threshold.boolean
negativeRatingThresholdReviews with a star rating at or below this value are treated as negative.integer
trackOwnerRepliesDetect when the business owner replies to a review (review changes from unanswered to answered).boolean
detectRatingDropsCompare each location's overall star rating against the previous run and flag drops.boolean
generateAiSummaryProduce a short, action-ready briefing per location from the NEW reviews (e.g. '2 urgent reviews need replies; main complaint: wait times'). Uses an LLM if a keboolean
generateReplyDraftsDraft a professional public reply for each urgent (negative + unanswered) review. Capped per run to control cost.boolean
aiModelModel used for AI summaries/reply drafts (only when an API key is configured). GPT models need an OpenAI key; Claude models need an Anthropic key.string
anthropicApiKeyOptional. Bring your own Anthropic key to enable AI summaries/reply drafts with Claude. If left blank, the actor uses the ANTHROPIC_API_KEY environment secret (string
openaiApiKeyOptional. Bring your own OpenAI key to use GPT models instead of Claude. Used only if no Anthropic key is configured.string
weeklyReportRender a single multi-location HTML report to the Key-Value Store and link it from each dataset record.boolean
webhookUrlOptional. Receive a compact summary when there are changes. Auto-formats for Slack and Discord incoming webhooks; otherwise sends a generic JSON payload (works string

What you get

A clean, structured dataset you can export as JSON, CSV or Excel, or pipe into your app, a database, Google Sheets, or an AI agent.

4 ready-to-run use cases

Daily Google Review Monitor for a Restaurant

Every morning, this checks one restaurant's Google Maps page and surfaces only the reviews posted since yesterday, with rating, text, and date.

Negative Google Review Alerts for Agency Clients

Agencies get a nightly sweep across every client's Google profile that pings you only when a fresh 1-2 star review lands, plus a weekly recap.

AI Reply Drafts for Negative Google Reviews

Need a fast response to a bad review? Each new low-star Google review returns a ready-to-paste reply draft, skipping ones the owner already answered.

Export Recent Google Reviews for a Business

Grab the latest 200 Google reviews for one place in a single run and export the full dataset, ideal for a reputation audit or a starting baseline.

Google Reviews Monitor — Multi-Location Alerts & Reports

Monitor Google Maps reviews across all your business locations on a schedule, and get only the new and changed reviews — with negative-review, rating-drop, and unanswered-review alerts pushed to Slack or any webhook.

Instead of opening every Google Business Profile by hand, you point this actor at your locations, run it on a schedule, and it returns just the reviews that are new or changed since the last run. It flags low-star reviews, detects rating drops, and (optionally) drafts replies with an AI model so your team can respond fast.

What it does

  • Watches many locations at once. Give it a list of Google Maps locations and it checks each one per run.
  • Returns only-new deltas. With onlyNewSinceLastRun on, you get the reviews that appeared or changed since the previous run — not the whole history every time.
  • Alerts on what matters. Fire alerts on any new review, on negative reviews below a rating threshold you set, and on detected rating drops. Track whether the owner has replied so you can surface unanswered reviews.
  • Drafts replies (optional). Generate an AI summary of recent sentiment and per-review reply drafts using your own Anthropic or OpenAI key.
  • Delivers where you work. Push results and alerts to Slack or any webhook URL, and optionally generate a weekly report.

Output is plain JSON in the run's dataset, so it drops straight into a sheet, a dashboard, Slack, or your own automation.

> A note on reliability. This actor scrapes Google Maps, which actively fights automated access. It's a best-effort tool: most locations check cleanly, but a run can slow down or time out on heavy location lists or during anti-bot throttling. Start small, use proxies, and schedule with headroom rather than expecting instant results on hundreds of locations.

Who it's for

  • Local businesses that want to know the moment a new or bad review lands — without checking the dashboard daily.
  • Multi-location brands (franchises, chains, clinic groups) tracking review flow across every storefront in one place.
  • Marketing and reputation agencies managing Google Business Profiles for clients, who need to catch negative reviews fast, prove they're watching, and reply on time.

If you live in a code editor, you'll like the JSON output and webhook hooks. If you live in spreadsheets and Slack, you'll like the alerts and reports. Both work.

Quick start

Run the monitor (Apify Console)

1. Open the actor and click Try for free. 2. Paste your locations and pick your alert options (see Input below). A minimal run:

{
  "locations": [
    "https://www.google.com/maps/place/?q=place_id:ChIJN1t_tDeuEmsRUsoyG83frY4"
  ],
  "maxReviewsPerRun": 50,
  "onlyNewSinceLastRun": true,
  "alertOnNegativeReviews": true,
  "negativeRatingThreshold": 3,
  "proxyConfiguration": { "useApifyProxy": true }
}

3. Click Start. New reviews land in the dataset; alerts go to your webhook if set. 4. Open Schedules and add the actor (e.g. every morning) so it keeps watching.

Connect it to Claude, Cursor, or ChatGPT (MCP)

This actor is available through the Apify MCP server, so an AI assistant can run it for you and read the results. Use the verified streamable-HTTP endpoint:

https://mcp.apify.com/?actors=dami_studio/google-reviews-monitor

Add it as a remote MCP server in your client. Example config (Claude Desktop / Cursor mcp.json):

{
  "mcpServers": {
    "google-reviews-monitor": {
      "url": "https://mcp.apify.com/?actors=dami_studio/google-reviews-monitor",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

Replace <APIFY_TOKEN> with your token from Apify (Settings → API & Integrations). On first connect you can also authorize via OAuth in the browser instead of pasting a token. Once connected, ask your assistant something like *"check my Google reviews for new negative ones since yesterday"* and it will call the actor and summarize the result.

Input

  • locations — list of Google Maps places to watch (place URLs / place IDs).
  • maxReviewsPerRun — cap on reviews pulled per run, to control cost and time.
  • onlyNewSinceLastRun — return only reviews new/changed since the previous run.
  • alertOnNewReviews — alert on every new review, not just negative ones.
  • alertOnNegativeReviews — alert when a review is below your threshold.
  • negativeRatingThreshold — star rating at/below which a review counts as negative (e.g. 3).
  • trackOwnerReplies — record whether the owner has replied, to surface unanswered reviews.
  • detectRatingDrops — flag when a location's overall rating falls.
  • generateAiSummary — produce an AI summary of recent reviews.
  • generateReplyDrafts — draft a reply for each review.
  • aiModel / anthropicApiKey / openaiApiKey — pick the model and bring your own key for AI features.
  • weeklyReport — generate a periodic summary report.
  • webhookUrl — Slack or generic webhook to receive alerts and results.
  • proxyConfiguration — proxy settings (recommended: Apify Proxy on).

Output

Each result is a review object in the run's dataset. A row looks roughly like:

{
  "location": "Acme Coffee — Downtown",
  "placeId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "reviewId": "Ci9DQ...",
  "rating": 2,
  "text": "Waited 25 minutes for a cold latte.",
  "reviewerName": "Jamie R.",
  "publishedAt": "2026-06-21T14:03:00Z",
  "isNew": true,
  "isNegative": true,
  "ownerReplied": false,
  "ratingDropDetected": false,
  "aiSummary": "Recent reviews cite slow service at the downtown location.",
  "replyDraft": "Hi Jamie, we're sorry about the wait..."
}

Fields like aiSummary and replyDraft only appear when you enable the AI options. Alerts contain the same data, formatted for Slack/webhook delivery.

Example use cases

Pricing

Pay per event — you're charged only for what a run actually does:

EventPrice
Actor start$0.005 per run
Location checked$0.015 per location
Review processed$0.001 per review
AI summary generated$0.01 per summary
Report generated$0.05 per report

AI features use your own Anthropic or OpenAI API key, so model usage is billed by that provider separately. Apify platform usage (compute, proxy) applies per your Apify plan.

FAQ

Does this work across multiple locations? Yes — that's the point. Pass many locations in locations and each is checked per run, so a franchise or agency can watch every storefront from one schedule.

How do I get only new reviews instead of the whole history? Turn on onlyNewSinceLastRun. After the first baseline run, you'll receive only reviews that are new or changed since the previous run.

Can it alert me on Slack when a bad review comes in? Yes. Set alertOnNegativeReviews, choose your negativeRatingThreshold, and put a Slack incoming-webhook URL in webhookUrl. Any generic webhook works too.

Do I need an API key for the AI replies and summaries? Only if you enable them. generateAiSummary and generateReplyDrafts use your own Anthropic or OpenAI key. Core monitoring and alerts work without any AI key.

How reliable is it? It's best-effort. Google Maps actively blocks scrapers, so large location lists can slow down or time out. Use Apify Proxy, keep maxReviewsPerRun sensible, and schedule with headroom. For a handful of locations on a daily cadence, it's dependable; for hundreds at once, expect to tune.

Can an AI assistant run this for me? Yes. Connect it through the Apify MCP server (see Quick start) and Claude, Cursor, or another MCP client can trigger runs and read the results directly.