Skip to content

Review Monitoring: Track Google, Yelp and Trustpilot Reviews in One Feed

Review monitoring means catching every new review on Google Maps, Yelp and Trustpilot, alerting on the bad ones and tracking replies. Real runs from 26 October 2026 show why one brand can look 5-star on one site and 1-star on another, plus a daily setup, Python for one feed, and costs.

Published
Reading time
9 min read
Pixel-art robot with an orange >_ on its terminal head pulls a review card with gold rating squares out of a wide monitor showing the Google Maps pin, the red Yelp burst and the green Trustpilot star above rating cards, an amber alarm bell ringing on top of the monitor
In this article
  1. What to monitor on each platform
  2. A real check: one brand, three different stories
  3. Set up daily review monitoring without code
  4. Build one review feed in Python
  5. What review monitoring costs
  6. What to watch out for
  7. Is review scraping legal?
  8. Why Scrape.ly for review monitoring
  9. FAQ
  10. What is online review monitoring?
  11. How do I get alerts for new Google reviews?
  12. Can I monitor Trustpilot reviews automatically?
  13. What is review scraping?
  14. How much does review monitoring cost?

Review monitoring is the practice of collecting every new customer review about your business from the sites where people leave them, so you can answer complaints quickly, spot recurring problems and track your rating over time. For most businesses that means three feeds: Google Maps for locations, Yelp for local services and restaurants, and Trustpilot for the company and its online service.

The simplest reliable setup is a scraper per platform on a daily schedule, a filter for low ratings, and an alert to Slack or email. This guide builds it with three Scrape.ly Actors, starting with a real check from 26 October 2026 that shows why you can't watch just one platform: the same brand scored 5 stars in every new review on one site and 1 star in every new review on another.

What to monitor on each platform

Each platform has its own Actor in the Scrape.ly Store, its own fields, and its own way to fetch only new reviews:

Platform Actor What each review row has Fetch only new reviews with List price
Google Maps Google Maps Reviews Scraper Stars, text and Google's translation, date, owner reply and its date, visit details, place name, address, overall score reviewsSort: "newest" + reviewsStartDate: "1 day" $0.44 per 1,000 reviews
Yelp Yelp Reviews Scraper Stars, text, date, language, reactions, photos, owner response with date, business rating and review count sortBy: "newest", dateFrom $1.54 per 1,000 reviews
Trustpilot Trustpilot Reviews Scraper Stars, title, text, language, verification, reviewer country, dates, company reply sortBy: "recent" + lastDays: 1 $0.70 per 1,000 reviews + $0.02 per run

All three prices include platform usage. The Store also covers Tripadvisor, G2, Capterra, Google Play and Amazon reviews, so a hotel, a software company or a consumer brand can add its own platforms to the same setup.

A real check: one brand, three different stories

On 26 October 2026 we pulled the five newest reviews of Apple from Trustpilot and the five newest Google Maps reviews of its Fifth Avenue store in New York, a few minutes apart. Reviewers are shown as [reviewer 1] and so on: they're private people, and we turned the Google Maps Actor's personalData switch off so reviewer names weren't collected at all.

Google Maps, Apple Fifth Avenue (overall 4.4 from 22,765 reviews). Five reviews in 8 seconds:

Reviewer Stars Posted (UTC) Review (shortened)
[reviewer 1] 5 Oct 26, 10:59 "⭐⭐⭐⭐⭐ 5/5 – An Incredible Experience at Apple Fifth Avenue!…"
[reviewer 2] 5 Oct 26, 09:08 "Super completa e linda" (Google's translation: "Super complete and beautiful")
[reviewer 3] 5 Oct 26, 02:26 (stars only, no text)
[reviewer 4] 5 Oct 26, 01:26 "What a great experience! Super friendly and helpful staff…"
[reviewer 5] 5 Oct 26, 01:18 "It was my first visit,and found superb."

Trustpilot, apple.com. Five reviews in 20 seconds, most of it the browser check Trustpilot asks for:

Reviewer Stars Posted (UTC) Country Title (shortened)
[reviewer 1] 1 Oct 26, 13:37 GB "Useless service spent hours on the…"
[reviewer 2] 1 Oct 26, 12:35 GB "Apple customer support lied to me via official chat"
[reviewer 3] 1 Oct 26, 02:38 NL "Apple is de traagste van de traagste ik…"
[reviewer 4] 1 Oct 25, 23:53 GB "Bought a very expensive pad from argos…"
[reviewer 5] 1 Oct 25, 22:27 US "The latest hour and a half AI update…"

The Trustpilot run also returned the company's rating distribution (includeStats): 9,269 of its 12,883 reviews are 1-star and 1,945 are 5-star. None of the five new reviews had a company reply.

Neither picture is wrong. Google Maps reviews are about a visit to one store: the staff, the building, the experience. Trustpilot reviews are about the company: support calls, account lockouts, deliveries, software updates. A team watching only the store's Google rating would see nothing but praise that morning while five customers in three countries posted one-star complaints about support. Review monitoring has to cover every platform where people talk about you, and keep them apart in reporting.

Yelp adds the third view. Our Yelp reviews guide ran the Yelp Reviews Scraper on 23 October 2026 for Prince Street Pizza in New York (overall 4.3 from 5,727 reviews), 10 reviews mentioning "crust": the business had replied to 9 of the 10. Reply rate is one of the most useful numbers a monitor can track, and you get it for free from the owner-response fields.

Set up daily review monitoring without code

Scrape.ly's automations run Actors on a schedule, filter the results and send them where your team works.

  1. Save one input per platform. Open each Actor, enter your locations (Google Maps place URLs, Yelp business URLs, your Trustpilot domain) and the "new reviews only" settings from the table above, then Save as new… in the Input menu. Google Maps scrapes up to six places at once, so one input covers a chain of stores.
  2. Create an automation per platform. In Automations, click New automation and set When to On a schedule: daily at 9:00 is the default, and Hourly or a custom cron expression work too. Add the Actor with its saved input under Run.
  3. Keep only what matters. Under Keep, choose Only new items since the last run with the review ID as key field (reviewId on Google Maps, id on Yelp and Trustpilot), so a review is never sent twice. Add Only rows where… stars (Google Maps) or rating (Yelp, Trustpilot) is at most 2 for an alert channel that only fires on bad reviews.
  4. Summarise with AI (optional). The AI step's Summarize mode can answer "What are customers complaining about today, in three bullets?" over the kept reviews. It's billed per use, like the AI chat.
  5. Send it. Post to a Slack channel, email the team, append every review to Google Sheets for a running history, or call your webhook to open a ticket in your help desk.

One automation per platform keeps field names and filters simple; up to 10 Actors can run in a single automation if you'd rather combine locations. Set Max cost per run in the run options and a run stops at that amount, so a location with a sudden flood of reviews never turns into a surprise bill.

Build one review feed in Python

For dashboards, sentiment scoring or your own alert rules, pull all three platforms into one list with the same fields. Create an API token under Settings → API & Integrations, export it as SCRAPELY_TOKEN, and pip install scrapely-client-python:

python
import os
from scrapely_client import ScrapelyClient

client = ScrapelyClient(os.environ["SCRAPELY_TOKEN"], api_url="https://api.scrape.ly")

def items(actor, run_input):
    run = client.actor(actor).call(run_input=run_input)
    return list(client.dataset(run.default_dataset_id).iterate_items())

google = items("cornerledger/google-maps-reviews-scraper", {
    "startUrls": [{"url": "https://www.google.com/maps/search/Apple+Fifth+Avenue+New+York"}],
    "maxReviews": 50, "reviewsSort": "newest", "reviewsStartDate": "1 day", "personalData": False})
yelp = items("cornerledger/yelp-reviews-scraper", {
    "startUrls": [{"url": "https://www.yelp.com/biz/prince-street-pizza-new-york-2"}],
    "maxReviewsPerUrl": 50, "sortBy": "newest"})
trustpilot = items("cornerledger/trustpilot-scraper", {
    "startUrls": ["https://www.trustpilot.com/review/www.apple.com"], "maxReviews": 50, "sortBy": "recent", "lastDays": 1})

def normalize(platform, r):
    if platform == "google":
        return {"platform": "Google Maps", "place": r["title"], "id": r["reviewId"], "rating": r["stars"],
                "date": r["publishedAtDate"], "text": r.get("textTranslated") or r.get("text") or "",
                "replied": bool(r.get("responseFromOwnerText"))}
    if platform == "yelp":
        return {"platform": "Yelp", "place": r["businessName"], "id": r["id"], "rating": r["rating"],
                "date": r["date"], "text": r.get("text") or "", "replied": bool(r.get("ownerResponse"))}
    return {"platform": "Trustpilot", "place": r["businessName"], "id": r["id"], "rating": r["rating"],
            "date": r["publishedDate"], "text": r.get("text") or "", "replied": bool(r.get("reply"))}

feed = ([normalize("google", r) for r in google] + [normalize("yelp", r) for r in yelp]
        + [normalize("trustpilot", r) for r in trustpilot])
feed.sort(key=lambda r: r["date"], reverse=True)

for platform in ("Google Maps", "Yelp", "Trustpilot"):
    rows = [r for r in feed if r["platform"] == platform]
    if rows:
        avg = sum(r["rating"] for r in rows) / len(rows)
        replied = sum(r["replied"] for r in rows)
        print(f"{platform:<11} {len(rows):>2} reviews  avg {avg:.1f}  replied {replied}/{len(rows)}")

alerts = [r for r in feed if r["rating"] <= 2 and not r["replied"]]
print(f"\n{len(alerts)} unanswered reviews at 1-2 stars:")
for r in alerts[:3]:
    print(f'{r["date"][:10]}  {r["platform"]:<11} {r["rating"]}*  {r["place"]:<20} {r["text"][:50]!r}')

We ran the normalize and summary code on the three datasets from the runs above (the two from 26 October and the Yelp run from 23 October). It printed:

Text
Google Maps  5 reviews  avg 5.0  replied 0/5
Yelp        10 reviews  avg 4.1  replied 9/10
Trustpilot   5 reviews  avg 1.0  replied 0/5

5 unanswered reviews at 1-2 stars:
2026-10-26  Trustpilot  1*  Apple                'Useless service spent hours on the phone !! Sent n'
2026-10-26  Trustpilot  1*  Apple                'Bought a Macbook Air M5. I noticed after 1 month t'
2026-10-26  Trustpilot  1*  Apple                'Apple is de traagste van de traagste ik dacht dat '

Store the feed in a database keyed by platform and review ID, and you have history, reply rates and response times for every location. To score the text, the VADER approach from our Twitter sentiment analysis tutorial works on reviews too, with the star rating as a built-in check.

AI agents can run the check on demand over the hosted Scrape.ly MCP server: "Use scrapely to get today's Google Maps and Trustpilot reviews for our store and tell me which 1-star reviews still need a reply."

What review monitoring costs

You pay per review saved, platform usage included, at the list prices in the table above. Our two runs on 26 October:

  • Google Maps: 5 × $0.00044 = $0.0022 at list price.
  • Trustpilot: $0.02 run start + 5 × $0.0007 = $0.0235 at list price.

The account was billed $0.0018 and $0.0188 because its plan has a Store discount. A worked example: 25 store locations averaging 10 new Google reviews a day, plus a daily Trustpilot check with about 20 reviews, is 250 × $0.00044 + $0.02 + 20 × $0.0007 = $0.144 a day, about $4.32 for 30 days. That fits inside the Free plan's $5 of monthly credit. Because you only pay for reviews saved, a quiet day costs almost nothing.

What to watch out for

  • Platform totals don't match what you can collect. Trustpilot's profile total includes reviews its public list doesn't return, and the list shows at most 200 reviews (10 pages) to visitors without a login; separate star or language filters each get their own 200. Yelp's public feed leaves out reviews Yelp marks as not recommended. Google Maps reviews exclude partner reviews such as Tripadvisor scores on hotel pages.
  • Sorting matters. Newest-first sorting plus a date window keeps scheduled runs small. On Yelp, a keyword search returns Yelp's own relevance order and ignores the sort option.
  • Languages. Our five Google reviews came in English and Portuguese, the Trustpilot five in English and Dutch. Google Maps adds textTranslated; for the others, translate before you score sentiment.
  • Fake and duplicate reviews. Monitoring shows you what's posted; it doesn't judge authenticity. Watch for bursts of reviews in a short window and flag them to the platform through its own process.
  • Blocking. The Actors run on Scrape.ly proxies, and the Trustpilot Actor handles the browser check itself, so you don't manage IPs or sessions.
  • Personal data. Reviewer names, profiles and locations are personal data under the GDPR and the CCPA. Use personalData: false on Google Maps, collect only what you need, and don't use reviewer details to contact or profile individuals.

The Actors read reviews that anyone can see without logging in, and they never sign in, post or reply. Scrape.ly Store Actors collect only publicly available data that any visitor can see. Platform terms still apply, and they differ: our guides to scraping Google Maps reviews, Yelp reviews and Trustpilot reviews cover each site's rules. Monitoring reviews of your own business, aggregating them and answering on the platform is the most common and least risky use; republishing other people's reviews is a different matter. This isn't legal advice.

Why Scrape.ly for review monitoring

  • Any schedule, any platform. Some review management suites check non-Google sites only once a day; EmbedMyReviews, for example, documents checking Trustpilot, Yelp and TripAdvisor "about once a day". With Scrape.ly you pick hourly, daily or any cron expression, per platform.
  • Your data, raw. Every field the platform shows, in your Sheets, database, S3 bucket or webhook, ready for your own dashboards and sentiment models.
  • Pay per review. $0.44 per 1,000 Google Maps reviews, $1.54 for Yelp, $0.70 plus $0.02 a run for Trustpilot, with a cost cap per run and no per-location fee.
  • Every review site in one place. Tripadvisor, G2, Capterra, Google Play and Amazon have their own Actors, and Google Maps scraping covers places, contacts and photos as well as reviews.

FAQ

What is online review monitoring?

Tracking new reviews about your business across review sites, usually with alerts for low ratings and a record of whether each review got a reply. It helps you answer unhappy customers quickly and see trends by location and platform.

How do I get alerts for new Google reviews?

Schedule the Google Maps Reviews Scraper with newest-first sorting and a start date of 1 day, keep only new items by reviewId, filter stars at most 2, and send the result to Slack or email. The Actor reads public reviews, so it works for competitors' locations too.

Can I monitor Trustpilot reviews automatically?

Yes. Run the Trustpilot Reviews Scraper daily with lastDays: 1 and newest-first sorting, then add automation filters such as rating is at most 2, or reply is empty to catch reviews the company hasn't answered.

What is review scraping?

Collecting reviews from review sites as structured data: rating, text, date, reply and the business they belong to. It's the data layer under review monitoring, sentiment analysis and competitor research.

How much does review monitoring cost?

With Store Actors, cents a day for most businesses: 25 locations with 10 new Google reviews each per day, plus a daily Trustpilot check, comes to about $4.32 a month at list prices, platform usage included.

  • review monitoring
  • google maps reviews
  • yelp
  • trustpilot
  • reputation management
  • alerts
  • python

About the author

Actor publisher on the Scrape.ly Store

The businesses on every corner and in every register: map listings, local directories, company registries and customer reviews. For sales teams and market researchers. A Scrapely studio.

//Keep reading\\

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.