---
title: "Review Monitoring: Google, Yelp, Trustpilot | Scrape.ly"
description: "Review monitoring across Google Maps, Yelp and Trustpilot: real runs, a daily schedule with Slack and email alerts, one-feed Python code, and the cost."
url: https://scrape.ly/blog/review-monitoring
markdown: https://scrape.ly/blog/review-monitoring.md
---

[Use cases](https://scrape.ly/blog/category/use-cases.md)

# 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.

[Corner Ledger Actor publisher on the Scrape.ly Store](https://scrape.ly/blog/author/cornerledger.md)

- Published

  Oct 26, 2026

- 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](https://scrape.ly/media/review-monitoring.png?w=1080)

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](https://scrape.ly/store.md), 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](https://scrape.ly/store/cornerledger/google-maps-reviews-scraper.md) | 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](https://scrape.ly/store/cornerledger/yelp-reviews-scraper.md)               | 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](https://scrape.ly/store/cornerledger/trustpilot-scraper.md)           | 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](https://scrape.ly/store/roamandroof/tripadvisor-reviews-scraper.md), [G2](https://scrape.ly/store/cornerledger/g2-reviews-scraper.md), [Capterra](https://scrape.ly/store/cornerledger/capterra-scraper.md), 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](https://scrape.ly/blog/scrape-yelp-reviews.md) 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.

Scrape.ly Store Google Maps Reviews Scraper Newest Google Maps reviews for any place: stars, text, translation, owner replies and dates, with a privacy switch. $0.44 per 1,000 reviews.

[Try it free](https://scrape.ly/store/cornerledger/google-maps-reviews-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## Set up daily review monitoring without code

Scrape.ly's [automations](https://scrape.ly/docs/automations.md) 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:

```plaintext
Google Maps  5 reviews  avg 5.0  replied 05
Yelp        10 reviews  avg 4.1  replied 910
Trustpilot   5 reviews  avg 1.0  replied 05

5 unanswered reviews at 12 stars:
20261026  Trustpilot  1*  Apple                'Useless service spent hours on the phone !! Sent n'
20261026  Trustpilot  1*  Apple                'Bought a Macbook Air M5. I noticed after 1 month t'
20261026  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](https://scrape.ly/blog/twitter-sentiment-analysis.md) 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](https://scrape.ly/mcp.md): "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.

## Is review scraping legal?

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](https://scrape.ly/blog/scrape-google-maps-reviews.md), [Yelp reviews](https://scrape.ly/blog/scrape-yelp-reviews.md) and [Trustpilot reviews](https://scrape.ly/blog/scrape-trustpilot-reviews.md) 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](https://www.embedmyreviews.com/features/review-monitoring/) 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](https://scrape.ly/scrapers/google-maps.md) 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.

Scrape.ly Store Monitor your Trustpilot reviews Newest public Trustpilot reviews with stars, text, country, verification and company replies. $0.70 per 1,000 reviews plus $0.02 per run.

[Try it free](https://scrape.ly/store/cornerledger/trustpilot-scraper.md) [Browse the Store](https://scrape.ly/store.md)

About the author

[Corner Ledger](https://scrape.ly/blog/author/cornerledger.md) 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.

- [Website](https://scrape.ly/users/cornerledger.md)

Keep reading

## More in Use cases

- [![Pixel-art robot with an orange >\_ on its terminal head holds up a post taken from a feed headed by the white X logo, sorting posts into two crates marked with a green smiling face and a red frowning face](https://scrape.ly/media/twitter-sentiment-analysis.png?w=750)](https://scrape.ly/blog/twitter-sentiment-analysis.md)
  ### [Twitter Sentiment Analysis in Python: Score Real Tweets With VADER](https://scrape.ly/blog/twitter-sentiment-analysis.md)
  [Twitter sentiment analysis on 20 real tweets about Delta Air Lines: collect them with the Tweet Scraper, score them with VADER in a few lines of Python, see where VADER goes wrong, and fix it with engagement weighting and a transformer model. Tested code, real output, real cost.](https://scrape.ly/blog/twitter-sentiment-analysis.md)
- [![Pixel-art robot with an orange >\_ on its terminal head takes a job card off a wide cork job board whose header shows the Google G, LinkedIn and Indeed logos, above six pinned job cards](https://scrape.ly/media/job-scraping.png?w=750)](https://scrape.ly/blog/job-scraping.md)
  ### [Job Scraping: How to Scrape Job Postings From LinkedIn, Indeed and Google Jobs](https://scrape.ly/blog/job-scraping.md)
  [Job scraping collects public job ads from boards like LinkedIn, Indeed and Google Jobs into one table. Real runs from 22 and 23 October 2026, a Python script that merges and deduplicates the three sources, a daily no-code feed, and the cost per 1,000 jobs.](https://scrape.ly/blog/job-scraping.md)
- [![Pixel-art robot with an orange >\_ on its terminal head takes a yellow price tag off a store shelf whose header shows the Amazon and Walmart logos and drops it into a crate of price tags](https://scrape.ly/media/price-scraping.png?w=750)](https://scrape.ly/blog/price-scraping.md)
  ### [Price Scraping: How to Monitor Competitor Prices Automatically](https://scrape.ly/blog/price-scraping.md)
  [Price scraping collects product prices from retailer pages so you can compare them and react. Here is a real cross-retailer check of one keyboard on Amazon, Walmart, Best Buy and Target, a daily workflow with schedules and Google Sheets, Python code, and the cost per check.](https://scrape.ly/blog/price-scraping.md)

## 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.

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:hello@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
