L logiover
business · Jun 7, 2026 · 6 min read

Trustpilot Reviews API Alternative: Export Reviews at Scale in 2026

How to export Trustpilot reviews at scale without the gated Business API — public review pages, embedded JSON, pagination, and a clean output schema.

If you have ever tried to pull Trustpilot reviews programmatically, you have already hit the wall: there is an official API, but it is built for businesses to read and reply to reviews on their own profile, not for analysts who want to study a market. The moment you want competitor reviews, category-wide sentiment, or a longitudinal dataset across dozens of domains, the official route stops working. This guide is the practical Trustpilot reviews API alternative — how to export reviews at scale from the public surface that Trustpilot already serves to every browser.

Why the official Trustpilot API does not solve this

Trustpilot’s Business API is real, well-documented, and almost useless for research. Three things gate it:

  • It is tied to a paid Trustpilot Business plan. API access is bundled with the higher subscription tiers, not the free listing. No plan, no key.
  • It is scoped to domains you own and have verified. You authenticate against a Business Unit you control. You cannot point it at a competitor’s domain and read their reviews — the OAuth scope simply will not let you. The API assumes you are the reviewed business, not an observer of it.
  • Read access is reply-and-monitor shaped. The endpoints are designed so a brand can fetch its own incoming reviews and post invitations or responses. They are not designed to bulk-export a category.

So the question “how do I get all reviews for someone else’s product” has no official answer. The data, however, is fully public — every Trustpilot review page is indexable, served to anonymous visitors, and rendered from structured data. That is the surface a Trustpilot reviews API alternative works against.

What data is actually available on the public pages

Open any trustpilot.com/review/<domain> page in a logged-out browser and you have, per business:

  • The aggregate: TrustScore (1–5), total review count, and the star-rating distribution (how many 5-star, 4-star, and so on).
  • Per review: star rating, title, body text, reviewer display name, reviewer country, the review date, the date of the experience, and whether the review is verified.
  • Business replies, when present, attached to the review.
  • Company metadata: claimed/unclaimed status, categories, and the website it represents.

That is everything most sentiment, competitive-intelligence, or product-research workflows actually need.

How the public surface works

Trustpilot is a server-rendered Next.js application. The single most useful fact for anyone building a Trustpilot reviews API alternative is that each review page embeds its full state in a <script id="__NEXT_DATA__" type="application/json"> block at the bottom of the HTML. You do not have to parse the visible DOM at all — you parse that JSON.

Inside __NEXT_DATA__ you will find the reviews array for the current page, the business unit object with the aggregate TrustScore and distribution, and the pagination metadata. Working with it looks like this:

  • Fetch the review page HTML. A normal got-scraping request with a realistic user agent is enough; these pages are not behind a hard JavaScript wall.
  • Extract and JSON.parse the __NEXT_DATA__ payload. Walk down to props.pageProps for the reviews and the business unit.
  • Paginate. Reviews are paged at roughly 20 per page via a ?page=N query parameter. The total page count is in the payload, so you loop until you have consumed them.
  • Apply filters via query string. The same page accepts stars=, languages=, sort=recency, and date filters as URL parameters, which means you can target, say, only 1- and 2-star reviews from the last 90 days without downloading everything.

Because the structured payload mirrors the rendered page exactly, your extraction stays stable even when Trustpilot reshuffles the visual layout — the data shape under pageProps changes far less often than the CSS.

Rate limits and how to live with them

There is no published quota on the public pages because, officially, there is no public API. In practice you are sharing a normal web front end, so behave like one:

  • Keep concurrency modest — a handful of parallel requests per domain, not hundreds.
  • Add small jitter between page requests rather than hammering sequentially.
  • Use a rotating residential or datacenter proxy pool if you are crawling many domains; a single IP pulling thousands of pages will eventually get throttled.
  • Cache the aggregate separately from the review pages — the TrustScore and distribution come on every page, so grab them once.

A business with a few thousand reviews exports in minutes at polite concurrency. A category of fifty competitors is an overnight job, not a real-time one.

Try the Trustpilot Reviews Scraper on Apify — point it at any domain and export the full review history with ratings and replies. No auth required.

A realistic output schema

Normalize each review into a flat, analysis-ready row. Something like:

{
  "business_domain": "example.com",
  "business_name": "Example Ltd",
  "trust_score": 4.3,
  "total_reviews": 1842,
  "rating_distribution": { "5": 1100, "4": 420, "3": 130, "2": 90, "1": 102 },
  "review_id": "6638f1a2c9d4e10012ab34cd",
  "rating": 1,
  "title": "Order never arrived",
  "text": "Placed an order three weeks ago and support stopped replying...",
  "reviewer_name": "Jamie R.",
  "reviewer_country": "GB",
  "verified": true,
  "date_published": "2026-05-21T09:14:00Z",
  "date_experienced": "2026-05-02",
  "reply": {
    "text": "We're sorry to hear this — please DM us your order number.",
    "date": "2026-05-23T11:02:00Z"
  },
  "review_url": "https://www.trustpilot.com/reviews/6638f1a2c9d4e10012ab34cd",
  "scraped_at": "2026-06-07T12:00:00Z"
}

Keep rating_distribution as an object, keep reply nullable, and store both date_published and date_experienced — the gap between them is itself a signal (slow-to-complain customers behave differently from instant ragers).

What people actually use this for

  • Competitive intelligence. Pull every competitor in your category and chart TrustScore trends and complaint themes over time.
  • Voice-of-customer and product research. Cluster 1- and 2-star bodies to find the top recurring failure modes before they hit your own product.
  • Due diligence. Investors and acquirers verify that a company’s stellar rating is not propped up by a burst of suspicious reviews in a single week.
  • Training and evaluation data. Labeled review text with star ratings is a clean dataset for sentiment models.

Build it yourself vs. a managed actor

Building from scratch is genuinely doable — the __NEXT_DATA__ trick is most of the work. Budget a day to get one domain exporting cleanly, then expect to revisit it every few months when Trustpilot bumps its Next.js build and the pageProps path shifts. You will also own proxy management and the pagination edge cases (deleted reviews, language filters, businesses with zero reviews).

A managed actor collapses that to a single input field. For a one-off pull of one company, hand-rolling it is fine. For an ongoing competitive-monitoring or sentiment pipeline across many domains, the maintenance you avoid is the whole value.

Common pitfalls

  • Do not scrape the visible DOM. Class names are hashed and change constantly. The __NEXT_DATA__ JSON is the stable contract.
  • Respect the verified flag. Trustpilot mixes verified and organic reviews; if you are measuring authenticity, you must keep them distinguishable.
  • Mind the languages. A global brand’s reviews span many languages. Either filter to one with languages= or run language detection downstream.
  • Personal data applies. Reviewer names and countries are personal data under GDPR. Use the dataset for analysis, not for republishing a public directory of named reviewers.

Wrapping up

There is no official path to export someone else’s Trustpilot reviews — the Business API is gated to your own verified domains and a paid plan. But the reviews themselves are public and served as clean structured JSON on every page. The practical Trustpilot reviews API alternative is to read that public surface, paginate it politely, and normalize it into a flat schema. Build it yourself for a single domain, or let a managed scraper handle the pagination, proxies, and schema for a recurring pipeline.

Open the Trustpilot Reviews Scraper on Apify — bulk-export reviews, TrustScores, and rating distributions for any business. Pay per review returned, no API key needed.

Related guides