Trustpilot Scraper - Reviews, Companies & Monitor
Pricing
from $0.25 / 1,000 company profiles
Trustpilot Scraper - Reviews, Companies & Monitor
Scrape Trustpilot company profiles and reviews: TrustScore, stars, text, replies, language. Monitor mode for new reviews and score alerts. Filter splitting past the 200-review cap. Residential proxies recommended.
Pricing
from $0.25 / 1,000 company profiles
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Trustpilot Scraper — Reviews, Companies & Reputation Monitor
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Trustpilot A/S or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Trustpilot Scraper ◄── you are here
Scrape Trustpilot company profiles and reviews into structured JSON on Apify — TrustScore, star ratings, review text, language, consumer country, and company replies. Use it as a practical Trustpilot API alternative for Python or Node.js pipelines, scheduled reputation monitoring, and ORM / brand-intel workflows. Default monitor / incremental mode only emits new reviews and TrustScore deltas, so daily cron runs stay cheap instead of re-downloading full histories.
Best for: Trustpilot review mining, competitor reputation tracking, TrustScore drop alerts, star/language-filtered exports, and JSON/CSV datasets for BI or AI assistants via Apify MCP.
When to use this Actor
- Trustpilot reviews scraper jobs for one or many company domains
- Incremental monitoring — scheduled runs that stop early once known reviews appear
- TrustScore alerts via webhook or Telegram when the score moves
- Full company dumps past the public ~200-review page cap (star × language filter splitting)
- Star- or language-filtered review exports for sentiment / NLP pipelines
When not to use this Actor
- Private Trustpilot Business inbox / messaging — this Actor only reads public review pages
- Writing reviews, claiming profiles, or authenticated Business Portal actions
- Sites other than Trustpilot company review pages
Modes
| Mode | What it does |
|---|---|
monitor | Named KV watermarks + early-stop; emit only new reviews / meta deltas (default) |
company | Company profile row + reviews (optional recursive splitting) |
reviews | Reviews only |
Key features
- Hybrid WAF access — Playwright solves AWS WAF once (
aws-waf-token);curl_cffifetches pages with Chrome TLS; persistent browser fallback if needed - Monitor-first design — watermark + seen review IDs; early-stop after consecutive known / older reviews
- Recursive filter splitting — stars → languages when
numberOfReviews > 200on full scrapes - Typed dataset rows —
recordType:company,review,monitor_event - Alerts — optional
webhookUrl(Slack / Discord / custom) + Telegram bot - Residential proxies — recommended; datacenter IPs are usually blocked
Input parameters
| Parameter | Description |
|---|---|
mode | monitor / company / reviews |
startUrls / companyDomains | Review page URLs or domains (e.g. spotify.com) |
maxReviews | Per-company review cap (0 = unlimited within splitter / page limits) |
maxItems | Hard dataset row cap (0 = unlimited) |
stars / languages | Optional filters |
splitLargeCompanies | Auto star × language split when total > 200 (full scrape only) |
concurrency | Parallel page workers |
monitorStoreName / monitorBaselineOnly / resetMonitorState | Monitor KV controls |
monitorFetchReviews / monitorMaxPages / earlyStopAfterKnown | Incremental scan controls |
webhookUrl / telegramToken / telegramChatId | Alerts |
proxyConfiguration | Use Apify Residential proxies |
Example — monitor baseline then schedule
{"mode": "monitor","companyDomains": ["spotify.com", "notion.so"],"monitorStoreName": "trustpilot-monitor-store","monitorBaselineOnly": true,"monitorMaxPages": 3,"earlyStopAfterKnown": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
After the baseline run, set monitorBaselineOnly to false (or omit it). Schedule every 15–60 minutes — later runs emit only deltas and stop early.
Example — full company scrape
{"mode": "company","companyDomains": ["spotify.com"],"maxReviews": 250,"splitLargeCompanies": true,"concurrency": 4,"includeCompanyProfile": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
recordType | Fields (highlights) |
|---|---|
company | companyDomain, companyName, trustScore, stars, numberOfReviews, url |
review | reviewId, reviewTitle, reviewText, reviewRating, publishedDate, consumerName, hasReply |
monitor_event | changeType (new_review, trustscore_drop, trustscore_rise, review_count_change, …) |
Output example — review
{"recordType": "review","companyDomain": "spotify.com","companyName": "Spotify","reviewId": "6a6b2fc33b6685498e30e738","reviewTitle": "It just became my default","reviewText": "Easy to use and great catalog.","reviewRating": 5,"reviewLanguage": "en","publishedDate": "2026-08-01T12:00:00.000Z","consumerName": "Alex","consumerCountry": "US","hasReply": false,"scrapedAt": "2026-08-03T10:05:20.000Z"}
Use cases
| Use case | What you get |
|---|---|
| ORM / brand monitoring | New reviews + TrustScore moves on a schedule |
| Competitor research | Structured review text, stars, and replies for rivals |
| Negative-review alerts | Webhook / Telegram only for 1–2★ reviews |
| Sentiment / NLP datasets | Clean JSON/CSV review corpora by language or star |
| AI assistant workflows | Run via Apify API, clients, or MCP and summarize results |
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/trustpilot-scraper').call({mode: 'company',companyDomains: ['spotify.com'],maxReviews: 100,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],},});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/trustpilot-scraper").call(run_input={"mode": "monitor","companyDomains": ["spotify.com"],"monitorStoreName": "trustpilot-monitor-store","monitorBaselineOnly": False,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],},})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(len(items), items[:3])
cURL
curl "https://api.apify.com/v2/acts/crawloop~trustpilot-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "reviews","companyDomains": ["spotify.com"],"maxReviews": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/trustpilot-scraper.
Example prompts:
- "Run the Trustpilot scraper for spotify.com in company mode, max 100 reviews, and return TrustScore plus the newest 10 reviews as JSON"
- "Scrape Trustpilot reviews for notion.so and summarize the top 1-star complaint themes"
- "Start a Trustpilot monitor baseline for my brand domains, then tell me how to schedule incremental runs"
Monitor workflow
- Seed with
mode=monitor+monitorBaselineOnly=true(writes KV watermarks, no deltas). - Schedule the same Actor with
monitorBaselineOnly=false. - Each run refreshes the company fingerprint, walks newest reviews, and stops after
earlyStopAfterKnownconsecutive already-seen / older reviews. - Optional webhook / Telegram fires for configured change types.
FAQ
Is this a Trustpilot API?
No official Trustpilot Business API key is required. The Actor reads publicly available company review pages and returns structured dataset rows — a common Trustpilot API alternative for scraping / monitoring use cases.
Why do I need residential proxies?
Trustpilot sits behind AWS WAF. Datacenter IPs usually get a challenge page. Use Apify Residential proxies for reliable runs.
How does monitor mode save cost?
It stores review watermarks in a named Key-Value Store. Later runs only emit new reviews / TrustScore changes and stop pagination early when they hit already-seen content.
Can I scrape more than 200 reviews per company?
Yes, in company / reviews mode with splitLargeCompanies=true. The Actor splits by stars and then languages to work around the public 10-page listing cap, then deduplicates by review ID.
Can I filter by stars or language?
Yes — set stars (e.g. ["1","2"]) and/or languages (e.g. ["en","de"]).
Does it export JSON / CSV?
Yes. Results land in the Apify dataset. Download JSON, CSV, or Excel from the run, or pipe via API / integrations / MCP.
Tips
- Prefer
monitorfor production schedules; usecompanyfor historical dumps. - Keep
concurrencymoderate (2–6) on shared residential pools. - Always enable Residential proxies for Store QA and production.