Trustpilot Review Scraper & Sentiment Analyzer is an Apify actor on ApifyForge. It scrapes Trustpilot reviews for any business and returns structured review data, customer feedback sentiment, company response rates, average reply times, and full review text — no Trustpilot API key required. It costs $0.15 per business-analyzed. 5 users have run it 90 times with a 100% success rate. Best for investigators, analysts, and risk teams conducting due diligence, regulatory tracking, or OSINT research. Not ideal for real-time surveillance or replacing classified intelligence systems. Maintenance pulse: 96/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).

AIDEVELOPER TOOLS

Trustpilot Review Scraper & Sentiment Analyzer

Trustpilot Review Scraper & Sentiment Analyzer is an Apify actor available on ApifyForge at $0.15 per business-analyzed. It scrapes Trustpilot reviews for any business and returns structured review data, customer feedback sentiment, company response rates, average reply times, and full review text — no Trustpilot API key required. Analyze one company or compare up to 50 competitors in a single run for reputation monitoring, review analytics, or competitive intelligence. Trustpilot Review Scraper & Sentiment Analyzer has been used by 5 users across 90 total runs with a 100% success rate over the last 30 days.

Best for investigators, analysts, and risk teams conducting due diligence, regulatory tracking, or OSINT research.

Not ideal for real-time surveillance or replacing classified intelligence systems.

Try on Apify Store
$0.15per event
Last verified: March 27, 2026
Data sources:Trustpilot Public Data
3
Users (30d)
54
Runs (30d)
96
Actively maintained
Maintenance Pulse
$0.15
Per event

What to know

  • Limited to publicly available and open-source information.
  • Report depth depends on the availability of upstream government and public data sources.
  • Requires an Apify account — free tier available with limited monthly usage.

Maintenance Pulse

96/100
Last Build
Today
Last Version
2d ago
Builds (30d)
11
Issue Response
5h avg

Cost Estimate

How many results do you need?

business-analyzeds
Estimated cost:$15.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
business-analyzedCharged per business analyzed. Includes multi-page Trustpilot crawling, review extraction, sentiment analysis, and rating distribution.$0.15

Example: 100 events = $15.00 · 1,000 events = $150.00

Documentation

Trustpilot Review Analyzer is an Apify actor that scrapes Trustpilot reviews for any business and returns structured review data, customer feedback sentiment, company response rates, average reply times, and full review text — no Trustpilot API key required. Analyze one company or compare up to 50 competitors in a single run for reputation monitoring, review analytics, or competitive intelligence.

Unlike subscription tools like ReviewTrackers ($69+/month) or Birdeye ($350+/month), Trustpilot Review Analyzer uses pay-per-business pricing at $0.15 per business with no monthly commitment. It exports structured Trustpilot data as JSON, CSV, or Excel with post-scrape filtering by rating, language, and verified status — a complete review dataset ready for analysis pipelines or CRM import.

To scrape Trustpilot reviews and analyze customer sentiment, enter one or more business domains. Trustpilot Review Analyzer classifies sentiment using keyword matching (4-5 stars = positive, 1-2 = negative, 3-star decided by text analysis), tracks company reply times, and produces a ranked comparison when multiple businesses are analyzed.

What it does: Scrapes Trustpilot reviews, calculates sentiment, tracks company response rates and reply times, and compares multiple businesses. Best for: Reputation monitoring, competitor benchmarking, review analytics, sales prospecting, due diligence. Speed: 1 business in 30-60 seconds. 10 businesses in 5-10 minutes. Pricing: $0.15 per business analyzed. No subscription. No charge for businesses not found. Output: JSON/CSV with TrustScore, rating distribution, sentiment breakdown, response rate, average reply time, and full review text.

Problems this solves:

  • How to scrape Trustpilot reviews without an API key
  • How to export Trustpilot review data to CSV or Excel
  • How to compare competitor reputation on Trustpilot
  • How to analyze customer feedback sentiment from reviews
  • How to track company response rates and reply times
  • How to identify businesses with poor TrustScores for sales prospecting

Summary

  • Input: Business domains or Trustpilot URLs (1-50 per run)
  • Output: One dataset record per business with aggregate stats + individual reviews
  • Sources: Trustpilot review pages parsed via __NEXT_DATA__ structured data
  • Accuracy: TrustScore and total reviews come from Trustpilot. Rating distribution, sentiment, and response metrics are calculated from the scraped sample.
  • Limitation: English-optimized sentiment analysis. Review sample may not cover all reviews for businesses with thousands.

Data trust: All metrics come from actual Trustpilot page data, not estimates. TrustScore is Trustpilot's own proprietary score. Rating distribution and sentiment are calculated from the reviews actually scraped in the run — if you scrape 100 of 5,000 reviews, the statistics reflect that sample. Response time is calculated from the difference between review publish date and company reply date.

Typical results

  • Most businesses with active Trustpilot profiles return 20-100+ reviews per run
  • Response rate and reply time tracking works for any business that responds to reviews
  • Sentiment classification is most accurate for English-language reviews
  • Lower accuracy for: non-English reviews, very short reviews, sarcasm

Best fit:

  • Comparing competitors on Trustpilot (response rates, sentiment, TrustScore)
  • Monitoring your own business reputation over time with scheduled runs
  • Sales prospecting — identify businesses with poor TrustScores
  • Exporting Trustpilot review data for custom analysis or reporting

Less suitable:

  • Non-English sentiment analysis (keyword lists are English-focused)
  • Real-time review monitoring (this is a batch tool, not a stream)
  • Scraping businesses not listed on Trustpilot

What data can you extract?

Data PointSourceExample
Business nameTrustpilot profilePinnacle Industries
TrustScoreTrustpilot's proprietary score4.3
Star rating1-5 scale4
Total review countTrustpilot profile2,847
Rating distributionCalculated from scraped reviewsstar5: 68.2%, star1: 4.1%
Response rate% of reviews with company replies72.5%
Average response timeHours between review post and company reply18.4 hours
Verified review rate% of reviews verified by Trustpilot61.3%
Sentiment breakdownKeyword-based classification82% positive, 12% negative
Top positive keywordsFrequency analysis of positive reviews"easy" (34), "support" (28)
Top negative keywordsFrequency analysis of negative reviews"slow" (11), "refund" (8)
Individual reviewsFull review records with text, author, dates5-star, "Outstanding service..."
Company reply textBusiness response to each review"Thank you for your feedback..."
Author countryReviewer's country codeUS, GB, DE
Business categoriesTrustpilot-assigned categoriesSoftware Company, SaaS

Why use Trustpilot Review Analyzer?

Trustpilot hosts over 200 million reviews for 900,000+ businesses but offers no public API for accessing review data. Manually reading through hundreds of reviews to spot trends takes hours. Copying ratings into spreadsheets for competitor analysis takes days. Tracking how your company's response rate compares to competitors requires checking each profile individually.

This actor automates the entire process. Enter domain names, and get back structured review data with aggregate statistics, sentiment analysis, and response time tracking — all computed automatically. Most review monitoring tools charge $69-350+/month for similar capabilities. This actor costs $0.15 per business with no subscription commitment.

  • Scheduling — run daily, weekly, or custom intervals to track reputation changes over time
  • API access — trigger runs from Python, JavaScript, or any HTTP client
  • Proxy rotation — scrape at scale without IP blocks using Apify's built-in proxy infrastructure
  • Monitoring — get Slack/email alerts when runs fail or produce unexpected results
  • Integrations — connect to Zapier, Make, Google Sheets, HubSpot, or webhooks

Features

  • Review filtering by rating range — set minimum and maximum star ratings to focus on negative reviews (1-2 stars) or positive reviews (4-5 stars) without downloading everything
  • Language filtering — filter reviews by ISO 639-1 language code (en, de, fr, es, etc.) to analyze market-specific sentiment
  • Verified-only mode — restrict output to Trustpilot-verified purchase reviews, filtering out unverified submissions
  • Response time tracking — calculates hours between each review's publish date and the company's reply date, then averages across all reviews with replies
  • Keyword-based sentiment analysis — classifies reviews using 42 positive keywords and 42 negative keywords with no external AI API dependency; 3-star reviews get text-analyzed while 4-5 and 1-2 star reviews are classified by rating
  • Multi-business comparison — analyze up to 50 businesses per run with a ranked comparison summary saved to the key-value store, sorted by TrustScore
  • Session pooling with 5 retries — CheerioCrawler uses persistent session cookies and rotates sessions to navigate Trustpilot's bot protection
  • Domain normalization — accepts bare domains (amazon.com), www-prefixed domains, full URLs, or Trustpilot profile URLs; all normalize to the same format
  • Automatic deduplication — entering the same domain twice in different formats results in a single scrape
  • Rating distribution calculation — computes both raw counts and percentages for each star level from the scraped sample
  • Failed page tracking — each business result includes pagesFailed count and scrapingError details so you know if data is incomplete
  • No charge for missing businesses — if a domain has no Trustpilot presence, the result shows found: false and no pay-per-event charge is applied
  • Spending limit support — set a maximum budget per run; the actor stops processing additional businesses when the limit is reached

Use cases for Trustpilot review scraping

Competitor benchmarking

Product and marketing teams compare TrustScores, response rates, and sentiment across 5-20 competitors in a single run. The multi-business comparison summary ranks competitors by TrustScore, making it straightforward to identify who leads in customer satisfaction and who falls behind on response times.

Brand reputation monitoring

Brand managers schedule weekly runs to track how their company's TrustScore, response rate, and sentiment shift over time. Pipe results to Google Sheets via the Apify integration for a live dashboard that flags when negative sentiment spikes above baseline.

Sales prospecting for reputation management services

Sales teams at reputation management, customer service, and review platform companies identify businesses with low TrustScores (under 3.0) or poor response rates (under 30%) as prospects. Combine with Website Contact Scraper to find decision-maker email addresses.

Market research and customer intelligence

Product researchers analyze the top positive and negative keywords across an industry vertical to identify unmet customer needs. A batch of 50 SaaS companies reveals which pain points (slow support, confusing pricing, missing features) are most common across the category.

Due diligence and vendor assessment

Investment analysts and procurement teams assess a company's reputation before partnerships, investments, or vendor selection. Verified review rate, response rate, and average response time provide objective signals beyond the headline TrustScore.

Content strategy and voice-of-customer research

Content marketers mine review keywords to inform SEO content, FAQ pages, and marketing copy that mirrors real customer language. The top positive keywords reveal what customers value most; the top negative keywords reveal what to address proactively.

How to scrape Trustpilot reviews without an API

The easiest way to scrape Trustpilot reviews without an API is to use a pre-built scraper that handles pagination, bot protection, and data extraction automatically.

  1. Enter business domains — Type one or more domains in the Businesses field (e.g., shopify.com, hubspot.com). You can also paste full Trustpilot URLs. The actor accepts up to 50 businesses per run.
  2. Configure filters — Set the review count (default: 100 per business), rating range, language filter, or verified-only mode. The defaults work for most use cases.
  3. Run the actor — Click "Start" and wait. A single business with 100 reviews takes about 30 seconds. A batch of 10 businesses takes 3-5 minutes.
  4. Download results — Open the Dataset tab and export as JSON, CSV, or Excel. Each business is one row containing the summary, sentiment, and all individual reviews.

Input parameters

ParameterTypeRequiredDefaultDescription
businessesstring[]YesBusiness domains or Trustpilot URLs to analyze. Max 50 per run.
maxReviewsPerBusinessintegerNo100Maximum reviews to scrape per business (1-5,000). Each page has 20 reviews.
includeReviewTextbooleanNotrueInclude full review text in output. Disable to reduce dataset size by ~80%.
minRatingintegerNo1Minimum star rating filter (1-5). Set to 1 with maxRating 2 to get only negative reviews.
maxRatingintegerNo5Maximum star rating filter (1-5). Set to 2 to focus on negative reviews only.
languageFilterstringNoISO 639-1 language code (e.g., "en", "de", "fr"). Leave empty for all languages.
verifiedOnlybooleanNofalseOnly include Trustpilot-verified purchase reviews.
proxyConfigurationobjectNoProxy settings. Recommended for batches over 5 businesses.

Input examples

Compare two SaaS competitors:

{
  "businesses": ["hubspot.com", "salesforce.com"],
  "maxReviewsPerBusiness": 200,
  "includeReviewText": true
}

Extract only negative reviews in English:

{
  "businesses": ["acmecorp.com"],
  "maxReviewsPerBusiness": 500,
  "minRating": 1,
  "maxRating": 2,
  "languageFilter": "en",
  "includeReviewText": true,
  "proxyConfiguration": { "useApifyProxy": true }
}

Quick score check for many businesses (minimal data):

{
  "businesses": ["amazon.com", "ebay.com", "etsy.com", "walmart.com", "target.com"],
  "maxReviewsPerBusiness": 20,
  "includeReviewText": false
}

Input tips

  • Start with 20-50 reviews to validate the output format works for your pipeline before scaling up
  • Use proxies for batches over 5 businesses — Trustpilot may rate-limit requests without proxy rotation
  • Filter negative reviews only by setting minRating to 1 and maxRating to 2 — useful for competitive intelligence and reputation monitoring
  • Disable review text when you only need aggregate scores and sentiment — cuts dataset storage by approximately 80%
  • Batch competitors in one run — processing 10 businesses in one run is faster and cheaper than 10 separate runs, and you get the comparison summary

Output example

Each business produces one result object containing business metadata, aggregate statistics, sentiment analysis, and all scraped reviews:

{
  "domain": "pinnacle-industries.com",
  "url": "https://www.trustpilot.com/review/pinnacle-industries.com",
  "found": true,
  "businessName": "Pinnacle Industries",
  "trustScore": 4.3,
  "stars": 4,
  "totalReviews": 2847,
  "categories": ["Software Company"],
  "websiteUrl": "https://pinnacle-industries.com",
  "ratingDistribution": { "star5": 68, "star4": 14, "star3": 7, "star2": 5, "star1": 6 },
  "ratingDistributionPercent": { "star5": 68.0, "star4": 14.0, "star3": 7.0, "star2": 5.0, "star1": 6.0 },
  "averageRating": 4.33,
  "responseRate": 72.5,
  "averageResponseTimeHours": 18.4,
  "verifiedRate": 61.3,
  "sentiment": {
    "positive": 82,
    "negative": 12,
    "neutral": 6,
    "positivePercent": 82.0,
    "negativePercent": 12.0,
    "neutralPercent": 6.0,
    "topPositiveKeywords": [
      { "keyword": "easy", "count": 34 },
      { "keyword": "support", "count": 28 },
      { "keyword": "fast", "count": 19 },
      { "keyword": "recommend", "count": 15 },
      { "keyword": "professional", "count": 12 }
    ],
    "topNegativeKeywords": [
      { "keyword": "slow", "count": 11 },
      { "keyword": "refund", "count": 8 },
      { "keyword": "expensive", "count": 5 }
    ]
  },
  "reviewsScraped": 100,
  "pagesFailed": 0,
  "scrapingError": null,
  "reviews": [
    {
      "id": "67a3bc91e4f012ab34cd5678",
      "rating": 5,
      "title": "Outstanding customer support",
      "text": "Reached out about an integration issue and the support team responded within 2 hours. The platform itself is easy to use and well documented.",
      "publishedDate": "2026-02-18T14:32:00.000Z",
      "experiencedDate": "2026-02-15T00:00:00.000Z",
      "author": "Sarah C.",
      "authorCountry": "US",
      "authorReviewCount": 7,
      "isVerified": true,
      "hasCompanyReply": true,
      "companyReplyText": "Thanks Sarah! Glad our support team could help resolve the integration quickly.",
      "companyReplyDate": "2026-02-19T09:15:00.000Z",
      "responseTimeHours": 18.7,
      "language": "en"
    }
  ],
  "analyzedAt": "2026-03-30T10:45:00.000Z"
}

Output fields

Business-level fields

FieldTypeDescription
domainstringNormalized business domain
urlstringFull Trustpilot profile URL
foundbooleanWhether the business exists on Trustpilot
businessNamestring/nullDisplay name from Trustpilot
trustScorenumber/nullTrustpilot's proprietary TrustScore (0-5)
starsnumber/nullStar rating (1-5)
totalReviewsnumber/nullTotal review count on Trustpilot (all reviews, not just scraped)
categoriesstring[]Business categories assigned by Trustpilot
websiteUrlstring/nullBusiness website URL from their Trustpilot profile
ratingDistributionobjectCount of 1-5 star reviews in the scraped sample
ratingDistributionPercentobjectPercentage breakdown of star ratings in scraped sample
averageRatingnumber/nullMean rating from scraped reviews (may differ from TrustScore)
responseRatenumber/nullPercentage of scraped reviews with company replies
averageResponseTimeHoursnumber/nullMean hours between review publish and company reply
verifiedRatenumber/nullPercentage of scraped reviews with Trustpilot verification
reviewsScrapednumberNumber of reviews in output (after filters applied)
pagesFailednumberNumber of review pages that failed to load after retries
scrapingErrorstring/nullError description if scraping encountered issues
analyzedAtstringISO 8601 timestamp of analysis completion

Sentiment fields

FieldTypeDescription
sentiment.positivenumberCount of positive reviews (4-5 stars or positive keyword match)
sentiment.negativenumberCount of negative reviews (1-2 stars or negative keyword match)
sentiment.neutralnumberCount of neutral reviews (3 stars with no keyword tiebreaker)
sentiment.positivePercentnumberPositive review percentage
sentiment.negativePercentnumberNegative review percentage
sentiment.neutralPercentnumberNeutral review percentage
sentiment.topPositiveKeywordsarrayTop 10 positive keywords with frequency counts
sentiment.topNegativeKeywordsarrayTop 10 negative keywords with frequency counts

Review-level fields

FieldTypeDescription
idstringTrustpilot review ID
ratingnumberStar rating (1-5)
titlestring/nullReview headline
textstring/nullFull review body (null if includeReviewText is false)
publishedDatestring/nullWhen the review was posted (ISO 8601)
experiencedDatestring/nullWhen the customer's experience occurred
authorstring/nullReviewer's display name
authorCountrystring/nullReviewer's country code (e.g., "US", "GB", "DE")
authorReviewCountnumber/nullTotal reviews written by this author on Trustpilot
isVerifiedbooleanWhether the review is verified by Trustpilot
hasCompanyReplybooleanWhether the company replied to this review
companyReplyTextstring/nullThe company's reply text
companyReplyDatestring/nullWhen the company replied (ISO 8601)
responseTimeHoursnumber/nullHours between review publish and company reply
languagestring/nullReview language code (ISO 639-1)

How much does it cost to scrape Trustpilot reviews?

Trustpilot Review Analyzer uses pay-per-event pricing — you pay $0.15 per business analyzed. Platform compute costs are included. Businesses not found on Trustpilot are not charged.

ScenarioBusinessesCost per businessTotal cost
Quick test1$0.15$0.15
Small batch10$0.15$1.50
Medium batch50$0.15$7.50
Large batch200$0.15$30.00
Enterprise1,000$0.15$150.00

You can set a maximum spending limit per run to control costs. The actor stops processing additional businesses when your budget is reached.

Compare this to ReviewTrackers at $69+/month, Birdeye at $350+/month, or SentiSum at $3,000+/month — with Trustpilot Review Analyzer, most users spend $1-15/month with no subscription commitment. Apify's free tier includes $5 of monthly credits, enough to analyze about 33 businesses.

Scrape Trustpilot reviews using the API

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("ryanclinton/trustpilot-review-analyzer").call(run_input={
    "businesses": ["hubspot.com", "salesforce.com"],
    "maxReviewsPerBusiness": 200,
    "includeReviewText": True,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['businessName']}: TrustScore {item['trustScore']}, "
          f"{item['sentiment']['positivePercent']}% positive, "
          f"response rate {item['responseRate']}%, "
          f"avg reply {item['averageResponseTimeHours']}h")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const run = await client.actor("ryanclinton/trustpilot-review-analyzer").call({
    businesses: ["hubspot.com", "salesforce.com"],
    maxReviewsPerBusiness: 200,
    includeReviewText: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
    console.log(`${item.businessName}: TrustScore ${item.trustScore}`);
    console.log(`  Sentiment: ${item.sentiment?.positivePercent}% positive`);
    console.log(`  Response rate: ${item.responseRate}%, avg reply: ${item.averageResponseTimeHours}h`);
}

cURL

# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~trustpilot-review-analyzer/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "businesses": ["hubspot.com", "salesforce.com"],
    "maxReviewsPerBusiness": 200,
    "includeReviewText": true
  }'

# Fetch results (replace DATASET_ID from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

How Trustpilot Review Analyzer works

Phase 1: Domain normalization and request building

The actor accepts domains in any format — bare domains (amazon.com), www-prefixed (www.amazon.com), full URLs (https://amazon.com/about), or Trustpilot profile URLs (https://www.trustpilot.com/review/amazon.com). A regex-based normalizer strips protocols, www prefixes, and paths to extract the clean domain. Duplicate domains across different input formats are deduplicated using a Set before crawling begins.

For each unique domain, the actor constructs the Trustpilot profile URL: https://www.trustpilot.com/review/{domain} and builds initial requests for page 1 of each business.

Phase 2: Paginated review extraction

A CheerioCrawler fetches Trustpilot review pages with session pooling (useSessionPool: true, persistCookiesPerSession: true) and conservative rate limiting (max 2 concurrent requests, 20 requests per minute). Each failed request is retried up to 5 times with session rotation.

Each page's HTML contains a <script id="__NEXT_DATA__"> tag with Trustpilot's server-side rendered JSON payload. The actor parses this __NEXT_DATA__ JSON to extract business metadata (display name, TrustScore, stars, total reviews, categories, website URL), pagination info (filters.pagination.totalPages), and individual review records. This approach is more reliable than DOM scraping because the JSON contains the complete structured data that Trustpilot's React frontend uses to render the page.

After parsing page 1, the actor calculates how many additional pages are needed based on maxReviewsPerBusiness (20 reviews per page) and enqueues pages 2 through N. Reviews are collected into a per-domain state map.

Phase 3: Post-scrape filtering

After all pages are crawled, the actor applies user-configured filters to each business's review collection: rating range (minRating/maxRating), language code match, and verified-only filtering. All aggregate statistics are computed from the filtered review set, so response rates and sentiment reflect only the reviews that match your criteria.

Phase 4: Analysis and output assembly

For each business, the actor computes: rating distribution (counts and percentages for each star level), average rating from the scraped sample, response rate (percentage of reviews with company replies), average response time in hours (calculated from the delta between publishedDate and reply.createdAt for each replied review), and verified review rate.

Sentiment classification uses a dual approach. Reviews rated 4-5 stars are automatically classified as positive; 1-2 stars as negative. For 3-star reviews, the actor tokenizes the combined title and text, counts matches against 42 positive keywords (excellent, amazing, easy, recommend, etc.) and 42 negative keywords (terrible, scam, slow, expensive, etc.), and classifies based on which set has more matches — defaulting to neutral on a tie. The top 10 keywords by frequency are reported for both positive and negative review sets.

When analyzing multiple businesses, a comparison summary is saved to the key-value store (SUMMARY key), ranking all found businesses by TrustScore with response rate and average response time for each.

Tips for best results

  1. Start with 20-50 reviews per business to validate the output format works for your workflow before scaling to hundreds or thousands.

  2. Enable proxy for batches over 5 businesses. Trustpilot may rate-limit unprompted requests. The built-in Apify proxy with session rotation handles this automatically.

  3. Use rating filters for targeted analysis. Set minRating=1 and maxRating=2 to extract only negative reviews — useful for identifying product issues or competitor weaknesses without downloading thousands of positive reviews.

  4. Disable review text for dashboard-only workflows. If you only need TrustScores, response rates, and sentiment percentages, turning off includeReviewText reduces dataset storage by approximately 80%.

  5. Schedule weekly runs to track reputation trends. Use Apify Schedules to run every Monday morning, then connect to Google Sheets for a live competitor dashboard showing TrustScore and response rate over time.

  6. Check pagesFailed in results. If this number is greater than 0, some review pages were blocked despite retries. The data is still valid but may be incomplete. Re-running with proxy enabled typically resolves this.

  7. Combine with contact scrapers for outreach. Use Website Contact Scraper to find email addresses for businesses with low TrustScores, then reach out with your reputation management or customer service product.

  8. Filter by language for market-specific insights. Set languageFilter to "de" for German reviews or "fr" for French reviews to understand regional sentiment separately from global averages.

Combine with other Apify actors

ActorHow to combine
Multi-Review AnalyzerAggregate Trustpilot reviews alongside BBB and other platforms for a complete multi-source reputation picture
Website Contact ScraperFind email addresses and phone numbers for businesses with poor TrustScores — ideal for reputation management outreach
B2B Lead QualifierScore businesses from Trustpilot analysis as leads using 30+ signals including web presence and tech stack
Company Deep ResearchDeep-dive into a company's full online presence beyond reviews — financials, news, social media, and more
HubSpot Lead PusherPush businesses with low TrustScores directly into HubSpot CRM as leads for sales team follow-up
Website Tech Stack DetectorIdentify what technologies a reviewed business uses — useful for SaaS sales targeting specific tech stacks
Brand Protection MonitorMonitor brand mentions across the web alongside Trustpilot review sentiment for a complete brand health view

Limitations

  • Trustpilot page structure may change — the actor parses __NEXT_DATA__ JSON embedded in Trustpilot's React pages. If Trustpilot changes their rendering approach, extraction may break until the actor is updated.
  • 20 reviews per page — Trustpilot paginates at 20 reviews per page. Scraping 5,000 reviews requires 250 page loads, which takes several minutes per business.
  • English-optimized sentiment keywords — the 84 sentiment keywords are English. Reviews in other languages are classified by star rating only (4-5 = positive, 1-2 = negative, 3 = neutral). Keyword analysis will not surface non-English terms.
  • No historical or deleted reviews — only reviews currently visible on Trustpilot are accessible. Reviews that have been removed, hidden, or flagged are not available.
  • Sample-based statistics — rating distribution, response rate, and average response time are calculated from the scraped sample, not the full review population. For businesses with thousands of reviews, scraping 100-200 provides a representative sample.
  • No JavaScript rendering — the actor uses CheerioCrawler (HTTP-based HTML parsing), not a browser. This works because Trustpilot embeds review data in __NEXT_DATA__ JSON, but it means the actor cannot interact with JavaScript-dependent page elements.
  • Rate limiting on large batches — Trustpilot may throttle requests when scraping hundreds of businesses. Use proxy configuration and keep maxConcurrency at the default (2) for reliable results.
  • 50 business maximum per run — the input accepts up to 50 domains. For larger batches, split into multiple runs.

Integrations

  • Zapier — trigger CRM updates or Slack alerts when a competitor's TrustScore drops below a threshold
  • Make — build multi-step pipelines that scrape reviews, filter by sentiment, and push negative reviews to your support ticket system
  • Google Sheets — export TrustScores and response rates directly to a shared spreadsheet for team dashboards
  • Apify API — trigger runs programmatically from Python, JavaScript, or any HTTP client
  • Webhooks — POST results to your endpoint on completion for real-time data pipelines
  • LangChain / LlamaIndex — feed structured review data into AI workflows for automated report generation or customer insight summaries

Troubleshooting

  • Empty results despite business existing on Trustpilot — Trustpilot may be blocking requests. Enable proxy configuration ("proxyConfiguration": { "useApifyProxy": true }) and re-run. Check the scrapingError field in the output for specific error messages.

  • Run taking longer than expected — Each review page requires a separate HTTP request with rate limiting (20 requests/minute). Scraping 500 reviews per business across 10 businesses requires 250+ page loads. Reduce maxReviewsPerBusiness to 100 for faster results, or increase memory allocation to 1024 MB.

  • Some businesses show found: false — The business may not have a Trustpilot profile, or the domain may not match their Trustpilot listing. Try the exact domain shown on their Trustpilot page. Some businesses register under a parent company domain.

  • Sentiment analysis seems inaccurate for non-English reviews — The keyword-based sentiment classifier uses English keywords only. For non-English reviews, sentiment falls back to rating-based classification (4-5 = positive, 1-2 = negative, 3 = neutral). Use the languageFilter parameter to analyze English reviews separately.

  • pagesFailed is greater than 0 — Some review pages failed to load after 5 retries. The output still contains data from successful pages. Re-run with proxy enabled, or reduce the batch size to lower the request volume.

How to compare competitors on Trustpilot (competitor review analysis tool)

Enter multiple business domains in the businesses field. Trustpilot Review Analyzer scrapes each one and produces a ranked comparison summary in the key-value store (SUMMARY key), sorted by TrustScore. The comparison includes TrustScore, star rating, total reviews, response rate, and average reply time for each business — useful for benchmarking your reputation against competitors.

How to track company response rates on Trustpilot

Trustpilot Review Analyzer calculates two response metrics for each business: responseRate (percentage of reviews that received a company reply) and averageResponseTimeHours (average hours between review publication and company reply). Each individual review also includes companyReplyDate and responseTimeHours. Use these to evaluate how quickly a company handles customer feedback.

How to export Trustpilot reviews to CSV or Excel

After a run completes, open the Dataset tab in the Apify Console. Click "Export" and choose CSV, Excel, or JSON. Each row is one business with all aggregate stats and individual reviews nested inside. For flat per-review exports, use the API to iterate individual review records.

How to monitor Trustpilot reviews over time (reputation monitoring tool)

Trustpilot Review Analyzer is also a reputation monitoring tool for tracking TrustScore, sentiment, and response rates over time. Schedule it to run weekly or monthly using Apify Schedules. Each run captures the current TrustScore, sentiment breakdown, response rate, and reply times. Export results to Google Sheets or a dashboard to track changes over time and catch reputation drops early.

Best Trustpilot scraper for structured data extraction

Trustpilot Review Analyzer is one of the best Trustpilot scrapers available for developers, analysts, marketers, and growth teams who need structured review data for pipelines, dashboards, or custom analysis. It effectively acts as a Trustpilot scraper API — extracting review datasets without a Trustpilot API key, exporting as JSON/CSV/Excel, and includes sentiment, response metrics, and competitor comparison — all at $0.15 per business with no subscription.

Trustpilot sentiment analysis tool

Trustpilot Review Analyzer acts as a Trustpilot sentiment analysis tool by classifying each review as positive, negative, or neutral. Reviews rated 4-5 stars are classified positive, 1-2 stars negative, and 3-star reviews are decided by keyword matching against 84 English sentiment terms. The output includes sentiment percentages and the top positive/negative keywords found across all reviews.

Alternative to ReviewTrackers, Birdeye, and Trustpilot APIs

Trustpilot Review Analyzer is one of the most cost-efficient Trustpilot scrapers available — a cheaper alternative to ReviewTrackers for Trustpilot data extraction, without subscription pricing. Instead of paying $69-350+/month for ReviewTrackers or Birdeye, you pay $0.15 per business with no commitment. Trustpilot has no public review API, so this actor scrapes review pages directly.

Unlike dashboards that display pre-processed summaries, Trustpilot Review Analyzer outputs raw structured review data you can use in your own analytics, CRM, or reporting workflows. Competitor pricing based on publicly available information as of March 2026 and may change.

What you can do with this data

  • Identify competitors with poor customer response rates or slow reply times
  • Discover common complaints and praise keywords across an industry
  • Benchmark TrustScore and sentiment against competitors in one run
  • Export review datasets for internal dashboards, BI tools, or data pipelines
  • Find sales prospects with low TrustScores and high complaint volumes
  • Monitor your own reputation over time with scheduled monthly scans

Responsible use

  • This actor only accesses publicly visible review data on Trustpilot.
  • Respect website terms of service and robots.txt directives.
  • Reviewer names and countries are public on Trustpilot but may be considered personal data under GDPR and similar regulations.
  • Comply with GDPR, CAN-SPAM, and other applicable data protection laws when using scraped data for outreach.
  • Do not use extracted data for spam, harassment, or unauthorized purposes.
  • For guidance on web scraping legality, see Apify's guide.

FAQ

How many Trustpilot reviews can I scrape per business? Up to 5,000 per business. The default is 100. Trustpilot shows 20 reviews per page, so 5,000 reviews requires 250 page loads per business. For most analysis use cases, 100-200 reviews provide a representative sample.

Does this Trustpilot scraper need an API key? No. Trustpilot does not offer a public API for review data. This actor scrapes publicly visible review pages and extracts structured data from Trustpilot's embedded __NEXT_DATA__ JSON payload. No authentication is required.

Can I scrape only negative Trustpilot reviews? Yes. Set minRating to 1 and maxRating to 2 to extract only 1-star and 2-star reviews. This is useful for competitive intelligence, identifying product issues, or building a case for reputation management services.

How accurate is the Trustpilot sentiment analysis? The sentiment classifier uses a dual approach. Reviews rated 4-5 stars are automatically positive; 1-2 stars are automatically negative. For 3-star reviews, keyword frequency analysis determines the classification using 84 English sentiment keywords. This approach is accurate for aggregate trends but does not detect sarcasm, nuance, or non-English sentiment patterns.

What is the difference between TrustScore and average rating? TrustScore is Trustpilot's proprietary score displayed on their website, calculated using their own weighting algorithm across all reviews. The averageRating field is the arithmetic mean of the reviews you actually scraped — they may differ because TrustScore weights recent reviews more heavily and considers the total review count.

Can I compare multiple businesses on Trustpilot in one run? Yes. Enter up to 50 domains in the Businesses field. The actor scrapes each business, then generates a comparison summary in the key-value store (SUMMARY key) ranking all found businesses by TrustScore with response rate and average response time for each.

How does Trustpilot Review Analyzer track company response times? For each review that has a company reply, the actor calculates the difference in hours between the review's publishedDate and the reply's createdAt timestamp. The averageResponseTimeHours field is the mean across all replied reviews. This metric is not available from most Trustpilot scrapers.

Is it legal to scrape Trustpilot reviews? This actor accesses only publicly visible data. Web scraping of public data is generally permitted, but laws vary by jurisdiction. Reviewer names may constitute personal data under GDPR. Consult legal counsel for your specific use case and jurisdiction. See Apify's guide on web scraping legality.

How is Trustpilot Review Analyzer different from ReviewTrackers or Birdeye? ReviewTrackers ($69+/month) and Birdeye ($350+/month) are subscription-based SaaS platforms with dashboards and multi-platform aggregation. This actor costs $0.15 per business with no subscription, outputs raw structured data (JSON/CSV), and integrates with any workflow via API. It focuses specifically on Trustpilot data extraction and analysis rather than being a full review management platform.

Can I schedule Trustpilot review scraping to run automatically? Yes. Use Apify Schedules to run the actor daily, weekly, or at custom intervals. Combine with the Google Sheets integration to build a live reputation dashboard that updates automatically.

What happens if a business is not found on Trustpilot? The output includes "found": false with null values for all business fields. No pay-per-event charge is applied for businesses not found on Trustpilot. The scrapingError field may contain additional details about why the lookup failed.

How long does a typical Trustpilot scraping run take? A single business with 100 reviews takes about 30 seconds. A batch of 10 businesses with 100 reviews each takes 3-5 minutes. Large batches (50 businesses with 500 reviews each) may take 15-30 minutes due to rate limiting. Using proxy configuration can improve speed for larger batches.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.

Compare this actor

Last verified: March 27, 2026

Ready to try Trustpilot Review Scraper & Sentiment Analyzer?

Start for free on Apify. No credit card required.

Open on Apify Store