Trustpilot Reviews Scraper – Ratings, Replies & TrustScore avatar

Trustpilot Reviews Scraper – Ratings, Replies & TrustScore

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Trustpilot Reviews Scraper – Ratings, Replies & TrustScore

Trustpilot Reviews Scraper – Ratings, Replies & TrustScore

Under maintenance

Scrape Trustpilot reviews for any company: rating, text, dates, reviewer, verified flag and company replies plus TrustScore and star distribution. For reputation monitoring and research.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

What does Trustpilot Reviews Scraper do?

Trustpilot Reviews Scraper extracts customer reviews from Trustpilot for any company – star rating, title, full review text, publish and experience dates, reviewer name and country, verified flag, likes and the company's reply – plus the company's TrustScore, total review count, star distribution and categories on every row. Paste a Trustpilot URL, a website or just a domain, and export the collected reviews to JSON, CSV, Excel or straight into your tools via API. No Trustpilot account or API key required; the Actor attempts a browser session when Trustpilot presents a JavaScript challenge. Upstream blocks can still prevent collection.

What data can you extract?

Every dataset row is one review with the company summary attached (50+ fields):

FieldExample
business_nameZalando GmbH
business_trust_score / business_overall_rating1.4
business_total_reviews11734
business_reviews_1_star … business_reviews_5_stars9274 … 1198
business_categories / business_primary_category["Shoe Store"]
business_website, business_country, business_is_claimedhttps://www.zalando.de, DE, true
review_id, review_url621549cd…, https://www.trustpilot.com/reviews/621549cd…
rating1
title, textWorst Customer Experience, full text
languageen
date_published, date_experience, date_updated2022-02-22T20:38:37Z
reviewer_name, reviewer_country, reviewer_review_countSameh, DE, 3
reviewer_profile_url, reviewer_idhttps://www.trustpilot.com/users/61fa37e8…
is_verified, verification_level, review_sourcefalse, not-verified, Organic
helpful_count (likes)1
owner_reply, owner_reply_date, has_owner_replycompany reply text and date
input, scraped_atwhat you entered, when it was scraped

A per-company summary (TrustScore, star distribution, review count per language, AI summary, contact info) is also saved to the key-value store record COMPANIES, and a run report to RUN_SUMMARY.

How to use

  1. Open the actor and add companies – one per line. Any of these work: https://www.trustpilot.com/review/www.amazon.com, https://de.trustpilot.com/review/www.zalando.de, https://www.booking.com, booking.com, or even a company name like Deutsche Bahn (resolved via Trustpilot search).
  2. Set Max reviews per company and optional filters: star rating (e.g. only 1–2 star complaints), language, "published within" period, date range, verified only, only reviews with a company reply, or a keyword such as refund.
  3. Click Start. Download the results as JSON, CSV, Excel or HTML, or fetch them via API.
{
"businessSlugs": ["https://www.trustpilot.com/review/www.amazon.com", "booking.com"],
"maxReviews": 2,
"language": "all",
"sortBy": "recency",
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

More than 200 reviews per company

Trustpilot shows logged-out visitors only 10 pages (200 reviews) per filter combination. With Collect more than 200 reviews per company enabled (default), the actor automatically splits the request by language, star rating and sort order and de-duplicates by review ID, which can expose additional public reviews. It does not guarantee all reviews or bypass a login requirement. When you need exactly the newest N reviews, keep N ≤ 200 or use the date filters.

Output example

Real output from a test run (review text shortened):

{
"source": "trustpilot",
"business_name": "Zalando GmbH",
"business_external_id": "49b922710000640005042610",
"business_url": "https://www.trustpilot.com/review/www.zalando.de",
"business_overall_rating": 1.4,
"business_total_reviews": 11734,
"review_id": "621549cde0365cc27e76840c",
"review_url": "https://www.trustpilot.com/reviews/621549cde0365cc27e76840c",
"rating": 1,
"title": "Worst Customer Experience",
"text": "I am a plus customer, order something and transfered the money normally, in my order status everything is fine. Recently, they claimed the payment has been cancelled ...",
"language": "en",
"date_published": "2022-02-22T20:38:37Z",
"date_experience": "",
"reviewer_name": "Sameh",
"reviewer_country": "DE",
"reviewer_profile_url": "https://www.trustpilot.com/users/61fa37e80bb0a60012643798",
"reviewer_review_count": 3,
"helpful_count": 1,
"likes_count": 1,
"is_verified": false,
"owner_reply": "Good day,\n\nunfortunately, the given reference number could not be verified. Please contact our customer service. ...",
"owner_reply_date": "2022-03-08T14:24:14Z",
"photos": [],
"has_owner_reply": true,
"date_updated": "2022-04-13T07:46:38Z",
"review_source": "Organic",
"verification_level": "not-verified",
"reviewer_id": "61fa37e80bb0a60012643798",
"business_domain": "www.zalando.de",
"business_website": "https://www.zalando.de",
"business_trust_score": 1.4,
"business_stars": 1.5,
"business_reviews_1_star": 9274,
"business_reviews_2_stars": 656,
"business_reviews_3_stars": 284,
"business_reviews_4_stars": 322,
"business_reviews_5_stars": 1198,
"business_reviews_last_12_months": 1014,
"business_categories": ["Shoe Store"],
"business_primary_category": "Shoe Store",
"business_country": "DE",
"business_is_claimed": true,
"input": "https://www.trustpilot.com/review/www.zalando.de",
"scraped_at": "2026-10-15T18:04:35Z"
}

How much does Trustpilot scraping cost?

This Actor currently uses pay per usage (shown as FREE in the Actor API): there is no separate per-review or Actor rental fee. You pay Apify platform usage, including compute, storage and any proxy traffic. The Pricing tab is the authoritative place to check the current model.

Begin with maxReviews: 2 for each company and inspect the run's Usage breakdown before increasing volume. A browser session and residential traffic can dominate small runs, so there is no fixed cost per review. maxReviews is per company, and 0 requests all reachable reviews; it is not a dollar spending cap. A pay-per-event Max charge setting is not a cap on this Actor's pay-per-usage platform costs. Use a bounded timeout and review your Apify usage limits.

Run reports and limitations

RUN_SUMMARY.totalReviews counts rows accepted during this execution. Each company includes its result count and notes. status: partial indicates a budget stop or company issue; incomplete identifies a dataset delivery failure and the run fails even if earlier reviews were saved. Keep useful existing dataset rows when investigating a failed run. No new rows are intentionally submitted after a delivery failure. A complete execution means the requested processing finished without a recorded delivery/company error; it does not certify a full historical export. Public pagination, filter combinations, date boundaries and the requested limit still apply.

Start a fresh run for a new collection. Persistent cross-run deduplication and resume checkpoints are not provided: deduplication is by review ID within each company's current execution. A scheduled run can return reviews that were already collected; deduplicate by review_id in your destination.

Use cases

  • Reputation management – monitor new reviews and company replies daily, alert on new 1–2 star reviews.
  • Competitor benchmarking – compare TrustScore, star distribution and complaint themes across your market.
  • Lead generation for agencies – find companies with low TrustScore, unanswered negative reviews or unclaimed profiles and pitch review-management or CX services.
  • Customer experience & product research – mine complaints by keyword ("refund", "delivery", "support") and language.
  • Sentiment analysis & AI training data – multilingual, labelled (1–5 stars) real-world review text.
  • Due diligence & investment research – track review velocity (business_reviews_last_12_months) and rating trends.

Integrations

Use the results anywhere: the Apify API, Make, Zapier, n8n, Google Sheets, Slack, Airbyte or webhooks that fire when a run finishes. Schedule the actor (e.g. daily with datePeriod: "last30days") to build a review-monitoring feed.

Python (apify-client 3.x; store your token in an environment variable):

import os
from datetime import timedelta
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("ninhothedev/trustpilot-scraper").call(
run_input={"businessSlugs": ["www.amazon.com"], "maxReviews": 2},
run_timeout=timedelta(seconds=180),
memory_mbytes=1024,
)
if run is None or run.status != "SUCCEEDED":
raise RuntimeError("Inspect the run log and RUN_SUMMARY before using partial results")
for review in client.dataset(run.default_dataset_id).iterate_items():
print(review["business_name"], review["rating"], review["title"])

The timeout bounds runtime, not a fixed dollar cost. Configure residential proxy access in the input when required by your environment.

FAQ

Is it legal to scrape Trustpilot reviews? The actor collects only publicly visible review data, the same content anyone sees in a browser without logging in. Reviews contain personal data (reviewer names), so make sure your use complies with GDPR and other applicable laws and with Trustpilot's terms. If unsure, consult a lawyer.

How many reviews can I get? Up to 200 per filter combination directly; with deep pagination (default) the Actor combines languages, star ratings and sort orders when available. Very large profiles (e.g. 100,000+ reviews) cannot be downloaded completely without a Trustpilot login.

Do I need a proxy? Trustpilot is protected by an AWS WAF challenge, for which the Actor attempts a browser session before making further requests. Success is not guaranteed. The input prefill selects an Apify RESIDENTIAL proxy; if a connection is blocked the actor automatically falls back to other options.

Why do I get English reviews only on trustpilot.com, but all languages here? Trustpilot's website filters to English by default. This actor requests languages=all unless you choose a language.

Can I schedule it? Yes – use Apify Schedules (e.g. every morning) together with datePeriod or dateFrom to restrict review dates. Repeated runs can still overlap; deduplicate by review ID downstream.

Something doesn't work? Check the RUN_SUMMARY record in the run's key-value store, then open an issue on the actor's Issues tab – include the run ID, input and the relevant error without sharing credentials.