Trustpilot Reviews Scraper
Pricing
from $0.49 / 1,000 results
Trustpilot Reviews Scraper
Extract 53+ data points per Trustpilot review. Filter by stars, language, date, verified status. Bypass 200-review limit. No API key required.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share

Extract Trustpilot reviews with 53 data points per review — more fields than any competitor. Scrape any company's reviews with full filtering, company-level analytics, and unlimited pagination. No API key required.
Why this scraper?
📊 Most complete data (53 fields)
Every review includes rating, review text, dates, reviewer profile, verification status, source, reply details, and 20+ company-level metrics — star distribution, TrustScore, category, and claimed status. No competitor comes close.
🚫 Bypass the 200-review limit
Trustpilot's web interface caps results at 200 per view. This scraper uses a per-star-bucket strategy to extract all reviews from any company — not just the most recent 200.
🎯 Precision filters
Filter by star rating (any combination of 1–5 stars), language (ISO code), date range, verified status, and reviews with company replies. All filters combine cleanly.
⚡ Fast and economical
Smart hybrid architecture: one browser request per company to bypass WAF, plain HTTP for all pagination. Runs on 1024 MB and extracts a full page of reviews in under 3 seconds.
🔄 Incremental / daily feeds
Enable skipReposts to only extract reviews not seen in previous runs. Pair with a daily schedule for continuous monitoring.
💬 Full reply extraction
Company reply text, date, and update date are captured on every review — including the exact reply timestamp.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | Trustpilot review URLs or domains. E.g. https://www.trustpilot.com/review/amazon.com |
domain | string | "" | Single company domain shorthand. E.g. amazon.com |
maxResults | integer | 200 | Maximum reviews to extract across all companies |
filterStars | array | [] | Star ratings to include. Empty = all. E.g. [1,2] |
filterLanguage | string | "" | ISO language code. E.g. en, de, fr. Empty = all |
sortBy | string | "recency" | Sort order: recency or relevance |
filterDateRange | string | "" | Date range: last30days, last90days, last365days. Empty = all |
verifiedOnly | boolean | false | Only return verified customer reviews |
withRepliesOnly | boolean | false | Only return reviews that have a company reply |
includeCompanyInfo | boolean | true | Include company-level fields in every review record |
skipReposts | boolean | false | Skip reviews already seen in previous runs |
Output schema
Always present (every review)
| Field | Type | Description |
|---|---|---|
id | string | Trustpilot review ID |
url | string | Direct URL to the review on Trustpilot |
title | string | Review headline written by the reviewer |
text | string | Full review body text |
rating | number | Star rating: 1 (worst) – 5 (best) |
publishedAt | string | ISO 8601 publication date of the review |
updatedAt | string|null | ISO 8601 date of last edit (null if never edited) |
experienceDate | string|null | ISO 8601 date of the customer's experience |
language | string | ISO 2-letter language code of the review (e.g. "en") |
isVerified | boolean | Whether Trustpilot verified this as a genuine customer |
verificationLevel | string|null | Verification type, e.g. VERIFIED_ORDER, ORGANIC |
verificationSource | string|null | How verification was obtained |
isAnonymous | boolean | Whether the reviewer chose to remain anonymous |
reviewerName | string|null | Reviewer's display name on Trustpilot |
reviewerReviewCount | number|null | Total reviews written by this reviewer |
reviewerLocation | string|null | Reviewer's self-reported location (e.g. "London, GB") |
reviewerCountryCode | string|null | ISO 2-letter country code of the reviewer |
reviewerProfileUrl | string|null | Full URL to reviewer's Trustpilot profile |
reviewSource | string|null | How the review was submitted (e.g. InvitationLink, Direct) |
likes | number | Number of helpful votes the review received |
reportCount | number | Number of times the review was reported |
hasReply | boolean | Whether the company posted a reply to this review |
replyText | string|null | Full text of the company reply (null if no reply) |
replyDate | string|null | ISO 8601 date the company replied (null if no reply) |
replyUpdatedDate | string|null | ISO 8601 date the reply was last edited (null if not edited) |
productName | string|null | Product name if review is linked to a specific product |
productUrl | string|null | URL to the product the review refers to |
isPendingModeration | boolean | Whether the review is under moderation |
contentHash | string | MD5 fingerprint of review text for change detection |
source | string | Always "trustpilot.com" |
scrapedAt | string | ISO 8601 timestamp of when this record was scraped |
With includeCompanyInfo: true (default)
| Field | Type | Description |
|---|---|---|
companyId | string | Trustpilot business unit ID |
companyName | string | Company display name on Trustpilot |
companyDomain | string | Domain used to identify the company (e.g. amazon.com) |
companyWebsite | string|null | Company's official website URL |
companyTrustScore | number|null | Trustpilot TrustScore (e.g. 3.4) |
companyStarRating | number|null | Average star rating rounded to nearest 0.5 |
companyTotalReviews | number | Total number of reviews the company has received |
companyCategories | array | Business categories, e.g. ["Electronics & Technology"] |
companyCountry | string|null | Company's country code |
companyClaimed | boolean|null | Whether the company has claimed its Trustpilot profile |
companyProfileUrl | string | Full URL to company's Trustpilot review page |
companyCity | string|null | Company's city from their Trustpilot contact info |
companyAddress | string|null | Company's street address from their Trustpilot contact info |
companyZipCode | string|null | Company's postal code from their Trustpilot contact info |
companyPhone | string|null | Company's public phone number from their Trustpilot contact info |
companyEmail | string|null | Company's public email address from their Trustpilot contact info |
companyIsClosed | boolean | Whether the company has permanently closed its Trustpilot profile |
companyHasConsumerAlert | boolean | Whether Trustpilot has issued a consumer alert for this company |
companyLocationsCount | number|null | Number of business locations (multi-location companies) |
companyResponseRate | number|null | Percentage of reviews the company has responded to (0–100) |
companyAvgResponseDays | number|null | Average days the company takes to reply to a review |
Sample output record
{"id": "65a1f2c3d4e5f6a7b8c9d0e1","url": "https://www.trustpilot.com/reviews/65a1f2c3d4e5f6a7b8c9d0e1","title": "Excellent customer support","text": "Had an issue with my order and the support team resolved it within minutes. Very impressed with the quick response and professional handling.","rating": 5,"publishedAt": "2024-03-15T09:42:00.000Z","updatedAt": null,"experienceDate": "2024-03-14T00:00:00.000Z","language": "en","isVerified": true,"verificationLevel": "VERIFIED_ORDER","verificationSource": "AUTOMATIC","isAnonymous": false,"reviewerName": "Sarah Mitchell","reviewerReviewCount": 23,"reviewerLocation": "Manchester, GB","reviewerCountryCode": "GB","reviewerProfileUrl": "https://www.trustpilot.com/users/sarah_mitchell_uk","reviewSource": "InvitationLink","likes": 4,"reportCount": 0,"hasReply": true,"replyText": "Thank you Sarah! We're glad we could resolve your issue quickly. Please don't hesitate to reach out again.","replyDate": "2024-03-15T14:20:00.000Z","replyUpdatedDate": null,"productName": null,"productUrl": null,"isPendingModeration": false,"contentHash": "a1b2c3d4e5f6a7b8","source": "trustpilot.com","scrapedAt": "2024-06-01T08:15:32.000Z","companyId": "4a35a40700006400050db8cc","companyName": "Example Shop","companyDomain": "exampleshop.com","companyWebsite": "https://www.exampleshop.com","companyTrustScore": 4.2,"companyStarRating": 4,"companyTotalReviews": 12450,"companyCategories": ["Ecommerce & Shopping"],"companyCountry": "NL","companyCity": "Utrecht","companyAddress": "Papendorpseweg 100","companyZipCode": "3528BJ","companyPhone": "030 - 310 4999","companyEmail": "klantenservice@bol.com","companyClaimed": true,"companyProfileUrl": "https://www.trustpilot.com/review/exampleshop.com"}
Examples
Scrape the 100 most recent reviews for a company:
{"domain": "amazon.com","maxResults": 100,"sortBy": "recency"}
Scrape only 1-star and 2-star English reviews for competitor analysis:
{"domain": "competitor.com","filterStars": [1, 2],"filterLanguage": "en","maxResults": 500}
Scrape multiple companies using direct URLs:
{"startUrls": [{ "url": "https://www.trustpilot.com/review/amazon.com" },{ "url": "https://www.trustpilot.com/review/ebay.com" },{ "url": "https://www.trustpilot.com/review/etsy.com" }],"maxResults": 200,"includeCompanyInfo": true}
Daily feed — only new verified reviews from the last 30 days (schedule daily):
{"domain": "mycompany.com","filterDateRange": "last30days","verifiedOnly": true,"skipReposts": true,"maxResults": 1000}
💰 Pricing
$0.49 per 1,000 results — you only pay for successfully extracted reviews. Failed requests and skipped reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.05 |
| 1,000 | ~$0.49 |
| 10,000 | ~$4.90 |
| 100,000 | ~$49.00 |
Flat-rate alternatives typically charge $29–$79/month regardless of usage.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Time |
|---|---|
| 20 reviews (1 page) | ~20 seconds |
| 100 reviews (5 pages) | ~50 seconds |
| 1,000 reviews | ~4–6 minutes |
| 5,000 reviews | ~20–30 minutes |
Known limitations
- Star-bucket pagination: When no star filter is set, a single company run is capped at 200 reviews (the Trustpilot web interface limit). To extract more, set
filterStarsto a subset of stars — each star bucket gives up to 200 reviews, enabling up to 1,000 total. - Very high-volume companies: Companies with tens of thousands of reviews may require multiple targeted runs using star and language filters.
- Review text language:
filterLanguagefilters by the review's detected language. A reviewer writing in a non-native language may appear in the unexpected bucket. - Moderated reviews: Reviews under moderation (
isPendingModeration: true) are included but may be removed from Trustpilot before you use the data.
Technical details
- Source: trustpilot.com — global consumer review platform with 70M+ reviews
- Memory: 1024 MB
- Dedup storage: KeyValueStore
trustpilot-scraper-dedup - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Part of the Unfenced Group scraper portfolio — 50+ markets covered. Built by unfenced-group · Issues? Open a ticket or send a message.