Trustpilot Review Scraper - Ratings, Replies & Filters avatar

Trustpilot Review Scraper - Ratings, Replies & Filters

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Trustpilot Review Scraper - Ratings, Replies & Filters

Trustpilot Review Scraper - Ratings, Replies & Filters

Trustpilot Review Scraper extracts business reviews with star rating, replies, verified-only and language filters, date ranges and sorting. ⭐ For reputation monitoring, competitor benchmarking and customer sentiment analysis.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Hub

Scrapers Hub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

⭐ Trustpilot Review Scraper – Export Reviews, Ratings, Replies & Verified Filters

The Trustpilot Review Scraper extracts customer reviews from any Trustpilot business page — review text, star rating, reviewer name and country, experienced and published dates, verification status, likes, and the company's reply. Use it to scrape Trustpilot reviews for reputation management, sentiment analysis, and competitor research, then export straight to CSV, Excel, or JSON. 📊

No login, no API key, no browser extension. Point it at a Trustpilot business URL, apply the filters you need, and get up to 31 structured fields per review.


📊 What Data Can You Extract with This Trustpilot Scraper?

This Trustpilot review scraper returns 31 fields per review, organised into five useful groups:

Data CategoryFields You Get
💬 Review Contenttitle, text, rating, language, likes, source
👤 Reviewer ProfilereviewerName, reviewerCountry, reviewerNumberOfReviews, consumer, location
Verification StatusisVerified, verificationLevel, labels, filtered, isPending
🗓️ Dates & TimelinepublishedDate, experiencedDate, updatedDate, dates, scrapedAt
🏢 Business & Replyreply, businessName, businessUrl, url, productReviews

The distinction between publishedDate and experiencedDate matters more than most people expect — the gap between when something happened and when someone wrote about it is a strong signal of how strongly they felt.


🌟 Key Features of the Trustpilot Review Scraper

FeatureDescription
Star Rating FilterPull only 1-star complaints or only 5-star praise — or any combination.
💬 Company Replies IncludedCapture the business response alongside each review to measure reply rate and tone.
Verified Reviews OnlyFilter to verified buyers to strip unverified noise out of your analysis.
📅 Date Range FilteringScope reviews to the last month, 3 months, 6 months, year, or all time.
🌐 Language FilteringIsolate reviews in a single language for cleaner sentiment scoring.
🔀 Sort ControlSort by recency or relevance to match how visitors actually read the page.
♾️ Unlimited Review ScrapingSet maxResults to 0 to export a company's entire review history.
👤 Reviewer MetadataReviewer name, country, and total review count for credibility weighting.
📤 Export AnywhereJSON, CSV, Excel, XML, or straight through the Apify API.

🚀 Why Choose This Trustpilot Scraper?

Filters run server-side, not after the fact. Most Trustpilot scrapers dump everything and leave you to filter in a spreadsheet. This one applies star rating, date range, language, verification, and reply filters during the scrape — so you pay for the reviews you actually want.

Replies are first-class data. The reply field captures the business response, which is what lets you measure response rate and time-to-reply. For reputation work, that's often more actionable than the reviews themselves.

Reviewer credibility signals included. reviewerNumberOfReviews and verificationLevel let you weight a one-review account differently from a prolific verified reviewer — essential when you're trying to spot review manipulation.

No browser extension, no manual clicking. Chrome extensions require you to sit on the page and scroll. This Actor runs headlessly on a schedule and paginates automatically.


📥 Input

{
"businessUrl": "https://www.trustpilot.com/review/www.nordvpn.com",
"maxResults": 1000,
"sort": "recency",
"starRating": [1, 2],
"dateRange": "all",
"language": "all",
"verifiedOnly": false,
"repliesOnly": false
}

🔧 Trustpilot Scraper Input Fields

FieldTypeRequiredDefaultDescription
businessUrlstring✅ YesTrustpilot business page URL to scrape.
maxResultsinteger❌ No1000Max reviews to collect. Use 0 for all reviews.
sortstring❌ NorecencySort order for the review feed.
starRatingarray❌ No[]Only keep reviews with these star ratings.
dateRangestring❌ NoallRestrict reviews to a time window.
languagestring❌ NoallOnly keep reviews in this language.
verifiedOnlyboolean❌ NofalseReturn only verified reviews.
repliesOnlyboolean❌ NofalseReturn only reviews the company replied to.

💡 Input Examples

Export every negative review for complaint analysis:

{ "businessUrl": "https://www.trustpilot.com/review/yourcompany.com",
"starRating": [1, 2], "maxResults": 0 }

Collect verified 5-star reviews for marketing:

{ "businessUrl": "https://www.trustpilot.com/review/yourcompany.com",
"starRating": [5], "verifiedOnly": true, "language": "en", "maxResults": 200 }

Audit your customer-service response rate:

{ "businessUrl": "https://www.trustpilot.com/review/yourcompany.com",
"repliesOnly": true, "dateRange": "last6months", "maxResults": 0 }

📤 Output

Each dataset item is one Trustpilot review. Real sample from an actual run:

{
"id": "6a7a51a5094e6794e33d862e",
"title": "always easy to connect",
"text": "always easy to connect",
"rating": 5,
"isVerified": true,
"reviewerName": "NordVPN Customer",
"reviewerCountry": "US",
"reviewerNumberOfReviews": 1,
"publishedDate": "2026-08-11T09:12:44.000Z",
"experiencedDate": "2026-08-10T00:00:00.000Z",
"likes": 0,
"reply": null,
"businessName": "NordVPN",
"language": "en"
}

🧾 Trustpilot Review Output Fields

FieldDescription
idUnique Trustpilot review ID.
title / textReview headline and full review body.
ratingStar rating from 1 to 5.
isVerified / verificationLevelWhether the reviewer was verified, and how.
reviewerName / reviewerCountryReviewer display name and country code.
reviewerNumberOfReviewsHow many reviews this person has written overall.
publishedDate / experiencedDate / updatedDateWhen posted, when the experience happened, when edited.
replyThe company's response object, if they replied.
likesHow many people found the review useful.
languageDetected review language.
url / businessUrl / businessNameReview permalink and the business it belongs to.
sourceHow Trustpilot collected the review (e.g. invitation link).
consumerFull reviewer object including profile image and ID.
locationReviewer or business location where available.
consumersReviewCountOnSameDomainHow many reviews this person left for this business.
scrapedAtUTC timestamp of extraction.

Plus labels, filtered, isPending, report, hasUnhandledReports, and productReviews.


💻 How to Use the Trustpilot Review Scraper (Step by Step)

Step 1: Find the Trustpilot Business URL

Search the company on Trustpilot and copy the URL from the address bar. It follows the pattern trustpilot.com/review/yourcompany.com — the domain at the end is the business identifier.

Step 2: Choose Your Star Rating Filter

Set starRating to [1, 2] for complaint analysis, [5] for testimonials, or leave it empty to capture the full distribution. This is the single most effective way to cut run size while keeping the data you need.

Step 3: Set a Date Range

Reputation work usually only needs recent reviews. dateRange scopes the scrape to the last month, 3 months, 6 months, or year — far cheaper than pulling years of history you'll discard.

Step 4: Decide on Verification and Replies

Turn on verifiedOnly when you need trustworthy data for analysis. Turn on repliesOnly when you're auditing how well a company responds to feedback.

Step 5: Set Your Review Limit

maxResults caps the run. Use 0 deliberately — for a business with tens of thousands of reviews, that's a long run. Start with 500 to validate your filters first.

Step 6: Run and Export Your Trustpilot Reviews

Click Start, then export as CSV, Excel, JSON, or XML from the Storage tab. Every field becomes a spreadsheet column.

Step 7: Schedule for Continuous Review Monitoring

Use Apify Schedules to re-run daily with dateRange set to the last month. Pair it with a webhook to get alerted the moment a new 1-star review appears.


🔌 API Access & Integrations

Scrape reviews and get results in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers-hub~trustpilot-review-scraper-ratings-replies-filters/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"businessUrl":"https://www.trustpilot.com/review/www.nordvpn.com","starRating":[1,2],"maxResults":100}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("scrapers-hub/trustpilot-review-scraper-ratings-replies-filters").call(run_input={
"businessUrl": "https://www.trustpilot.com/review/www.nordvpn.com",
"starRating": [1, 2],
"maxResults": 100,
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["rating"], review["title"], review["text"][:80])

Push Trustpilot review data into Google Sheets, Slack, Zapier, Make, Airbyte, or your own webhook using the built-in Apify integrations — ideal for routing new negative reviews to a support channel automatically.


💡 Best Use Cases for Trustpilot Review Data

🛡️ Online Reputation Management

Schedule a daily run filtered to 1- and 2-star reviews from the last month, and route results to Slack. Responding to a negative Trustpilot review within hours instead of weeks measurably changes how it reads to future customers.

📉 Complaint & Churn Analysis

Export every negative review and cluster the text. Recurring phrases surface the product failures, billing surprises, and support gaps that are actually driving cancellations — grounded in customer language, not internal assumptions.

🥊 Competitor Benchmarking

Scrape your competitors' Trustpilot pages alongside your own. Compare average rating, review velocity, verification rate, and reply rate. A rival with a high rating but near-zero reply rate is showing you an opening.

🧠 Sentiment Analysis & NLP

Review text plus a numeric rating is effectively a pre-labelled training set. Feed it into a sentiment model, topic classifier, or LLM summarisation pipeline for automated theme extraction.

📣 Social Proof & Marketing Assets

Filter to verified 5-star reviews in your target language and pull the strongest quotes for landing pages, ads, and sales decks — with permalinks so every quote is attributable.

🔍 Due Diligence & Vendor Assessment

Before signing with a supplier or SaaS vendor, export their full Trustpilot history. Rating trend over time tells you far more than the headline TrustScore.

🕵️ Review Authenticity Auditing

Combine reviewerNumberOfReviews, isVerified, and publishedDate to spot suspicious clusters — a burst of 5-star reviews from single-review accounts posted on the same day is a recognisable pattern.


⚙️ Tips for Better Trustpilot Scraping Results

  • Filter before you scrape. Star and date filters cut run cost dramatically compared to exporting everything and filtering later.
  • Use language for sentiment work. Mixed-language datasets degrade most sentiment models; scrape one language at a time.
  • Test with a small maxResults first. Confirm your filter combination returns what you expect before committing to a full history pull.
  • Track review velocity, not just average rating. A stable 4.2 with rising volume is very different from a stable 4.2 with collapsing volume.
  • Keep experiencedDate for analysis. It's closer to when the problem actually occurred than publishedDate.

🛠️ Troubleshooting

I get fewer reviews than maxResults. Your filters may be narrower than you think. A business with 800 reviews filtered to 1-star, verified, English, last month may legitimately have only a handful.

reply is null on every review. That business doesn't respond to reviews. Set repliesOnly to true to confirm — an empty result set is the answer.

The run takes a long time. maxResults: 0 on a business with tens of thousands of reviews means full pagination. Narrow with dateRange or set an explicit cap.

Reviewer names look generic. Some businesses collect reviews through invitation links, and Trustpilot displays those reviewers as "[Business] Customer". That's how the source page renders it.


❓ Frequently Asked Questions About Trustpilot Scraping

How do I export Trustpilot reviews to Excel or CSV? Run the Actor, open the dataset, and use the Export button to pick CSV or Excel. Every field above becomes a column.

Can I scrape all reviews for a company? Yes. Set maxResults to 0 and the scraper paginates through the business's complete review history.

Can I get only negative Trustpilot reviews? Set starRating to [1, 2] to return only 1- and 2-star reviews. Use [4, 5] for positive ones.

Does the Trustpilot scraper include company replies? Yes — the reply field carries the business response. Set repliesOnly to true to keep only reviews that were answered.

Do I need a Trustpilot account or API key? No. The scraper reads only public review pages, with no login or API credentials required.

Can I scrape reviews in a specific language? Yes. Set language to the code you want, and only reviews Trustpilot detected in that language are returned.

How do I monitor new Trustpilot reviews automatically? Create an Apify Schedule with dateRange set to a recent window, then attach a webhook or Slack integration to be notified on each run.

Can I scrape multiple businesses at once? Each run targets one businessUrl. To cover several companies, run the Actor once per business — easily automated through the API or scheduled tasks.

What is the difference between publishedDate and experiencedDate? experiencedDate is when the customer says the experience happened; publishedDate is when they posted about it. The gap is a useful signal of intensity.

Can I tell whether a review is verified? Yes — isVerified is a boolean and verificationLevel describes how Trustpilot verified it.

Does it scrape product reviews as well as company reviews? The productReviews field carries product-level review data where Trustpilot exposes it on the business page.

Is scraping Trustpilot reviews legal? The scraper reads only publicly accessible pages. Reviews contain personal names and opinions, so GDPR and similar regulations apply to how you store and process them. See the disclaimer.

Can I use scraped reviews on my website? Reviews are the intellectual property of their authors and Trustpilot. Displaying them may require permission or Trustpilot's official widgets — check their terms before republishing.

How much does a Trustpilot scraping run cost? Cost scales with the number of reviews collected. Filters and maxResults give you direct control.


🆘 Support & Feedback

💬 Need an extra filter or field? Open a ticket in the Issues tab of this Actor.

📩 For custom review-monitoring pipelines, multi-business dashboards, or enterprise volume, email scraperhubapi@gmail.com.

⭐ If this Trustpilot review scraper helps your team, a review helps others find it too.


⚖️ Disclaimer

This Trustpilot review scraper collects data solely from publicly accessible Trustpilot business pages. It does not access private accounts or content behind a login. Reviews contain personal opinions and reviewer names — you are responsible for handling that data in line with GDPR, CCPA, and other privacy and data protection laws, as well as Trustpilot's terms of service. Review content remains the intellectual property of its authors; check Trustpilot's terms before republishing.

For data removal requests, contact scraperhubapi@gmail.com. Use this scraper responsibly, ethically, and only for legitimate research or business purposes.