Trustpilot Reviews Scraper avatar

Trustpilot Reviews Scraper

Pricing

$0.70 / 1,000 review returneds

Go to Apify Store
Trustpilot Reviews Scraper

Trustpilot Reviews Scraper

Scrape Trustpilot company reviews and ratings for any business — review text, star rating, reviewer, country, verified flag, dates and the company reply, plus the company's TrustScore. Runs a real browser to beat the AWS WAF; never charges for blocked or empty look-ups.

Pricing

$0.70 / 1,000 review returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Trustpilot Scraper

Scrape Trustpilot company reviews and ratings for any business — the full review text, star rating, reviewer, dates, verified flag, and the company's reply.

Trustpilot sits behind an AWS WAF JavaScript proof-of-work challenge that blocks plain HTTP scrapers. This actor runs a real browser that solves the challenge, reads reviews from the page's own embedded data (stable), paginates through them, and rotates a fresh residential IP on a block — returning reviews or an honest BLOCKED, never silent-empty.

Input

FieldNotes
companyDomainsOne or more domains to look up, e.g. www.amazon.com, nike.com.
maxReviewsReviews to collect per company (~20/page).

Output

One row per review, each carrying the company context (companyName, companyDomain, trustScore, totalReviews) plus: rating, title, text, author, authorCountry, verified, likes, publishedAt, experiencedAt, replyText, reviewUrl.

Sample output row

{
"ok": true,
"companyName": "Amazon",
"companyDomain": "www.amazon.com",
"trustScore": 4.1,
"totalReviews": 152340,
"rating": 5,
"title": "Fast delivery",
"text": "Ordered Monday, arrived Tuesday. Great service.",
"author": "Jane D.",
"authorCountry": "US",
"verified": true,
"likes": 0,
"publishedAt": "2026-05-01T10:12:00Z",
"experiencedAt": "2026-04-30T00:00:00Z",
"replyText": null,
"replyAt": null,
"reviewUrl": "https://www.trustpilot.com/reviews/abc123"
}

Nullable fields

Trustpilot does not always send every field. The following can be null on a given review: title, text, author, authorCountry, authorReviewCount, likes, experiencedAt, replyText, replyAt, and (rarely) rating. Company-context fields (trustScore, totalReviews, categories, websiteUrl) can also be null if Trustpilot omits them.

Pricing

Pay per result: you are charged only for genuine reviews (ok: true). An empty shell with no rating and no text is pushed for transparency with ok: false, errorCode: "EMPTY_REVIEW", and is never charged. Blocked or empty look-ups return a coded diagnostic row (ok: false) and are likewise not charged.

Note: there is no cross-run dedup — the same review collected on a later run will be a new row and charged again (standard Apify behavior). Within a single run, duplicate reviews are removed.

Troubleshooting

  • BLOCKED diagnostic: Trustpilot's AWS WAF blocked every browser/IP rotation. Re-run; the actor already rotates a fresh RESIDENTIAL IP and User-Agent on each block. A RESIDENTIAL proxy is required for the WAF.
  • NO_RESULTS: the domain exists but has no reviews — confirm the domain matches exactly what appears on Trustpilot (e.g. www.amazon.com, not amazon.com).
  • BAD_INPUT: no domain was provided; set companyDomains or companyDomain.

Notes

Uses a RESIDENTIAL proxy (required for the WAF). Rotation can make a run slower but it gets through. The browser rotates its User-Agent across a pool on each block for stronger anti-bot evasion.