Trustpilot Reviews Scraper Pro avatar

Trustpilot Reviews Scraper Pro

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Trustpilot Reviews Scraper Pro

Trustpilot Reviews Scraper Pro

Scrape Trustpilot business reviews, ratings, replies, and rating distributions across any business domain. Multi-business batch with rich filtering: rating range, language, date range, keyword search, verified-only, and reviews-with-company-response.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(13)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

8

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Scrape Trustpilot business reviews, ratings, replies, and rating distributions across any business domain. Multi-business batch with rich filtering: rating bounds, language, date range, verified-only, business-reply-required, and keyword search.

What this actor does

  • Scrapes per-review records from https://www.trustpilot.com/review/<domain> for any number of businesses in a single run
  • Or returns per-business summary records (TrustScore, total reviews, rating distribution, categories, claimed status)
  • Filters: minRating / maxRating, verifiedOnly, responseRequired, language, dateRangeFrom / dateRangeTo, containsKeyword
  • Pagination: handles up to 1,000 reviews per business via ?page=N
  • Bypasses Trustpilot's AWS WAF JS challenge by routing Chromium through Apify residential proxy with a fresh session per business
  • All output uses an omit-empty contract — no nulls / empty strings ever appear in records

Output: per-review (mode = reviews)

  • businessDomain, businessName
  • reviewId, reviewUrl
  • rating (1-5), title, body
  • reviewerName, reviewerCountry, reviewerId, reviewerReviewCount
  • reviewedAt (publish date), experiencedAt (when the customer used the service)
  • verified (bool), language
  • helpfulCount
  • businessReply{text, repliedAt} when present
  • recordType: "review", scrapedAt

Output: per-business (mode = summary)

  • businessDomain, businessName, identifyingName, businessUnitId
  • websiteUrl, trustpilotUrl
  • trustScore (1.0–5.0), stars (rounded), totalReviews
  • ratingDistribution{"1": n, "2": n, "3": n, "4": n, "5": n}
  • categories[]
  • verified (bool), claimedAt
  • address{city, country, ...} when available
  • recordType: "businessSummary", scrapedAt

Input

FieldTypeDefaultDescription
businessDomainsarray["amazon.com"]List of business domains (e.g. amazon.com, airbnb.com). Trustpilot URLs are accepted too.
modestringreviewsreviews (per-review records) / summary (one record per business)
maxReviewsPerBusinessint100Hard cap per business in reviews mode (1–1000)
languagestring""Filter to a single language (en, de, fr, …)
minRating / maxRatingint1–5 bounds for the rating field
verifiedOnlyboolfalseOnly emit reviews flagged as verified
responseRequiredboolfalseOnly emit reviews that received a business reply
dateRangeFrom / dateRangeTostringISO date filters on reviewedAt
containsKeywordstringCase-insensitive substring match on title/body
maxItemsint500Global hard cap across all businesses (1–50000)
proxyConfigurationobjectRESIDENTIALApify residential proxy — required (datacenter IPs are blocked)

Example: latest 1-star reviews of Amazon with replies

{
"businessDomains": ["amazon.com"],
"mode": "reviews",
"maxReviewsPerBusiness": 100,
"minRating": 1,
"maxRating": 1,
"responseRequired": true,
"language": "en"
}

Example: bulk summary of competitors

{
"businessDomains": ["airbnb.com", "vrbo.com", "booking.com"],
"mode": "summary"
}

Example: keyword monitor for a brand

{
"businessDomains": ["mybrand.com"],
"mode": "reviews",
"containsKeyword": "shipping",
"dateRangeFrom": "2025-01-01"
}

Example: 5-star reviews mentioning "support" — German market

{
"businessDomains": ["yourcompany.de"],
"mode": "reviews",
"minRating": 5,
"language": "de",
"containsKeyword": "support"
}

Use cases

  • Reputation management — daily monitor of new reviews and replies for tracked brands
  • Competitor research — bulk-summarize TrustScores + rating distributions across competitors
  • Brand sentiment tracking — keyword filter (e.g. delivery, cancel) for high-volume brands
  • Compliance / consumer protection — pull every 1-star review citing specific issues
  • Customer-success ROI — count replies-to-reviews ratio per business
  • Localization research — filter by language to compare sentiment across markets
  • Investor due diligence — track multi-month rating-distribution trends for a private brand
  • Journalism — bulk-export negative reviews for an investigative piece

FAQ

Why is residential proxy required? Trustpilot's pages are protected by AWS WAF, which blocks datacenter IPs with a JS-challenge interstitial. Residential IPs pass the challenge transparently. The actor fails fast if no residential proxy is configured.

Does it require login or cookies? No. All Trustpilot business pages are public.

What's the difference between reviewedAt and experiencedAt? reviewedAt is when the consumer published the review on Trustpilot. experiencedAt is the service date the consumer reported (when they actually used the service). Both are extracted when present.

Are reviewer profiles included? Yes — reviewerName, reviewerCountry, and reviewerId (when public). Some reviewers post anonymously and only the display name is available.

Can I scrape replies-only? Yes — set responseRequired: true. Note: many high-volume retailers (Amazon, Walmart, etc.) don't reply to most recent reviews on Trustpilot, so this filter may return 0 results for big brands; smaller businesses with active customer-care typically yield more matches.

What's the throughput? Trustpilot loads 20 reviews per page. The actor fetches sequentially per business with a 0.5–1.5s delay between pages. Expect ~1k reviews per business in ~1 minute (plus initial proxy session warm-up).

Are old reviews available? Yes — Trustpilot keeps reviews dating back years. dateRangeFrom lets you filter the window. Heads-up: Trustpilot returns reviews newest-first and caps deep pagination at ~10-12 pages (~200-240 reviews) from many IPs, so a tight dateRangeFrom/dateRangeTo window targeting reviews older than the actor can reach may return 0 records on high-volume businesses. For the broadest result set, use dateRangeFrom alone (no upper bound) or run on a smaller, lower-traffic business.

What's a "verified" review? Trustpilot flags a review as verified if it can confirm the reviewer used the service (e.g. via the company's review-invitation flow).

Can I scrape Trustpilot consumer profiles? Not in v1 — only business pages are supported.

Why don't I see a helpfulCount on every review? Trustpilot only surfaces helpful counts on reviews with at least one upvote. Reviews with zero helpful votes have helpfulCount: 0 (kept) or omit the field if Trustpilot doesn't expose it.

Is this affiliated with Trustpilot? No, this actor is third-party and uses publicly accessible business pages.