Trustpilot Scraper — Reviews, Ratings, Company Data & Sentiment avatar

Trustpilot Scraper — Reviews, Ratings, Company Data & Sentiment

Pricing

from $0.12 / 1,000 reviews

Go to Apify Store
Trustpilot Scraper — Reviews, Ratings, Company Data & Sentiment

Trustpilot Scraper — Reviews, Ratings, Company Data & Sentiment

Scrape Trustpilot reviews, star ratings, company profiles, and replies at scale. Filter by stars and language. Export JSON, CSV, Excel. Cheapest Trustpilot scraper on Apify — $0.20 per 1,000 reviews.

Pricing

from $0.12 / 1,000 reviews

Rating

0.0

(0)

Developer

Rémi Pelloux

Rémi Pelloux

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Trustpilot Reviews Scraper — Ratings, Company Data & Reply Analysis

The fastest and most affordable Trustpilot scraper on Apify. Extract customer reviews, star ratings, company profiles, reviewer details, and company replies from any Trustpilot business page. Process hundreds of companies in parallel with built-in pagination, language filtering, and star rating filters.

Use this actor to monitor brand reputation, analyze competitors, track customer sentiment, or build review datasets for market research. Paste company domains or Trustpilot URLs and get structured review data ready for your spreadsheet, dashboard, or CRM.

Why choose this scraper?

FeatureThis actorBasic review scraperManual export
Price per 1,000 reviews$0.20~$0.50Free (limited)
Parallel company processingUp to 20 concurrent1 at a timeN/A
Star rating filterYesNoLimited
Language filterYesNoYes
Company reply extractionYesPartialYes
Reviewer countryYesNoNo
Verified review flagYesNoYes
Pagination (all reviews)AutomaticManual20 per page
Export formatsJSON, CSV, Excel, APIJSON onlyNone

What data do you get?

Every review includes 21 structured fields across three categories:

Company profile: company name, website URL, Trustpilot URL, overall rating, total review count, business categories.

Review content: review ID, title, full text, star rating (1-5), publication date, date of experience, review language, direct review URL.

Reviewer and reply: reviewer display name, country, total review count, verification status, whether the company replied, reply text, and reply date.

Input parameters

ParameterTypeDefaultDescription
urlsString[]RequiredCompany domains or Trustpilot URLs (e.g. apple.com, trustpilot.com/review/amazon.com)
maxReviewsPerCompanyInteger100Max reviews to scrape per company. Set to 0 for all reviews
filterByStarsInteger[]AllOnly scrape reviews with these star ratings (e.g. [1, 2] for negative only)
sortByStringrecencySort by recency (newest first) or relevance
reviewLanguageStringAllISO language code to filter reviews (e.g. en, fr, de)
maxConcurrencyInteger10Number of companies processed in parallel
proxyConfigurationObjectRESIDENTIAL proxyResidential proxies required — Trustpilot blocks datacenter IPs

Input examples

Scrape latest 200 reviews from multiple companies:

{
"urls": ["apple.com", "amazon.com", "netflix.com"],
"maxReviewsPerCompany": 200,
"sortBy": "recency"
}

Extract only negative reviews (1-2 stars) in English:

{
"urls": ["https://www.trustpilot.com/review/example.com"],
"filterByStars": [1, 2],
"reviewLanguage": "en",
"maxReviewsPerCompany": 500
}

Scrape all reviews from a single company:

{
"urls": ["stripe.com"],
"maxReviewsPerCompany": 0
}

Output example

{
"companyName": "Apple",
"companyUrl": "https://www.apple.com",
"companyTrustpilotUrl": "https://www.trustpilot.com/review/www.apple.com",
"companyRating": 1.8,
"companyTotalReviews": 11801,
"companyCategories": ["Electronics Store", "Cell Phone Store", "Software Company"],
"reviewId": "65a1b2c3d4e5f6a7b8c9d0e1",
"reviewTitle": "Great hardware, terrible customer support",
"reviewText": "I bought an iPhone 15 Pro and the hardware is excellent, but when I had an issue with my warranty claim, the support team was unhelpful and took weeks to respond...",
"reviewRating": 2,
"reviewDate": "2026-03-15T10:30:00.000Z",
"reviewDateOfExperience": "2026-03-01",
"reviewerName": "John D.",
"reviewerCountry": "US",
"reviewerReviewCount": 5,
"isVerified": true,
"hasReply": true,
"replyText": "Thank you for your feedback, John. We're sorry to hear about your experience and would like to look into this further...",
"replyDate": "2026-03-16T08:00:00.000Z",
"reviewLanguage": "en",
"reviewUrl": "https://www.trustpilot.com/reviews/65a1b2c3d4e5f6a7b8c9d0e1"
}

Pricing

TierPer reviewPer 1,000 reviews
Standard$0.0002$0.20
Bronze$0.00018$0.18
Silver$0.00015$0.15
Gold$0.00012$0.12

Free users can scrape 50 reviews per run to test the actor before subscribing.

Platform compute costs are billed separately by Apify based on memory and run time. This actor uses minimal resources (256 MB default) so compute costs are negligible.

Programmatic access (API)

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_ACTOR_ID").call(run_input={
"urls": ["apple.com", "amazon.com"],
"maxReviewsPerCompany": 200,
"filterByStars": [1, 2, 3],
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f'{review["companyName"]}{review["reviewRating"]}★ — {review["reviewTitle"]}')

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("YOUR_ACTOR_ID").call({
urls: ["apple.com", "amazon.com"],
maxReviewsPerCompany: 200,
filterByStars: [1, 2, 3],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const review of items) {
console.log(`${review.companyName}${review.reviewRating}★ — ${review.reviewTitle}`);
}

cURL

# Start a run
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["apple.com"], "maxReviewsPerCompany": 100}'
# Fetch results
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

Use cases

  • Brand monitoring — Track what customers say about your company over time. Set up scheduled runs to catch new reviews daily.
  • Competitor analysis — Compare review sentiment, response rates, and ratings across competitors in your industry.
  • Market research — Build datasets of customer feedback for product development, pricing strategy, or market entry analysis.
  • Sentiment analysis — Feed review text into NLP models to measure customer satisfaction trends.
  • Reputation management — Monitor for negative reviews and track whether companies respond (and how quickly).
  • Lead qualification — Check Trustpilot scores before engaging with potential business partners or vendors.

Integrations

  • Apify API — Trigger runs programmatically and stream results as JSON into your data pipeline.
  • Zapier — Automatically run the scraper when new companies are added to a Google Sheet, then push results into Slack, email, or your CRM.
  • Make (Integromat) — Build multi-step workflows that scrape reviews, filter by rating, and route alerts for negative reviews.
  • Google Sheets — Export the dataset directly to Google Sheets for team review and collaboration.
  • Webhooks — Receive results as soon as the run completes for real-time processing.
  • Scheduled Runs — Set up daily or weekly schedules to continuously monitor company reviews.

FAQ

How many reviews can I scrape per company? There is no hard limit. Set maxReviewsPerCompany to 0 to scrape all available reviews. Companies with tens of thousands of reviews may take several minutes to complete.

Do I need a Trustpilot account? No. This actor scrapes publicly available review data. No Trustpilot account or API key is required.

How fast is the scraper? The actor processes approximately 50-100 reviews per second per company, depending on proxy configuration. Multiple companies are processed in parallel.

Can I filter reviews by date? Sort by recency (default) to get the newest reviews first, then set maxReviewsPerCompany to control how far back you go. Direct date range filtering is planned for a future release.

What happens if a company is not on Trustpilot? The actor skips companies that don't have a Trustpilot page and continues processing the remaining ones. Check the run log for details.

Can I scrape reviews in languages other than English? Yes. Set reviewLanguage to any ISO 639-1 code (e.g. fr for French, de for German). Leave it empty to get reviews in all languages.

Does the actor extract company replies? Yes. If a company has replied to a review, the reply text and reply date are included in the output.

Why do I need residential proxies? Trustpilot uses Cloudflare protection that blocks datacenter IP addresses. Residential proxies are required for reliable scraping. The actor is pre-configured with Apify's RESIDENTIAL proxy group — no additional setup needed.

Responsible use

This actor collects publicly visible information from Trustpilot. Follow these guidelines:

  • Comply with applicable laws including GDPR and local data protection regulations.
  • Respect Trustpilot's terms of service and rate limits.
  • Do not use scraped reviews for fake testimonials, defamation, or misleading marketing.
  • Consider the privacy of reviewers — their names and countries are public but should be handled responsibly.