Trustpilot Reviews Scraper - the text behind the rating
A star rating compresses everything a customer thought into a single digit. The Trustpilot Reviews Scraper gets the rest of it. Submit domains or Trustpilot page links - up to 1,000 per run - and each business returns its reviews as rows carrying thirteen fields: a review identifier, the title and full text as written, the star rating, how many people found it helpful, the date, the business's total review count, and four fields describing the author, namely their display name, an identifier, their country, and how many reviews they have written in total and for this business specifically. Results arrive grouped by business rather than as one flat pile, and every review carries the query that produced it.
The first thing to understand is how differently this behaves from the other two Trustpilot services. Both of those return one row per business, carrying a rating and a review count. Here a row is a review, and the default is up to a hundred reviews per business - so a hundred domains can be ten thousand rows rather than a hundred. That is simply the nature of review data, but it makes the reviews-per-business setting the main cost lever on the page. The complementary setting is a cut-off date: tell a run the oldest review you care about and it stops there, so re-running later with the cut-off set to your last collection means you only pay for what has appeared since. Paired with the review identifier for de-duplication, that turns an expensive one-off pull into cheap ongoing collection. A skip setting pages deeper into a single business's reviews, and it has one quirk worth knowing - the value must be a multiple of twenty.
Three details will save an importer rewrite. The review date is a Unix timestamp in seconds with no formatted counterpart documented alongside it, so convert on the way in or your charts will sort correctly and label unreadably. The total review count is a business-level figure repeated identically on every one of that business's review rows, which means summing it across a hundred reviews reports a hundred times the real number - take the first value per business, or read it from the Trustpilot Scraper, which returns one row per business precisely so this cannot happen. And the response nests one collection per query rather than returning a flat list, so flatten deliberately. On language filtering, English, Spanish and German are the options named in the reference alongside a default and an all setting; anything else is worth testing on the free tier rather than assuming.
Two fields make this dataset unusually useful. Knowing how many reviews an author has written in total, and how many of those were for the business in front of you, lets you weigh a rating rather than simply record it - an account whose only review is the one you are reading is weaker evidence than a long and varied history, and reviews clustered tightly in time are worth examining. Neither proves anything alone, and a first-time reviewer is usually just a first-time reviewer, but combined with the timestamp they turn sentiment reading into something closer to auditing. That capability comes with a responsibility, and it is the reason this page's legal position differs from its siblings: a review has an author, so the output contains personal data even when a name is only a first name and an initial. You become a controller of it, with the usual lawful-basis and erasure duties, and republishing review text raises attribution questions that internal analysis does not. The practical advice is data minimisation - if you only need sentiment and themes, drop the author columns at import. Nothing behind a login is touched and exports auto-delete after 30 days. Start free: your first 500 rows cost nothing and need no credit card.