Trustpilot Review Scraper avatar

Trustpilot Review Scraper

Pricing

$4.99/month + usage

Go to Apify Store
Trustpilot Review Scraper

Trustpilot Review Scraper

Trustpilot review scraper that collects star ratings, review text, and reviewer details from any company page, so marketers and analysts can monitor brand reputation and run sentiment analysis without manual data collection.

Pricing

$4.99/month + usage

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Trustpilot Review Scraper: Collect Customer Reviews from Any Company Page

Pull customer reviews from any Trustpilot company profile. Give it a domain like www.amazon.com and it walks through the review pages collecting star ratings, full review text, reviewer details, and any company replies. No extra setup beyond the domain, and it handles pagination on its own.

Use cases

  • Reputation monitoring: track what customers say about your brand over time without checking the site manually
  • Competitor research: collect reviews for rival businesses and compare sentiment, common complaints, and rating trends
  • Sentiment analysis: feed structured review datasets into NLP pipelines for opinion mining and topic modeling
  • SEO research: identify keywords and themes customers use when talking about a brand to inform content strategy
  • Market research: aggregate review data from multiple companies in an industry to spot patterns and benchmark performance

What data does this actor extract?

Each review record includes:

{
"reviewId": "abc123def456",
"companyDomain": "www.amazon.com",
"companyName": "Amazon",
"reviewTitle": "Fast delivery but packaging was damaged",
"reviewText": "Ordered a kitchen appliance and it arrived two days early. The outer packaging was crushed and the product had a small scratch.",
"rating": 3,
"reviewDate": "2024-11-15T09:23:00.000Z",
"reviewerName": "Sarah M.",
"reviewerCountry": "GB",
"verified": true,
"companyReply": "Thank you for your feedback. Please contact our support team and we will make this right.",
"scrapedAt": "2025-03-01T14:22:10.123456+00:00"
}
FieldTypeDescription
reviewIdstringUnique Trustpilot identifier for the review
companyDomainstringCompany domain used as input
companyNamestringCompany display name as shown on Trustpilot
reviewTitlestringReview headline written by the customer
reviewTextstringFull body text of the review
ratingintegerStar rating from 1 (worst) to 5 (best)
reviewDatestringISO 8601 date when the review was published
reviewerNamestringDisplay name of the reviewer
reviewerCountrystringISO 3166-1 alpha-2 country code of the reviewer
verifiedbooleanWhether Trustpilot verified the reviewer made a real purchase
companyReplystringCompany response to the review. Empty string if no reply was posted
scrapedAtstringISO 8601 timestamp of when this record was collected

Input

ParameterTypeDefaultDescription
companyDomainstringCompany domain as registered on Trustpilot (e.g. www.amazon.com) or full Trustpilot URL. Required.
maxReviewsinteger100Maximum reviews to collect per run. Capped at 1000.
startPageinteger1Page to start from. Set higher to skip earlier pages.
endPageinteger0Page to stop at (inclusive). 0 = no page limit, use maxReviews instead.
starsstringAll ratingsFilter by star rating: 5, 4, 3, 2, or 1. Leave on default for all ratings.
datePostedstringAll reviewsFilter by date period: All reviews, Last 30 days, Last 3 months, Last 6 months, Last 12 months.
languagestringAll languagesFilter by language: English, Deutsch, Français, Español, Italiano, Nederlands, and more.
requestTimeoutSecsinteger30Per-request timeout in seconds.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional.

Example input

{
"companyDomain": "www.amazon.com",
"maxReviews": 200,
"language": "en",
"stars": 1,
"proxyConfiguration": { "useApifyProxy": true }
}

You can also pass a full Trustpilot URL instead of a bare domain:

{
"companyDomain": "https://www.trustpilot.com/review/www.booking.com",
"maxReviews": 50
}

To scrape a specific page range (useful for splitting large runs across multiple actor invocations):

{
"companyDomain": "www.amazon.com",
"startPage": 6,
"endPage": 10,
"maxReviews": 1000
}

How it works

  1. The actor normalizes the input domain. Trustpilot company domains often include www. (e.g. www.amazon.com), so the prefix is preserved as-is.
  2. Page 1 — HTML fetch: the actor sends a browser-realistic request (Chrome 145, full sec-ch-ua/sec-fetch-* headers, Google as referrer) and parses the __NEXT_DATA__ JSON script tag embedded in the HTML. This gives the first 20 reviews and, critically, the Next.js buildId needed for pagination.
  3. Pages 2+ — Next.js JSON API: instead of fetching full HTML pages, the actor calls Trustpilot's internal data API directly (/_next/data/{buildId}/review/{domain}.json?page=N&businessUnit={domain}). This endpoint returns pure JSON with the same review structure, no HTML parsing needed. The request uses x-nextjs-data: 1, sec-fetch-mode: cors, and sec-fetch-dest: empty to match what the browser sends.
  4. Reviews are parsed from each response and pushed to the dataset. The actor repeats until it reaches maxReviews or the API returns an empty reviews list.
  5. If proxy configuration is set, a fresh proxy URL is obtained for each page request.

Integrations

Trustpilot Review Scraper works with Apify integrations including Google Sheets, Slack, Make, and Zapier. Use webhooks to trigger downstream actions when a run finishes and new data is ready.

FAQ

Can this actor scrape reviews for any company on Trustpilot? Yes. As long as the company has a public Trustpilot profile, pass the company domain or the full Trustpilot URL as input.

What domain format should I use: amazon.com or www.amazon.com? Use the format that matches the company's Trustpilot URL. Many large companies (including Amazon) are registered as www.amazon.com on Trustpilot. If you get zero results with amazon.com, try www.amazon.com.

How many reviews can I collect per run? The actor caps at 1000 reviews per run to keep costs predictable. For larger datasets, run the actor multiple times with different star rating or language filters and merge the results.

Does it need a Trustpilot account or API key? No. It scrapes public review pages without any authentication.

Will it collect reviews in languages other than English? Yes. Leave language empty to get reviews in all languages, or set it to a language code like de or fr to filter.

What should I do if the actor gets blocked? Switch to Residential proxies in the proxy configuration. Datacenter IPs are faster but more likely to trigger Trustpilot rate limits.

How many reviews are on each page? Trustpilot shows 20 reviews per page, so collecting 100 reviews requires roughly 5 page requests.

Trustpilot review pages are publicly accessible, but check Trustpilot's terms of service and your local regulations before using scraped data commercially.