Trustpilot Reviews Scraper (Cheap)
Pricing
from $1.99 / 1,000 results
Trustpilot Reviews Scraper (Cheap)
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
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Trustpilot Reviews Scraper

Reading Trustpilot reviews by hand is slow, and copy-pasting them into a spreadsheet falls apart after the first page. This scraper does the reading for you. Give it a company's Trustpilot page and it walks through the reviews, page after page, and hands back each one as a clean row: the star score, the headline, the full text, who wrote it, when they posted, whether the purchase was verified, and any reply the company left. Point it at one brand or run a list of competitors, then filter by stars, language, or how recent the review is.
What you get
Every review comes back as one tidy row, and the columns line up the same way every time so the data drops straight into a sheet or database. Each record carries:
- The review —
ratingHeadline,ratingBody,scoreStars, andpublishedOn - Who wrote it —
authorName,authorCountry, andpurchaseVerified - The company side —
businessName,businessDomain, andbrandResponse(the reply, if there is one) - Tracking —
reviewKeyfor de-duping andfetchedAtto timestamp the run
Quick start
- Click Try for free to open the input form.
- Paste a Trustpilot profile link or a plain domain into Company page or domain (for example
www.nike.com). - Set How many reviews you want, and narrow things with the star, language, or recency filters if you need to.
- Choose a proxy type, press Start, and download the results as JSON, CSV, Excel, or XML once the run wraps up.

Use cases
- Brand monitoring — track what customers are saying about your company and catch problems while they are still small
- Competitor research — pull reviews for rival brands and compare ratings, complaints, and response habits side by side
- Voice-of-customer analysis — feed thousands of review texts into sentiment or topic models to find recurring themes
- Product and CX teams — surface the exact pain points that drag a star rating down
- Due diligence — gauge a vendor's reputation before signing by reading verified buyer reviews at scale
- Support benchmarking — measure how often, and how fast, a company replies to negative reviews
Input
| Field | Type | Required | Description |
|---|---|---|---|
businessUrl | string | Yes | Trustpilot profile link or registered domain, e.g. www.nike.com or https://www.trustpilot.com/review/www.nike.com. Most brands list with the www. prefix. |
reviewLimit | integer | No | Total reviews to gather per run, ceiling of 1000. Works with the page range. Default 25. |
fromPage | integer | No | Results page to start on. Default 1; raise it to skip earlier pages. |
toPage | integer | No | Last page to read, inclusive. Default 0, which turns the page cap off and lets reviewLimit decide. |
ratingFilter | string | No | Keep only reviews with a given star count (1–5). Empty value returns every rating. |
postedWithin | string | No | Restrict to a recency window: last30days, last3months, last6months, or last12months. Empty returns any time. |
reviewLanguage | string | No | Return reviews in one language only (e.g. en, de, fr). Empty returns any language. |
timeoutSeconds | integer | No | Seconds to wait per request before failing it. Default 45; raise it on slower residential proxies. |
proxyConfiguration | object | No | Proxies for requests. Defaults to Residential (US), the safest option against Trustpilot's bot checks. |
Example input
{"businessUrl": "www.nike.com","reviewLimit": 25,"fromPage": 1,"toPage": 8,"ratingFilter": "","postedWithin": "last6months","reviewLanguage": "en","timeoutSeconds": 45,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Output
Each review becomes one row, and every field is always present so your dataset stays rectangular. Missing values such as an absent company reply come back as an empty string rather than disappearing.
Example output
{"reviewKey": "6710a2f4c9b1e80012ab34cd","businessDomain": "www.nike.com","businessName": "Nike","ratingHeadline": "Shoes arrived faster than expected","ratingBody": "Ordered on a Friday and the parcel landed Monday morning. Sizing was spot on and the trainers look exactly like the photos. Would buy again.","scoreStars": 5,"publishedOn": "2026-05-18T09:24:11.000Z","authorName": "Marcus T.","authorCountry": "GB","purchaseVerified": true,"brandResponse": "Thanks for the kind words, Marcus — glad the order reached you so quickly!","fetchedAt": "2026-06-30T12:00:00.000000+00:00"}
Output fields
| Field | Type | Description |
|---|---|---|
reviewKey | string | Trustpilot's unique identifier for the review |
businessDomain | string | Company domain the review belongs to, e.g. amazon.com |
businessName | string | Company name as Trustpilot displays it |
ratingHeadline | string | Short title the customer gave the review |
ratingBody | string | Full text the customer wrote |
scoreStars | integer | Star score from 1 (lowest) to 5 (highest) |
publishedOn | string | ISO 8601 date the review went live |
authorName | string | Public display name of the reviewer |
authorCountry | string | Two-letter ISO 3166-1 country code of the reviewer |
purchaseVerified | boolean | True when Trustpilot confirmed a genuine purchase |
brandResponse | string | The company's reply; empty string when there is none |
fetchedAt | string | ISO 8601 timestamp of when the row was pulled |
Tips for best results
- Start with a small
reviewLimit. Pull 25 reviews first to confirm the company page resolves and the output fits your pipeline, then scale up. - Keep Residential proxies on. Trustpilot's bot detection is strict; residential IPs (US) clear it far more reliably than datacenter.
- Use the
www.form of the domain. Many brands are registered on Trustpilot with the prefix, sowww.nike.comusually resolves wherenike.commay not. - Combine filters carefully. Stacking
ratingFilter,postedWithin, andreviewLanguagenarrows results fast — loosen one if a run comes back thin. - Raise
timeoutSecondstoward 60 if residential proxies throw frequent timeouts on heavier company pages. - Use
fromPageandtoPageto grab a specific slice — handy for resuming a large pull or sampling the middle of a long review history.
How can I use Trustpilot review data?
How can I use the Trustpilot Reviews Scraper to monitor my brand's reputation?
Point the scraper at your own Trustpilot profile, set reviewLimit high, and run it on a schedule. Each run returns the latest reviews with star scores, full text, and any reply you posted, so you can track rating trends over time and jump on negative reviews while they are fresh.
How can I export Trustpilot reviews for competitor analysis?
Run the scraper once per competitor domain and merge the datasets. Because every row shares the same fields — businessName, scoreStars, ratingHeadline, authorCountry, purchaseVerified — you can stack brands in one spreadsheet and compare average ratings, complaint themes, and how often each company bothers to reply.
How can I pull Trustpilot reviews for sentiment analysis?
Use reviewLanguage to keep the dataset in one language, then feed the ratingBody column into a sentiment or topic model. Pair the score in scoreStars with the text to train on labelled examples, and use postedWithin to focus on a recent period when opinions may have shifted.
How can I collect only the most recent or lowest-rated Trustpilot reviews?
Set postedWithin to a window like last30days and ratingFilter to 1 or 2 to zero in on fresh, unhappy customers. The scraper returns just those reviews, which is the fastest way to find the issues a support or product team should act on next.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.