Trustpilot Review Scraper
Pricing
$4.99/month + usage
Trustpilot Review Scraper
Trustpilot review scraper that collects star ratings, review text, and reviewer details from any company page, so marketers and analysts can monitor brand reputation and run sentiment analysis without manual data collection.
Pricing
$4.99/month + usage
Rating
0.0
(0)
Developer

ZeroBreak
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Trustpilot Review Scraper: Collect Customer Reviews from Any Company Page
Pull customer reviews from any Trustpilot company profile. Give it a domain like www.amazon.com and it walks through the review pages collecting star ratings, full review text, reviewer details, and any company replies. No extra setup beyond the domain, and it handles pagination on its own.
Use cases
- Reputation monitoring: track what customers say about your brand over time without checking the site manually
- Competitor research: collect reviews for rival businesses and compare sentiment, common complaints, and rating trends
- Sentiment analysis: feed structured review datasets into NLP pipelines for opinion mining and topic modeling
- SEO research: identify keywords and themes customers use when talking about a brand to inform content strategy
- Market research: aggregate review data from multiple companies in an industry to spot patterns and benchmark performance
What data does this actor extract?
Each review record includes:
{"reviewId": "abc123def456","companyDomain": "www.amazon.com","companyName": "Amazon","reviewTitle": "Fast delivery but packaging was damaged","reviewText": "Ordered a kitchen appliance and it arrived two days early. The outer packaging was crushed and the product had a small scratch.","rating": 3,"reviewDate": "2024-11-15T09:23:00.000Z","reviewerName": "Sarah M.","reviewerCountry": "GB","verified": true,"companyReply": "Thank you for your feedback. Please contact our support team and we will make this right.","scrapedAt": "2025-03-01T14:22:10.123456+00:00"}
| Field | Type | Description |
|---|---|---|
reviewId | string | Unique Trustpilot identifier for the review |
companyDomain | string | Company domain used as input |
companyName | string | Company display name as shown on Trustpilot |
reviewTitle | string | Review headline written by the customer |
reviewText | string | Full body text of the review |
rating | integer | Star rating from 1 (worst) to 5 (best) |
reviewDate | string | ISO 8601 date when the review was published |
reviewerName | string | Display name of the reviewer |
reviewerCountry | string | ISO 3166-1 alpha-2 country code of the reviewer |
verified | boolean | Whether Trustpilot verified the reviewer made a real purchase |
companyReply | string | Company response to the review. Empty string if no reply was posted |
scrapedAt | string | ISO 8601 timestamp of when this record was collected |
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
companyDomain | string | Company domain as registered on Trustpilot (e.g. www.amazon.com) or full Trustpilot URL. Required. | |
maxReviews | integer | 100 | Maximum reviews to collect per run. Capped at 1000. |
startPage | integer | 1 | Page to start from. Set higher to skip earlier pages. |
endPage | integer | 0 | Page to stop at (inclusive). 0 = no page limit, use maxReviews instead. |
stars | string | All ratings | Filter by star rating: 5, 4, 3, 2, or 1. Leave on default for all ratings. |
datePosted | string | All reviews | Filter by date period: All reviews, Last 30 days, Last 3 months, Last 6 months, Last 12 months. |
language | string | All languages | Filter by language: English, Deutsch, Français, Español, Italiano, Nederlands, and more. |
requestTimeoutSecs | integer | 30 | Per-request timeout in seconds. |
proxyConfiguration | object | Datacenter (Anywhere) | Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional. |
Example input
{"companyDomain": "www.amazon.com","maxReviews": 200,"language": "en","stars": 1,"proxyConfiguration": { "useApifyProxy": true }}
You can also pass a full Trustpilot URL instead of a bare domain:
{"companyDomain": "https://www.trustpilot.com/review/www.booking.com","maxReviews": 50}
To scrape a specific page range (useful for splitting large runs across multiple actor invocations):
{"companyDomain": "www.amazon.com","startPage": 6,"endPage": 10,"maxReviews": 1000}
How it works
- The actor normalizes the input domain. Trustpilot company domains often include
www.(e.g.www.amazon.com), so the prefix is preserved as-is. - Page 1 — HTML fetch: the actor sends a browser-realistic request (Chrome 145, full
sec-ch-ua/sec-fetch-*headers, Google as referrer) and parses the__NEXT_DATA__JSON script tag embedded in the HTML. This gives the first 20 reviews and, critically, the Next.jsbuildIdneeded for pagination. - Pages 2+ — Next.js JSON API: instead of fetching full HTML pages, the actor calls Trustpilot's internal data API directly (
/_next/data/{buildId}/review/{domain}.json?page=N&businessUnit={domain}). This endpoint returns pure JSON with the same review structure, no HTML parsing needed. The request usesx-nextjs-data: 1,sec-fetch-mode: cors, andsec-fetch-dest: emptyto match what the browser sends. - Reviews are parsed from each response and pushed to the dataset. The actor repeats until it reaches
maxReviewsor the API returns an empty reviews list. - If proxy configuration is set, a fresh proxy URL is obtained for each page request.
Integrations
Trustpilot Review Scraper works with Apify integrations including Google Sheets, Slack, Make, and Zapier. Use webhooks to trigger downstream actions when a run finishes and new data is ready.
FAQ
Can this actor scrape reviews for any company on Trustpilot? Yes. As long as the company has a public Trustpilot profile, pass the company domain or the full Trustpilot URL as input.
What domain format should I use: amazon.com or www.amazon.com?
Use the format that matches the company's Trustpilot URL. Many large companies (including Amazon) are registered as www.amazon.com on Trustpilot. If you get zero results with amazon.com, try www.amazon.com.
How many reviews can I collect per run? The actor caps at 1000 reviews per run to keep costs predictable. For larger datasets, run the actor multiple times with different star rating or language filters and merge the results.
Does it need a Trustpilot account or API key? No. It scrapes public review pages without any authentication.
Will it collect reviews in languages other than English?
Yes. Leave language empty to get reviews in all languages, or set it to a language code like de or fr to filter.
What should I do if the actor gets blocked? Switch to Residential proxies in the proxy configuration. Datacenter IPs are faster but more likely to trigger Trustpilot rate limits.
How many reviews are on each page? Trustpilot shows 20 reviews per page, so collecting 100 reviews requires roughly 5 page requests.
Legal notice
Trustpilot review pages are publicly accessible, but check Trustpilot's terms of service and your local regulations before using scraped data commercially.