Trustpilot Reviews Scraper – Ratings, Replies & TrustScore
Under maintenancePricing
Pay per usage
Trustpilot Reviews Scraper – Ratings, Replies & TrustScore
Under maintenanceScrape 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
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):
| Field | Example |
|---|---|
business_name | Zalando GmbH |
business_trust_score / business_overall_rating | 1.4 |
business_total_reviews | 11734 |
business_reviews_1_star … business_reviews_5_stars | 9274 … 1198 |
business_categories / business_primary_category | ["Shoe Store"] |
business_website, business_country, business_is_claimed | https://www.zalando.de, DE, true |
review_id, review_url | 621549cd…, https://www.trustpilot.com/reviews/621549cd… |
rating | 1 |
title, text | Worst Customer Experience, full text |
language | en |
date_published, date_experience, date_updated | 2022-02-22T20:38:37Z |
reviewer_name, reviewer_country, reviewer_review_count | Sameh, DE, 3 |
reviewer_profile_url, reviewer_id | https://www.trustpilot.com/users/61fa37e8… |
is_verified, verification_level, review_source | false, not-verified, Organic |
helpful_count (likes) | 1 |
owner_reply, owner_reply_date, has_owner_reply | company reply text and date |
input, scraped_at | what 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
- 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 likeDeutsche Bahn(resolved via Trustpilot search). - 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. - 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 osfrom datetime import timedeltafrom apify_client import ApifyClientclient = 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.
Related actors
- Google Reviews Scraper – reviews and ratings from Google Maps.
- App Store Reviews Scraper and Google Play Reviews Scraper – app reviews.
- Email Finder – find contacts for the companies you discover.