Trustpilot Scraper - Reviews, Companies & Monitor avatar

Trustpilot Scraper - Reviews, Companies & Monitor

Pricing

from $0.25 / 1,000 company profiles

Go to Apify Store
Trustpilot Scraper - Reviews, Companies & Monitor

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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Trustpilot Scraper — Reviews, Companies & Reputation Monitor

Unofficial tool for publicly accessible Trustpilot data. Trustpilot and related trademarks belong to their respective owners. Not affiliated with, sponsored by, or endorsed by Trustpilot A/S. Provided for informational and reputation-monitoring use only; users must comply with applicable terms and laws.

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

ModeWhat it does
monitorNamed KV watermarks + early-stop; emit only new reviews / meta deltas (default)
companyCompany profile row + reviews (optional recursive splitting)
reviewsReviews only

Key features

  • Hybrid WAF access — Playwright solves AWS WAF once (aws-waf-token); curl_cffi fetches 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 > 200 on full scrapes
  • Typed dataset rowsrecordType: company, review, monitor_event
  • Alerts — optional webhookUrl (Slack / Discord / custom) + Telegram bot
  • Residential proxies — recommended; datacenter IPs are usually blocked

Input parameters

ParameterDescription
modemonitor / company / reviews
startUrls / companyDomainsReview page URLs or domains (e.g. spotify.com)
maxReviewsPer-company review cap (0 = unlimited within splitter / page limits)
maxItemsHard dataset row cap (0 = unlimited)
stars / languagesOptional filters
splitLargeCompaniesAuto star × language split when total > 200 (full scrape only)
concurrencyParallel page workers
monitorStoreName / monitorBaselineOnly / resetMonitorStateMonitor KV controls
monitorFetchReviews / monitorMaxPages / earlyStopAfterKnownIncremental scan controls
webhookUrl / telegramToken / telegramChatIdAlerts
proxyConfigurationUse 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

recordTypeFields (highlights)
companycompanyDomain, companyName, trustScore, stars, numberOfReviews, url
reviewreviewId, reviewTitle, reviewText, reviewRating, publishedDate, consumerName, hasReply
monitor_eventchangeType (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 caseWhat you get
ORM / brand monitoringNew reviews + TrustScore moves on a schedule
Competitor researchStructured review text, stars, and replies for rivals
Negative-review alertsWebhook / Telegram only for 1–2★ reviews
Sentiment / NLP datasetsClean JSON/CSV review corpora by language or star
AI assistant workflowsRun 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 ApifyClient
client = 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

  1. Seed with mode=monitor + monitorBaselineOnly=true (writes KV watermarks, no deltas).
  2. Schedule the same Actor with monitorBaselineOnly=false.
  3. Each run refreshes the company fingerprint, walks newest reviews, and stops after earlyStopAfterKnown consecutive already-seen / older reviews.
  4. 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 monitor for production schedules; use company for historical dumps.
  • Keep concurrency moderate (2–6) on shared residential pools.
  • Always enable Residential proxies for Store QA and production.