Trustpilot Review Monitoring — Customer Reviews, Delta PPE
Pricing
from $3.00 / 1,000 trustpilot review scrapeds
Trustpilot Review Monitoring — Customer Reviews, Delta PPE
Reputation monitoring for Trustpilot: run it on a daily or hourly schedule and get ONLY the new customer reviews since the previous run. Watermark-based delta, 8 locales (.com/.de/.fr/.it/.es/.nl/.se/.dk). $0.003 per review + $0.10 per domain per run that returns reviews.
Pricing
from $3.00 / 1,000 trustpilot review scrapeds
Rating
0.0
(0)
Developer
Sami
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
Trustpilot Brand Watch — delta-mode review monitor at $3.00 / 1K reviews
A Trustpilot review monitor. Daily or hourly cron returns ONLY the new reviews since the previous run, not the same 50,000 historical reviews every time. Pay-Per-Event at $0.003 per review + $0.10 per domain snapshot (charged only for a domain that returned reviews in the run). Multi-locale (.com / .de / .fr / .it / .es / .nl / .se / .dk). Crisis-monitoring filter built in (minStarRating). Built for Customer Experience and Reputation Managers running real reputation monitoring, not bulk dumps.
Cost: monitoring 10 brands daily on a cron runs ~$30-100/mo (see the cost table below). The workflow: cron → new reviews → Slack / email digest.
How to monitor your Trustpilot reputation in 3 easy steps
- Pick the domains you want to watch —
["stripe.com", "ramp.com", "zalando.de"]. They're the exact strings that appear in the Trustpilot URL (trustpilot.com/review/<domain>). - Choose your locale and rating filter.
comfor global English brands,defor DACH brand health,esfor Iberian. SetminStarRating: 1if you want crisis alerts (catch 1- and 2-star reviews); set4if you only want positive testimonials. - Schedule a daily or hourly run. Apify Saved Tasks → Schedules → cron string (e.g.
0 9 * * *for 9am daily). Delta mode is the default — only new reviews since the last run are returned and charged.
That's it. The watermark is persisted automatically in the Actor's key-value store; you do not need to track timestamps yourself.
Feature requests or bugs? Open an Issue on this Actor's page.
Who buys this Actor
| Buyer persona | Typical monthly spend | Why this Actor wins |
|---|---|---|
| Customer Experience Manager at a 50-500 person DTC brand | ~$5-20/mo per brand on a daily cron | Covers the review-monitoring part of a review-management suite |
| Reputation Manager at a B2B SaaS | $50-200/mo across 5-10 product lines | Per-brand budget bookkeeping, locale separation for EU subsidiaries |
| Trust & Safety analyst (marketplace / fintech) | $100-500/mo | Crisis alerts on 1-star reviews mentioning specific keywords — push to PagerDuty |
| Competitive intelligence at a Series B startup | $80-250/mo | Tracks 8-15 competitors' review velocity + sentiment trend |
| LLM training pipeline (sentiment, intent classification) | $200-2,000/mo | Multilingual, structured, dated reviews with verified-purchase flag |
| M&A diligence consultancy | $500-3,000/one-off | Bulk pull of acquisition-target review history across all 8 locales |
Example use cases
- Crisis monitoring —
minStarRating: 1, mode: "delta"on a 30-minute cron. Any new 1- or 2-star review pages on-call inside half an hour, before a viral thread forms. - Daily customer-experience digest — 10 brands on a 9am cron, push the delta via webhook into Slack
#cx-daily. CX team starts the day with 100% of yesterday's new reviews already triaged. - DACH locale brand health —
locale: "de"for German consumer-facing brands. Catches reviews onde.trustpilot.comthat NEVER appear on the global.comfeed. - Competitor reputation watch — daily delta across 8 competitor domains; build a weekly Slack report showing each competitor's rating trend + reply rate.
- M&A target diligence — one-off
mode: "full"run against an acquisition target across all 8 locales, full review history. Then switch todeltafor ongoing post-LOI monitoring. - Sentiment-classifier training data — multilingual structured reviews with verified-purchase flag are gold-standard supervised training data. Pull 50K labeled reviews across
de/fr/it/esfor a multilingual sentiment model.
Pricing (Pay-Per-Event)
| Event | Price | When it fires |
|---|---|---|
review-scraped | $0.003 / review | One charge per genuinely-new review returned (duplicates suppressed by the delta watermark are free) |
scheduled-domain-snapshot | $0.10 / domain / run | Once per (domain, locale) that returned reviews in the run. A quiet domain (no new reviews) is not charged. |
Realistic monthly cost examples
| Workflow | Volume | Monthly cost |
|---|---|---|
| 1 brand, daily cron, ~20 new reviews/day | 600 reviews + up to 30 snapshots | ~$5 / month |
| 5 brands, daily cron, ~10 new reviews/brand/day | 1,500 reviews + up to 150 snapshots | ~$20 / month |
| 10 brands, hourly cron, crisis monitoring (~5 new/brand/day) | 1,500 reviews + up to 1,500 snapshots (only runs where a domain had a new review) | up to ~$155 / month |
| 10 brands, 6× daily cron (every 4h), ~5 new/brand/day | 1,500 reviews + up to 1,500 snapshots | up to ~$155 / month |
| 10 brands, daily cron | 3,000 reviews + up to 300 snapshots | ~$40 / month |
| One-off M&A diligence (full mode, 1 brand, 8 locales) | 50,000 reviews + 8 snapshots | ~$151 one-off |
In Apify Console, the built-in apify-default-dataset-item event is set to $0.00001 to avoid double-billing — your actual line items are the two events in the table above.
Python example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("zhorex/trustpilot-brand-watch").call(run_input={"domains": ["stripe.com", "ramp.com", "mercury.com"],"locale": "com","mode": "delta","minStarRating": 1,"maxReviewsPerDomain": 500,"includeReply": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item["isNew"] and item["starRating"] <= 2:# Page on-call: a 1- or 2-star review just landed.notify_pagerduty(item)
JavaScript example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('zhorex/trustpilot-brand-watch').call({domains: ['zalando.de', 'aboutyou.de', 'asos.com'],locale: 'de',mode: 'delta',minStarRating: 1,includeReply: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const newOnly = items.filter(r => r.isNew);console.log(`${newOnly.length} new reviews since last run`);
Scheduled / recurring runs — the money section
Delta mode + Apify Saved Tasks + a cron schedule is the entire point of this Actor. The recipe:
- Run once with
mode: "full"to backfill historical reviews (one-time cost). - Save as a Task with
mode: "delta"and your desired domains / locale / filter. - Open the Task → Schedules → New Schedule with one of the cron strings below.
- Add a webhook to the Schedule to push the dataset into Slack / Discord / Zapier / your data warehouse.
| Use case | Cron string | What you'll spend (at most — a snapshot is charged only when that domain returned reviews) |
|---|---|---|
| Daily 9am digest, 10 brands | 0 9 * * * | ~$40/mo |
| Crisis watch every 4 hours, 5 brands | 0 */4 * * * | up to ~$95/mo |
| Twice-daily DACH locale, 20 brands | 0 9,17 * * * | up to ~$130/mo |
| Hourly crisis-only watch on 3 brands | 0 * * * * | up to ~$220/mo |
| Weekly competitor report, 8 brands | 0 9 * * 1 | ~$19/mo |
Pair the schedule with an Apify webhook → Slack incoming-webhook URL and you have a scheduled new-review feed in Slack.
Example input
{"domains": ["stripe.com", "ramp.com"],"locale": "com","mode": "delta","minStarRating": 1,"maxReviewsPerDomain": 500,"includeReply": true}
Example output (one record per review)
{"reviewId": "65f8a2c1d9b4e1234567890a","domain": "stripe.com","locale": "com","reviewerName": "Sarah K.","reviewerCountry": "US","reviewerProfileUrl": "https://www.trustpilot.com/users/abc123","starRating": 5,"reviewTitle": "Smoothest payments integration","reviewText": "We migrated from a legacy gateway and the onboarding took 2 days...","reviewLanguage": "en","verifiedPurchase": true,"reviewedAt": "2026-05-17T08:14:00+00:00","reviewUrl": "https://www.trustpilot.com/reviews/65f8a2c1d9b4e1234567890a","helpfulVotes": 4,"companyReply": {"text": "Thanks Sarah! Glad the migration went smoothly.","repliedAt": "2026-05-17T09:02:00+00:00"},"isNew": true,"scrapedAt": "2026-05-17T10:00:00+00:00"}
Output schema reference
| Field | Type | Notes |
|---|---|---|
reviewId | string | Stable Trustpilot ID — use as primary key for downstream dedup |
domain | string | The brand domain you submitted |
locale | string | The Trustpilot locale (com, de, fr, it, es, nl, se, dk) |
reviewerName | string | null | Display name (Trustpilot allows partial anonymization) |
reviewerCountry | string | null | ISO country code |
reviewerProfileUrl | string | null | Link to the reviewer's profile |
starRating | int (1-5) | |
reviewTitle | string | null | |
reviewText | string | |
reviewLanguage | string | ISO 639-1 language code (und if Trustpilot did not tag) |
verifiedPurchase | bool | True if Trustpilot tagged the review as verified |
reviewedAt | ISO 8601 | UTC timestamp of when the consumer published the review |
reviewUrl | string | Permalink to the individual review |
helpfulVotes | int | Community "helpful" up-votes |
companyReply.text | string | null | The brand's official public reply, if any |
companyReply.repliedAt | ISO 8601 | null | When the brand replied |
isNew | bool | True if this is the first time this Actor has emitted the review in the current watermark cycle |
scrapedAt | ISO 8601 | When the Actor extracted the record |
Multi-locale support
Trustpilot operates per-locale subdomains. The review pools do not overlap. A German consumer reviewing zalando.de on de.trustpilot.com is NOT visible on www.trustpilot.com/review/zalando.de. For accurate brand-health metrics you must scrape the locale your audience uses.
locale value | Host | Typical buyer use case |
|---|---|---|
com | www.trustpilot.com | Global English-speaking brands, US / UK / AU / IE / CA / SG |
de | de.trustpilot.com | DACH region — Germany, Austria, Switzerland — by far the highest-volume non-English locale |
fr | fr.trustpilot.com | France + French-speaking Belgium and Quebec |
it | it.trustpilot.com | Italy |
es | es.trustpilot.com | Spain + LATAM-Spanish |
nl | nl.trustpilot.com | Netherlands + Flemish Belgium |
se | se.trustpilot.com | Sweden |
dk | dk.trustpilot.com | Denmark (Trustpilot's home market — depth is excellent here) |
For a brand operating in multiple regions, run one Saved Task per locale. Watermarks are stored per (domain, locale) so the deltas stay independent.
What this Actor is NOT
- Not a Trustpilot API replacement. Trustpilot has an official Business API for verified business accounts. If you OWN the brand on Trustpilot, that API gives you write access (invitations, replies). This Actor is for READ-only monitoring — your own brand, your competitors, or any public listing.
- Not a profile-data scraper. This Actor returns reviews. It does not crawl reviewer profile pages, friend graphs, or PII beyond what each review's metadata already publishes.
- Not a real-time push. It's polling, not subscriptions. The shortest practical cron interval is ~15 minutes for crisis-watch use cases.
- Not a login bypass. The optional
cookieStringonly accepts a cookie YOU paste from your own logged-in session — there is no credential acceptance and no scraping of authenticated-only pages.
Optional cookies
cookieString is an OPTIONAL input: a cookie from your own logged-in trustpilot.com session. Leave it empty for the default anonymous workflow; you can add one if anonymous runs keep coming back empty.
Format: paste the entire Cookie: header value from your browser DevTools Network tab while on trustpilot.com. The Actor uses it as-is and never logs it.
FAQ
Q: How does this compare with bulk Trustpilot scrapers? A: For one-shot bulk dumps, any of the existing Apify Trustpilot actors work. For cron monitoring, delta mode returns only reviews newer than the watermark stored from your last run.
Q: Is there a Trustpilot reviews API? A: Trustpilot's Business API exists but is gated to verified brand owners and is read+write for INVITATION management, not bulk reading. For monitoring third-party brands (competitors, marketplace tenants, etc.) you need a scraper — this Actor is it.
Q: How does this compare to review-management suites such as Birdeye? A: Those suites bundle review monitoring with digests and sentiment alerts. The "review monitoring" piece is what this Actor covers, at roughly $5-40/mo for 1-10 brands on a daily cron (see the cost table). For the digest and sentiment layer, pipe the Actor's webhook into Slack and a sentiment classifier of your choice.
Q: How does the delta mode work technically?
A: On every run, this Actor reads a watermark from Apify's key-value store (one per domain + locale pair). It then scrapes reviews newest-first and STOPS as soon as it hits a review at-or-before the watermark. Only the new reviews are emitted, charged, and pushed to the dataset. After the run, the watermark is updated to the newest review's timestamp. Net result: on a daily cron, you pay for ~20 new reviews/brand/day instead of ~5,000 historical ones.
Q: What if I want to back-fill all reviews ever for a brand?
A: Run once with mode: "full" (and a high maxReviewsPerDomain). The next run, switch to mode: "delta" — the watermark will already be set, so delta picks up cleanly from where full left off.
Q: Will it scrape de.trustpilot.com if I give it zalando.de?
A: Set locale: "de". The Actor routes the request to de.trustpilot.com/review/zalando.de. Without the explicit locale, the default com will look on www.trustpilot.com/review/zalando.de — Trustpilot will return a separate (much smaller) review pool.
Q: How fresh is the data? A: Reviews appear on Trustpilot in real time as consumers publish them. This Actor extracts whatever is published at the moment of the cron run, so freshness is bounded by your cron interval (typically 15min – 24h).
Q: Does it return private / internal Trustpilot data?
A: No. It reads the public trustpilot.com/review/<domain> pages. If you add the optional cookieString, requests carry your own logged-in session. No login bypass, no internal endpoints.
Q: What does it cost compared with other Trustpilot actors? A: $0.003 per new review plus $0.10 per domain snapshot for a domain that returned reviews. Several other Trustpilot actors on the Store charge less per review and some offer incremental modes too, so compare on your own volume.
Compliance posture
- Public review pages — the
trustpilot.com/review/<domain>pages; with the optionalcookieString, requests carry your own logged-in session. - No login bypass — does not attempt authenticated-only content. The optional
cookieStringis reserved for cookies the buyer pastes from their own logged-in session. - No PII harvesting beyond what Trustpilot itself publishes — reviewer display names and country codes are the same fields Trustpilot makes public on every review card.
- Rate-limit posture — jittered request cadence, bounded concurrency, retry-with-backoff on 429.
Buyers running this commercially are responsible for downstream compliance with their own jurisdiction's data laws (GDPR, CCPA, etc.) regarding storage and processing of public review content.
Roadmap
- v0.2 — Webhook-shaped delta payload (single envelope per cron with a
newReviewsarray, optimized for Slack/Discord/Zapier). - v0.3 — Sentiment-score field on each review using a lightweight classifier (multilingual).
- v0.4 — Optional keyword-trigger event (
crisis-detected) that fires a separate PPE event when a new ≤2★ review contains user-supplied keywords (e.g. "scam", "refund refused"). - v0.5 —
daterangemode for pulling a specific window (e.g. only reviews from last 90 days, for cohort comparisons). - v1.0 — Trustpilot Profile graph (companies the same reviewer has rated) — pending demand validation.
Suite
Part of zhorex's Reputation Intelligence Suite. Delta mode (only reviews newer than the last run are returned and billed) is available here and in the Booking.com actor.
Reviews:
- Booking.com Reviews Scraper — hospitality guest reviews, with the same
deltaMode - G2 Reviews Scraper — B2B software reviews, no proxy needed
- Capterra Reviews Scraper — software reviews with sub-ratings
Price & availability monitors — what a brand's reputation costs it on the shelf:
- 🆕 Hostelworld Rate & Availability Monitor — forward-dated accommodation rates, promo stack, commission split
- 🆕 DE/AT Pharmacy Price & Stock Monitor — OTC prices, RRP breaches, stock status
- 🆕 UK Tyre Price & Fitment Monitor — tyre prices by size and postcode
- 🆕 UK PPE Shelf Monitor — 14K+ SKUs, price moves, new listings and delistings
- 🆕 Resy Availability & Scarcity Monitor — restaurant slots by date and party size
Reviews, good or bad, help other users decide: leave one here.