Trustpilot Reviews Scraper avatar

Trustpilot Reviews Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Trustpilot Reviews Scraper

Trustpilot Reviews Scraper

Under maintenance

Scrape Trustpilot reviews for any company. Extract ratings, review text, dates, verified purchase status, and company responses. Ideal for brand monitoring, competitor analysis, and customer feedback.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

fatih dağüstü

fatih dağüstü

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract customer reviews, star ratings, reviewer details, and company information from any Trustpilot business page — at scale, without a login.

$3 per 1,000 reviews scraped. No monthly fees. Pay only for what you use.


What This Actor Does

The Trustpilot Reviews Scraper fetches public review data from trustpilot.com/review/{domain} pages. It extracts the full review dataset including reviewer names, star ratings, review text, dates, verification status, company replies, and company-level metrics.

Works with any public Trustpilot business page. No API key required. No login required.


Key Features

  • Bulk scraping: Scrape multiple companies in a single run
  • Full pagination: Automatically follows all pages until maxReviews is reached
  • Rating filter: Skip reviews below a minimum star threshold
  • Language filter: Scrape reviews in a specific language (English, German, French, etc.)
  • Verified badge detection: Know which reviews are Trustpilot-verified
  • Company replies: Capture the company's response to each review
  • Residential proxies: Uses Apify's residential proxy pool for reliable results
  • Polite scraping: 2–4 second delays between requests to avoid rate limits

Use Cases

  • Reputation monitoring: Track what customers say about your brand over time
  • Competitive intelligence: Analyze competitor reviews to find their weaknesses
  • Lead generation: Identify dissatisfied customers of competitors who may be open to switching
  • Market research: Aggregate review data across an industry vertical
  • Sentiment analysis: Feed reviews into NLP pipelines to detect trends
  • Review management: Monitor and respond faster by exporting new reviews daily
  • Due diligence: Research a company before partnering or investing

Input Parameters

ParameterTypeDefaultDescription
companyUrlsarray[]Trustpilot URLs (e.g. https://www.trustpilot.com/review/stripe.com)
companyNamesarray[]Domain names (e.g. stripe.com, hubspot.com)
maxReviewsinteger100Max reviews per company (1–10,000)
minRatinginteger1Minimum star rating (1–5). 1 = all reviews
languagestringallLanguage filter: en, de, fr, es, it, nl, pt, all
sortBystringrecencySort order: recency or relevance
proxyobjectRESIDENTIALProxy configuration

You must provide either companyUrls or companyNames (or both).


Output Fields

Each result in the dataset contains:

FieldTypeDescription
reviewIdstringUnique Trustpilot review ID
reviewerNamestringReviewer display name
reviewerCountrystringISO country code (e.g. US, GB)
reviewerTotalReviewsintegerTotal reviews by this reviewer
ratingintegerStar rating 1–5
titlestringReview headline
textstringFull review body text
languagestringReview language code
datePublishedstringISO 8601 publish date
dateExperiencedstringISO 8601 experience date
dateUpdatedstringISO 8601 last update date
isVerifiedbooleanWhether the review is Trustpilot-verified
verificationLevelstringinvited, verified, organic
verificationSourcestringHow verification happened
sourcestringReview source (e.g. BasicLink, Organic)
likesintegerHelpful votes on the review
replyFromCompanyobject{ text, date } if company replied, else null
companyNamestringCompany display name
companyDomainstringCompany domain (e.g. stripe.com)
companyRatingnumberOverall trust score (1.0–5.0)
companyStarsintegerOverall star rating (1–5)
companyTotalReviewsintegerTotal reviews on Trustpilot
reviewUrlstringDirect URL to the review

Example Output

{
"reviewId": "65f1a2b3c4d5e6f7a8b9c0d1",
"reviewerName": "Sarah M.",
"reviewerCountry": "US",
"reviewerTotalReviews": 3,
"rating": 5,
"title": "Excellent payment processing solution",
"text": "We've been using Stripe for two years and the reliability has been outstanding. The developer documentation is exceptional and integration was straightforward.",
"language": "en",
"datePublished": "2024-03-10T14:22:00.000Z",
"dateExperienced": "2024-03-01T00:00:00.000Z",
"dateUpdated": null,
"isVerified": true,
"verificationLevel": "invited",
"verificationSource": "invitation",
"source": "BasicLink",
"likes": 4,
"replyFromCompany": {
"text": "Thank you for the kind words! We're glad to hear the integration went smoothly.",
"date": "2024-03-11T09:15:00.000Z"
},
"companyName": "Stripe",
"companyDomain": "stripe.com",
"companyRating": 1.8,
"companyStars": 2,
"companyTotalReviews": 16849,
"reviewUrl": "https://www.trustpilot.com/reviews/65f1a2b3c4d5e6f7a8b9c0d1"
}

Pricing

$3 per 1,000 reviews (PPE — Pay Per Event).

ReviewsCost
100$0.30
1,000$3.00
5,000$15.00
10,000$30.00

Proxy costs are included. No subscription required.


How to Use

Option 1: By URL

{
"companyUrls": [
"https://www.trustpilot.com/review/stripe.com",
"https://www.trustpilot.com/review/shopify.com"
],
"maxReviews": 500,
"minRating": 1,
"language": "en"
}

Option 2: By Domain Name

{
"companyNames": ["stripe.com", "shopify.com", "hubspot.com"],
"maxReviews": 200,
"minRating": 3,
"language": "all"
}

Option 3: Only 1-Star Reviews (Competitor Research)

{
"companyNames": ["competitor.com"],
"maxReviews": 1000,
"minRating": 1,
"sortBy": "recency"
}

Competitor Comparison

ToolPrice per 1K resultsLogin RequiredPaginationCompany Reply
This Actor$3NoYes (all pages)Yes
Apify Trustpilot Actor (others)$5–$15NoPartialSometimes
DataForSEO Trustpilot API$10–$20API keyYesNo
ScraperAPI custom$25+ setupNoManualNo
Octoparse templates$75+/moNoLimitedNo

This actor extracts data directly from Trustpilot's built-in Next.js data layer (__NEXT_DATA__), giving you structured JSON without fragile HTML parsing.


FAQ

Does this require a Trustpilot account or API key? No. Trustpilot review pages are fully public. No login or API key is needed.

How many reviews can I scrape? Up to 10,000 reviews per company per run. You can run multiple times for larger datasets.

Can I scrape reviews in multiple languages? Yes. Set language to all to get reviews in every language, or specify a language code like en, de, fr.

How fresh is the data? Data is scraped in real-time from Trustpilot. Each run fetches the latest reviews.

What happens if a company has fewer reviews than maxReviews? The actor stops automatically when all available reviews have been scraped.

Can I filter for only negative reviews? Set minRating to 1 and sortBy to recency to get all reviews. There is no max-rating filter, but you can filter the output dataset by rating after scraping.

Is this against Trustpilot's terms of service? This actor scrapes publicly available review data. We recommend using it for legitimate business purposes such as market research, sentiment analysis, and reputation monitoring. Always comply with applicable laws.

How long does it take? With residential proxies and 2–4 second delays, expect ~10 reviews per minute. 1,000 reviews takes ~100 minutes.

Do you support scheduled runs? Yes. Use Apify's built-in scheduler to run this actor daily, weekly, or at any interval to keep your review database fresh.


Looking for more data? Check our other scrapers:


Technical Notes

  • Extracts data from Trustpilot's __NEXT_DATA__ JSON (no fragile CSS selector parsing)
  • Uses gotScraping + cheerio — lightweight, no browser needed
  • Residential proxy rotation prevents IP blocks
  • Automatic retry logic on failed requests
  • Handles pagination, rate limiting, and edge cases gracefully
  • Compatible with Apify's dataset export (JSON, CSV, Excel, JSONL, XML)

Support

Questions or issues? Contact us through the Apify platform or open an issue.

Built with care by intelligent_yaffle.