Trustpilot Reviews & TrustScore Scraper ⭐ (any company) avatar

Trustpilot Reviews & TrustScore Scraper ⭐ (any company)

Pricing

from $0.53 / 1,000 review scrapeds

Go to Apify Store
Trustpilot Reviews & TrustScore Scraper ⭐ (any company)

Trustpilot Reviews & TrustScore Scraper ⭐ (any company)

Scrape Trustpilot reviews for any company by domain or URL: rating, title, text, experience date, verification, reviewer and the company's reply, plus a free TrustScore summary. A Trustpilot Business seat only exports your own profile; this reads any company's, rivals included.

Pricing

from $0.53 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Trustpilot Reviews Scraper: Reviews, Ratings and TrustScore as JSON

Pull every Trustpilot review for a company into clean JSON. Give it a domain or a Trustpilot URL and it returns each review with the fields you actually use: rating, title, text, experience date, verification, reviewer, country and the company's public reply. Every company also gets one summary row with its TrustScore, star rating, total review count and categories.

It reads Trustpilot's own page data, so you get the same reviews the site shows, not a fragile copy scraped off the layout. Trustpilot's bot check is handled for you, and the per-review price is all you pay: platform usage is included, even for large pulls.

What you get per review

FieldDescription
ratingStar rating, 1 to 5
title, textReview headline and body
experiencedDate, publishedDate, updatedDateWhen the experience happened, when it was posted, when last edited
isVerified, verificationLevel, sourceWhether the review is verified and how it was collected
consumerName, consumerCountry, consumerReviewCountReviewer name, country and how many reviews they have written
replyText, replyDateThe company's public reply, when present
likesNumber of "useful" votes
reviewUrl, reviewIdLink to the review and its ID
businessDomain, businessNameThe company the review belongs to

Each company also produces one recordType: "business" row: trustScore, stars, numberOfReviews, numberOfReviewsLast12Months, categories, isClaimed, isClosed.

Who uses it

  • Reputation and CX teams tracking their own and competitors' reviews over time.
  • Analysts measuring TrustScore, review volume and sentiment across a set of companies.
  • Lead and risk research checking how a vendor or supplier is rated before signing.
  • Data pipelines that need Trustpilot reviews as clean JSON, no API key.

Input

FieldTypeDefaultWhat it does
domainslist of text— (required)Company domains as Trustpilot lists them (amazon.com, www.nike.com) or full Trustpilot review URLs. Each company is scraped independently.
maxReviewsPerBusinessnumber500How many reviews to return per company, newest first.
starslist of 15empty = every ratingOnly return reviews with these star ratings. Tick 1 and 2 for complaints, 5 for praise.
languageslist of ISO codesempty = every languageOnly return reviews written in these languages: en, de, fr, nl, it
verifiedOnlytrue/falsefalseOnly reviews Trustpilot marks as verified.
withRepliesOnlytrue/falsefalseOnly reviews the company publicly replied to.

Filtering

The four filters are applied twice. First on the Trustpilot URL, so pages you did not ask for are never fetched and a filtered run costs you less. Then again here, on every review that comes back, before it is billed — because a site filter is a hint, not a contract: Trustpilot silently ignores a star value it does not recognise and quietly widens an unknown language code to "all", and either would otherwise hand you rows you never asked for and still charged you for. A review that does not match your filters is dropped, not sold to you. Combine them freely (they are ANDed), and if a filter matches nothing the run still finishes cleanly and its status message says how many reviews were read and exactly which filter dropped them — never a silent empty dataset.

Three things worth knowing. Trustpilot's own review page shows English only unless told otherwise, so leaving languages empty really does mean every language. Since September 2026 Trustpilot shows visitors who are not signed in only the first 10 pages (200 reviews) of a listing; the actor stops there and the status message says so, with how many were asked and delivered. Each star or language filter is its own listing with its own 200, so a deep pull is split by stars (five listings) or languages rather than paged. The actor never asks for, stores or uses a Trustpilot account.

Input examples

One company:

{
"domains": ["amazon.com"],
"maxReviewsPerBusiness": 500
}

Only the complaints, in English, that the company answered:

{
"domains": ["amazon.com"],
"maxReviewsPerBusiness": 500,
"stars": ["1", "2"],
"languages": ["en"],
"withRepliesOnly": true
}

Several companies in one run (each is scraped independently):

{
"domains": ["nike.com", "adidas.com", "www.puma.com"],
"maxReviewsPerBusiness": 200
}

Paste a Trustpilot URL directly:

{
"domains": ["https://www.trustpilot.com/review/www.amazon.com"]
}

How it works

Each domain becomes a Trustpilot review page, carrying whichever of your filters Trustpilot's own page understands, and the actor walks the pages newest-first, deduping by review ID. Every review it parses is checked against your filters again before it is billed. It stops a company when a page returns nothing new, when Trustpilot reports the last page, when your maxReviewsPerBusiness is reached, or after 25 straight pages with no matching review (a filter that narrow is not worth paging further, and those pages cost you nothing). After a company's reviews are in, one free summary row with its TrustScore and star rating is added.

Output sample

{
"recordType": "review",
"reviewId": "68a1c9e3b474d219f8a7c1e2",
"rating": 1,
"title": "Parcel never arrived and support closed the ticket",
"text": "Ordered on the 2nd, tracking stopped updating after three days. Support closed my ticket twice without replying.",
"likes": 4,
"language": "en",
"experiencedDate": "2026-07-08",
"publishedDate": "2026-07-09",
"updatedDate": null,
"isVerified": true,
"verificationLevel": "verified",
"source": "Organic",
"consumerName": "James P.",
"consumerId": "5d2a1c9e3b474d219f8a7c1e",
"consumerReviewCount": 7,
"consumerCountry": "GB",
"replyText": "We are sorry to hear this. Please send us your order number so we can trace the parcel.",
"replyDate": "2026-07-10",
"reviewUrl": "https://www.trustpilot.com/reviews/68a1c9e3b474d219f8a7c1e2",
"businessDomain": "www.example-shop.com",
"businessName": "Example Shop",
"trustScore": 1.6,
"stars": 1.5,
"numberOfReviews": 12483,
"numberOfReviewsLast12Months": 3120,
"categories": [
"Online Marketplace",
"Electronics Store"
],
"isClaimed": true,
"isClosed": false,
"sourceUrl": "https://www.trustpilot.com/review/www.example-shop.com",
"scrapedAt": "2026-08-05T09:14:22.317Z"
}

Pricing

You pay per review returned, and that is the whole bill: platform usage is included in the price. The per-company summary row is free. No subscription.

EventPrice
Review scraped$0.75 per 1,000
Actor start$0.005 per run

The small start fee covers runs that return nothing; on any normal pull it is noise next to the per-review price.

FAQ

Do I need a proxy or an API key? Neither. The actor handles Trustpilot's bot check on its own, and platform usage is included in the price, so nothing extra ever appears on your bill.

What domain do I enter? Use the domain as Trustpilot lists it, which is usually the company's site (e.g. amazon.com or www.amazon.com). If in doubt, open the company on Trustpilot and paste the full /review/... URL instead.

Can I get the full review history? Up to 200 reviews per listing: Trustpilot shows anonymous visitors the first 10 pages and asks for a sign-in after that, which this actor does not do. To go deeper, run the company once per star rating (stars: [1], [2], …) or per language — each is a separate listing with its own 200 newest reviews.

Do I get the company's replies? Yes. When a company has replied to a review, replyText and replyDate are filled in; otherwise they are null. Set withRepliesOnly to keep only the ones that were answered.

Am I charged for reviews my filters exclude? No. Every review is checked against stars, languages, verifiedOnly and withRepliesOnly before it is billed, and a review that fails any of them is never charged and never written to the dataset.

What happens if a filter matches nothing? The run finishes cleanly and its status message tells you which case it was: how many reviews were read and which filter dropped them, or that Trustpilot's own filtered listing was genuinely empty. You are charged the start fee and nothing else.

Is the TrustScore included? Yes, as a separate recordType: "business" summary row per company, alongside stars, total reviews and categories.


Something missing?

If you need an extra field, another filter (date ranges and keyword search are the usual asks), or another review site, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More review and monitoring Actors are on my profile.

Trustpilot scraper, Trustpilot reviews, scrape Trustpilot, TrustScore, customer reviews data, review monitoring, reputation management, competitor review analysis, Trustpilot API alternative, company reviews JSON.