Trustpilot Review Monitor — New Reviews & Rating Drops
Pricing
from $20.00 / 1,000 alerts
Trustpilot Review Monitor — New Reviews & Rating Drops
Watch companies on Trustpilot and get only NEW reviews since the last run (filter by star rating, e.g. 1-2 stars only) plus alerts when a TrustScore drops, with reviewer, date, verified flag and company reply. Daily schedule. No login. MCP-ready. $20 per 1,000 alerts.
Pricing
from $20.00 / 1,000 alerts
Rating
0.0
(0)
Developer
Peter Skotte
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Trustpilot Review Monitor — new reviews & rating-drop alerts
Watch any list of companies on Trustpilot and get only what changed: new reviews (optionally just the 1–2 star ones) and drops in a company's TrustScore. The actor remembers every review it has already reported, so a daily schedule produces a clean alert feed instead of a re-scrape. Reputation-monitoring SaaS charges a monthly subscription for this; here you pay per alert.
Use cases
- Brand reputation: get every new 1–2 star review about your company the morning it appears, with the full text, so support can reply before it spreads.
- Agencies: one monitor per client (
monitorId), each with its own webhook into the client's Slack channel. - Competitor intelligence: watch competitors' review streams and TrustScores; a
rating_dropalert is an early signal of a service problem. - Due diligence / vendor risk: keep a running log of complaints about suppliers, marketplaces or fintechs.
How it works
- Loads each company's Trustpilot review page (newest first) in a real browser.
- Compares the reviews against the monitor's memory. Unseen reviews inside your star and language filters are emitted as
new_review. - Compares the company's current TrustScore with the one stored from the previous run. A fall of at least
ratingDropThresholdis emitted asrating_dropwithpreviousTrustScore. - Saves the updated memory (up to 50,000 review IDs per monitor) and POSTs a summary to your webhook.
Memory lives in a named key-value store trustpilot-monitor-<hash of monitorId>, so it survives
across runs and tasks. Delete that store to reset a monitor.
Input
| Field | Default | Notes |
|---|---|---|
companies | ["amazon.com","tesla.com"] | Company websites as shown in Trustpilot URLs |
minStarsToAlert / maxStarsToAlert | 1 / 5 | Star band for new_review alerts. 1/2 = negative reviews only |
languages | ["en"] | Trustpilot language codes; all for every language |
maxNewPerCompany | 5 | Cap on new-review alerts per company per run; the rest come out next run |
ratingDropThreshold | 0.1 | Minimum TrustScore fall (1.0–5.0 scale) that triggers rating_drop |
firstRunMode | emitAll | emitAll reports the newest reviews on the first run; baseline records them silently |
webhookUrl | "" | Optional POST target for the run summary |
monitorId | default | One memory per ID — run several watchlists side by side |
maxItems | 10 | Overall cap on alerts per run |
proxyConfiguration | Apify residential (US) | Required, see "Why a browser" below |
Recommended setup for a daily feed
- Create a task with your
companies, star band and a meaningfulmonitorId(acme-negative). - First run: set
firstRunModetobaseline. It records the current reviews and TrustScores and emits nothing, so day one is not a backlog of old reviews. - Set
maxNewPerCompanyandmaxItemshigh enough for a busy day (e.g. 50 / 500) and schedule the task daily. Companies with hundreds of reviews per day (large marketplaces) may deserve every 6 hours; the actor reads at most 100 newest reviews per company and language per run. - Point
webhookUrlat Slack (incoming webhook), Zapier, Make or your own endpoint.
The default settings ({}) run in emitAll mode so you see real reviews on the first try.
Example: negative-review alerts for two brands
{"companies": ["revolut.com", "wise.com"],"minStarsToAlert": 1,"maxStarsToAlert": 2,"languages": ["en", "de"],"maxNewPerCompany": 50,"maxItems": 500,"ratingDropThreshold": 0.1,"firstRunMode": "baseline","webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ","monitorId": "fintech-negative"}
Output
One record per alert. changeType is new_review or rating_drop.
{"company": "amazon.com","companyName": "Amazon","trustScore": 1.6,"reviewCount": 49213,"reviewId": "68d9573bf1ddb15da6e70cbc","rating": 1,"title": "Package never arrived","text": "Ordered on the 20th, tracking said delivered but …","reviewerName": "Jane D","reviewerCountry": "US","reviewDate": "2026-09-28T17:10:10.000Z","experienceDate": "2026-09-27T00:00:00.000Z","isVerified": false,"replyText": null,"replyDate": null,"reviewUrl": "https://www.trustpilot.com/reviews/68d9573bf1ddb15da6e70cbc","changeType": "new_review","previousTrustScore": null,"firstSeenAt": "2026-09-28T19:02:11.412Z","monitorId": "default"}
A rating_drop record carries the company fields, trustScore (current), previousTrustScore and
reviewUrl pointing at the company profile; the review fields are null.
Webhook payload
POSTed once per run as application/json, also saved as SUMMARY in the run's key-value store:
{"monitorId": "fintech-negative","runAt": "2026-09-29T06:00:03.118Z","newReviewCount": 7,"ratingDropCount": 1,"recorded": 0,"seenTotal": 412,"baseline": false,"companies": { "revolut.com": { "trustScore": 4.2, "reviewCount": 210331, "at": "2026-09-29T06:00:03.118Z" } },"records": [ { "...first 50 records, same shape as the dataset..." } ]}
Why a browser (and 4 GB of memory)
Trustpilot gates its pages behind a "Verifying Connection" check that blocks plain HTTP clients and headless browsers. This actor runs a real, headed Chromium on an Apify residential proxy, which passes the check. Run it with 4096 MB of memory; a browser session is why the start fee is a little higher than for a plain API monitor.
Pricing
Pay per event: a small start fee plus a fee per alert emitted. A daily run that finds nothing new costs only the start fee.
Notes
- Reviews outside the star band are remembered too, so widening the band later does not replay old reviews.
- Companies without a Trustpilot profile log a warning and are skipped.
- The first run without state is the only one where
firstRunModematters.