You can export Trustpilot reviews to CSV or JSON in two ways. If the reviews are about your own company, log in to Trustpilot Business and use the built-in export or the official API. If they are about another company, the only route is the public review pages, which anyone can read without an account. Those pages give you star rating, title, text, date, reviewer name and country, and the company reply. They do not give you everything, and the listing stops after 200 reviews for any single view.
That last point is the one most people hit first. Trustpilot shows 20 reviews per page and lets you page through a company profile. After ten pages the pagination ends, even for companies with tens of thousands of reviews. The way around it is to split the profile into smaller views with the filters Trustpilot already offers: one star rating at a time, one language at a time, a date range, or a search term. Each view has its own 200 review ceiling, so five star filters give you up to 1,000 reviews, and star filters combined with date windows go further still. The rest of this article explains what you get, what you miss, and when the free options are the better choice.
What a visitor without a login can see
Trustpilot is built to be read publicly. A company profile at trustpilot.com/review/example.com is open to anyone, and so is every individual review page. No account is needed, and nothing is hidden behind a paywall. Trustpilot describes this openness in its own terms, which state that the platform is free for consumers to read and write reviews. You can read the current version at Trustpilot's Terms of Use.
For each review on a public page you can see:
- The star rating from 1 to 5.
- The review title and the full review text.
- The date the review was published.
- The date of experience, when the reviewer filled it in.
- The reviewer's display name, country, and how many reviews they have written.
- Whether the review is marked as verified, meaning it came through an invitation from the business.
- The company reply and the date of that reply, if there is one.
- The language the review was written in.
At the profile level you also see the TrustScore, the total review count, the distribution across the five star ratings, the company's claimed status, and the categories Trustpilot has placed it in.
What a visitor cannot see
A public visitor does not see the reviewer's email address, the invitation that triggered a verified review, or any order reference the business attached to it. Those are private and only visible to the business that collected the review.
You also do not see reviews that Trustpilot has removed for breaking its guidelines, reviews that are temporarily offline while a business reports them, or reviews that are still in a pending state. The public count on a profile reflects only reviews that are live at that moment. If you compare an export from last month with one from today, the difference is not only new reviews. Some older ones may have been taken down or restored in between.
Trustpilot also lets businesses respond privately through its dashboard, and those conversations never reach the public page. If you are trying to measure how fast a company replies to complaints, you can only measure public replies.
Finally, reviewer profiles are public but thin. You get a display name and a country. You do not get a stable public identifier that you can safely use to link the same person across companies, so any analysis of repeat reviewers is approximate.
The 200 review ceiling and how filters work around it
Trustpilot paginates company profiles in pages of 20 reviews. The page parameter in the URL goes up to 10. Request page 11 and you get an error or an empty page. That gives a hard limit of 200 reviews per view, and a view is defined by the combination of filters you have applied.
The filters are exposed as URL parameters on the profile page, so you can set them by hand or in a script:
starstakes one or more values from 1 to 5. A single value gives you one rating only.languagesrestricts to a language code, orallfor everything.daterestricts to a recent window such as the last 30 days, 3 months, 6 months or 12 months.searchrestricts to reviews that contain a word or phrase.verifiedrestricts to invited reviews only.sortswitches between most recent and most relevant.
Because the ceiling applies per view, the method is simple. Start with the whole profile and check the total count. If it is under 200, one view is enough. If it is higher, request each star rating separately. For most companies the 5 star bucket is by far the largest, so that one often still exceeds 200. Split it again by language, then by date window, then by search term if you must. Keep going until every leaf view is under 200 reviews.
Two things to keep in mind. First, the date filter only offers fixed windows that count back from today, so you cannot ask for March to May of a specific year. Second, views overlap when you use search terms, so you must deduplicate on the review ID after collecting. Every review has a unique ID that appears in its URL at trustpilot.com/reviews/ followed by the ID, and that is the right key to deduplicate on.
For a company with a very large number of reviews, even this tree of filters will not reach the oldest reviews. The date filter caps out at 12 months, and the sort options do not include oldest first. A full historical export of a company with hundreds of thousands of reviews is not possible from the public pages. Be honest about that in whatever you build on top of the data.
Getting the data out of the page
Trustpilot profile pages are rendered by a JavaScript framework that embeds the page's data as a JSON object inside the HTML. The visible review cards are built from that object. For an export, that JSON is more reliable than parsing the HTML, because class names change with redesigns while the field names in the data change far less often.
A practical workflow looks like this:
- Build the list of filtered URLs you need, as described above.
- Fetch each page from 1 to 10, or stop early when a page returns fewer than 20 reviews.
- Extract the embedded JSON and pull the review array out of it.
- Flatten each review to one row: ID, rating, title, text, published date, experience date, reviewer name, reviewer country, verified flag, language, reply text, reply date.
- Deduplicate on the review ID.
- Write the result as CSV for spreadsheets or JSON for anything downstream.
Keep the request rate low. Trustpilot publishes a robots.txt and its Terms of Use address automated access directly. Read the terms yourself before you run anything at scale, and treat the data as reviews written by real people that remain the copyright of those people and of Trustpilot. Collecting a few hundred public reviews to study a competitor's complaint themes is a different situation from redistributing a copy of the platform, and the second one is not something you should do.
Free ways to get the same data
If the reviews are about your own business, do not scrape at all. Log in to Trustpilot Business, where you can download your reviews from the dashboard, and where the official API gives you structured access to every review, including private fields such as the reference ID you attached to an invitation. The API documentation lives at developers.trustpilot.com and the help center at support.trustpilot.com explains the dashboard export. Both routes give you complete data without the 200 review ceiling, with no risk of missing anything that was temporarily offline, and they are the right choice whenever you have access.
If you only need a handful of reviews from another company, copy and paste is fine. A spreadsheet with 30 rows filled in by hand takes less time than writing and debugging a script, and you will read every review as you go, which is usually the point.
If you need a one-off snapshot of a mid-sized competitor, the manual filter method above works with nothing more than a browser and a text editor. Open each filtered URL, save the page, and extract the JSON. It is slow but costs nothing and teaches you exactly what the data looks like.
The paid route makes sense in the remaining case: you want many companies, you want them refreshed on a schedule, and you want the filter tree, pagination, deduplication and rate limiting handled for you so that the output is simply a clean file.
Reading the export honestly
Whatever route you take, a few cautions apply to the data itself. The star distribution on a profile counts all live reviews, while your filtered export may stop short of that total, so calculate your own distribution from the rows you actually collected and say how many that was. Verified reviews come from invitations the business sent, which means the business chose who to ask. Organic reviews are written by people who sought out the page themselves and skew toward strong opinions in both directions. Mixing the two without labelling them will mislead whoever reads your analysis. Dates of experience are self reported and can be months before the publication date. And a company reply tells you the company responded in public, not that the issue was solved.
If you want this done for you, the Trustpilot Reviews Scraper on this site takes a list of company domains, walks the star and date filters for each one, deduplicates on review ID, and returns CSV or JSON with the fields listed above. You pay per review delivered, there is no subscription, and it is only worth it when the free export from your own Trustpilot Business account or a manual copy is not an option.
Want the signal instead of the raw filings? Get a free report preview. Prefer the tool to the write-up? Browse all data feeds or connect the free MCP server.