Trustpilot Scraper 2026 — Delta Monitor (Birdeye alt, PPE) avatar

Trustpilot Scraper 2026 — Delta Monitor (Birdeye alt, PPE)

Pricing

from $3.00 / 1,000 trustpilot review scrapeds

Go to Apify Store
Trustpilot Scraper 2026 — Delta Monitor (Birdeye alt, PPE)

Trustpilot Scraper 2026 — Delta Monitor (Birdeye alt, PPE)

Monitor Trustpilot reviews on a daily or hourly cron and receive ONLY new reviews since the previous run. Watermark-based delta engine, 8 locales (.com/.de/.fr/.it/.es/.nl/.se/.dk), Pay-Per-Event at $0.0015/review. Replaces $299/mo Birdeye Starter at $20-50/mo per brand.

Pricing

from $3.00 / 1,000 trustpilot review scrapeds

Rating

0.0

(0)

Developer

Sami

Sami

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Trustpilot Brand Watch — delta-mode review monitor at $3.00 / 1K reviews

The Trustpilot review monitor your team actually leaves running. 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 scheduled snapshot. 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.

Pricing anchor: Birdeye Starter runs $299/mo per location for review monitoring. Reputation.com starts at $1,400/mo per location. This Actor monitors 10 brands daily on a cron for ~$30-100/mo — still a meaningful reduction in cost-per-monitored-brand vs. the SaaS incumbents, with the same headline workflow: cron → new reviews → Slack / email digest.


How to monitor your Trustpilot reputation in 3 easy steps

  1. 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>).
  2. Choose your locale and rating filter. com for global English brands, de for DACH brand health, es for Iberian. Set minStarRating: 1 if you want crisis alerts (catch 1- and 2-star reviews); set 4 if you only want positive testimonials.
  3. 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.


Enterprise inquiry

Running >10K reviews per month, monitoring across all 8 locales, or need a schema SLA for downstream pipelines? Contact the author through the Actor page — custom dataset views, webhook integrations, and dedicated proxy pools are available on request. Typical enterprise lift turnaround is one week.


Who buys this Actor

Buyer personaTypical monthly spendWhy this Actor wins
Customer Experience Manager at a 50-500 person DTC brand$30-100/mo per brand monitoredReplaces $299/mo Birdeye Starter with the same daily-digest workflow
Reputation Manager at a B2B SaaS$50-200/mo across 5-10 product linesPer-brand budget bookkeeping, locale separation for EU subsidiaries
Trust & Safety analyst (marketplace / fintech)$100-500/moCrisis alerts on 1-star reviews mentioning specific keywords — push to PagerDuty
Competitive intelligence at a Series B startup$80-250/moTracks 8-15 competitors' review velocity + sentiment trend
LLM training pipeline (sentiment, intent classification)$200-2,000/moMultilingual, structured, dated reviews with verified-purchase flag
M&A diligence consultancy$500-3,000/one-offBulk pull of acquisition-target review history across all 8 locales

Example use cases

  1. Crisis monitoringminStarRating: 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.
  2. 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.
  3. DACH locale brand healthlocale: "de" for German consumer-facing brands. Catches reviews on de.trustpilot.com that NEVER appear on the global .com feed.
  4. Competitor reputation watch — daily delta across 8 competitor domains; build a weekly Slack report showing each competitor's rating trend + reply rate.
  5. M&A target diligence — one-off mode: "full" run against an acquisition target across all 8 locales, full review history. Then switch to delta for ongoing post-LOI monitoring.
  6. 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 / es for a multilingual sentiment model.

Pricing (Pay-Per-Event)

EventPriceWhen it fires
review-scraped$0.003 / reviewOne charge per genuinely-new review returned (duplicates suppressed by the delta watermark are free)
scheduled-domain-snapshot$0.10 / domain / runOnce per (domain, locale) per scheduled run — covers orchestration even on quiet days when zero new reviews appeared

Realistic monthly cost examples

WorkflowVolumeMonthly cost
1 brand, daily cron, ~20 new reviews/day600 reviews + 30 snapshots~$5 / month
5 brands, daily cron, ~10 new reviews/brand/day1,500 reviews + 150 snapshots~$20 / month
10 brands, hourly cron, crisis monitoring (~5 new/brand/day)1,500 reviews + 7,200 snapshots~$725 / month
10 brands, 6× daily cron (every 4h)1,500 reviews + 1,800 snapshots~$185 / month
10 brands, daily cron3,000 reviews + 300 snapshots~$40 / month vs. Birdeye $2,990/mo for 10 locations
One-off M&A diligence (full mode, 1 brand, 8 locales)50,000 reviews + 8 snapshots~$151 one-off

Cron-frequency tip: the per-snapshot price is what funds the orchestration cost on quiet days. For most reputation-monitoring workflows, daily or 4-hourly is the sweet spot. Hourly is only economical for crisis-watch on a small handful of high-risk brands.

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 ApifyClient
client = 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:

  1. Run once with mode: "full" to backfill historical reviews (one-time cost).
  2. Save as a Task with mode: "delta" and your desired domains / locale / filter.
  3. Open the Task → Schedules → New Schedule with one of the cron strings below.
  4. Add a webhook to the Schedule to push the dataset into Slack / Discord / Zapier / your data warehouse.
Use caseCron stringWhat you'll spend
Daily 9am digest, 10 brands0 9 * * *~$40/mo
Crisis watch every 4 hours, 5 brands0 */4 * * *~$95/mo
Twice-daily DACH locale, 20 brands0 9,17 * * *~$130/mo
Hourly crisis-only watch on 3 brands0 * * * *~$220/mo
Weekly competitor report, 8 brands0 9 * * 1~$19/mo

Pair the schedule with an Apify webhook → Slack incoming-webhook URL and you have a sub-$50 alternative to a $299/mo SaaS reputation tool.


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

FieldTypeNotes
reviewIdstringStable Trustpilot ID — use as primary key for downstream dedup
domainstringThe brand domain you submitted
localestringThe Trustpilot locale (com, de, fr, it, es, nl, se, dk)
reviewerNamestring | nullDisplay name (Trustpilot allows partial anonymization)
reviewerCountrystring | nullISO country code
reviewerProfileUrlstring | nullLink to the reviewer's profile
starRatingint (1-5)
reviewTitlestring | null
reviewTextstring
reviewLanguagestringISO 639-1 language code (und if Trustpilot did not tag)
verifiedPurchaseboolTrue if Trustpilot tagged the review as verified
reviewedAtISO 8601UTC timestamp of when the consumer published the review
reviewUrlstringPermalink to the individual review
helpfulVotesintCommunity "helpful" up-votes
companyReply.textstring | nullThe brand's official public reply, if any
companyReply.repliedAtISO 8601 | nullWhen the brand replied
isNewboolTrue if this is the first time this Actor has emitted the review in the current watermark cycle
scrapedAtISO 8601When 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 valueHostTypical buyer use case
comwww.trustpilot.comGlobal English-speaking brands, US / UK / AU / IE / CA / SG
dede.trustpilot.comDACH region — Germany, Austria, Switzerland — by far the highest-volume non-English locale
frfr.trustpilot.comFrance + French-speaking Belgium and Quebec
itit.trustpilot.comItaly
eses.trustpilot.comSpain + LATAM-Spanish
nlnl.trustpilot.comNetherlands + Flemish Belgium
sese.trustpilot.comSweden
dkdk.trustpilot.comDenmark (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 cookieString only 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. Leave it empty for the default anonymous workflow — it works for typical monitoring loads.

Provide a cookie string only when:

  • You're running heavy multi-domain bulk pulls (>30 domains in a single run) and want a higher per-IP rate ceiling.
  • You're behind a corporate proxy that already provides Trustpilot cookies and you want to reuse them.

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: What's the best Trustpilot scraper in 2026? A: For one-shot bulk dumps, any of the existing Apify Trustpilot actors work. For ongoing monitoring with daily or hourly cron, this is the only one that returns ONLY new reviews per run — the rest re-scrape and re-charge for the full history every time. If your workflow is a cron, the math is decisive.

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 is this a Birdeye alternative? A: Birdeye Starter is $299/mo per location for review monitoring + a Slack digest + sentiment alerts. The "review monitoring" piece is what this Actor replaces, at $30-100/mo per location. For the digest and sentiment layer, pipe the Actor's webhook into Slack and any sentiment classifier — you'll spend another $0-50/mo and have a fully replicated workflow.

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: I'm running this on a casper11515 / parseforge / memo23 saved task that just got expensive — is this a drop-in replacement? A: Yes for the reading workflow, and substantially cheaper. The rental Trustpilot actors charge a flat monthly fee regardless of usage; this Actor is strict PPE so a quiet brand is essentially free to monitor. The output schema is a superset of the rental actors' schemas plus the isNew flag, so downstream pipelines need almost no changes.

Q: What about the Apify Trustpilot rental sunset on Oct 1, 2026? A: Apify is deprecating the rental pricing model across the whole marketplace on Oct 1, 2026. Every Trustpilot rental actor (memo23, parseforge, casper11515) will have to migrate to PPE by then or shut down. This Actor was built PPE-first; there is no migration risk.

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. Only the public review content that any anonymous browser visitor sees on the public trustpilot.com/review/<domain> page. No login bypass, no internal endpoints.

Q: Will it bypass Cloudflare? A: The HTTP layer uses browser-grade HTTP transport that matches real-browser fingerprints at the TLS layer, which is enough for the default residential Apify proxy. If Cloudflare gets aggressive on a specific locale during a campaign, the retry-with-backoff loop and the session warm-up usually clear it; in rare cases switching residential proxy country resolves it.

Q: Is there a Trustpilot reviews PPE pricing benchmark? A: At $0.003/review this is competitively priced for a PPE-based Trustpilot scraper on Apify Store as of May 2026 — and the only one with delta-mode watermarking. Bulk-mode actors typically charge $0.001-$0.01/review, but they re-charge for the full history on every run; this Actor charges only for genuinely-new reviews.


Compliance posture

  • Public data only — same content any anonymous browser visitor sees on trustpilot.com/review/<domain> pages.
  • No login bypass — does not attempt authenticated-only content. The optional cookieString is 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.
  • Respects robots.txt and 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 newReviews array, 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.5daterange mode 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 — pair with the Booking.com Reviews Scraper (hospitality) and (forthcoming) G2 + Capterra delta monitors for full-stack B2B+DTC reputation coverage in one normalized schema.

If this Actor saves you time, a 30-second review is the single most valuable thing you can do — it brings the tool to other buyers and pays for continued maintenance. Thanks for trying it.


Last updated: May 2026