Trustpilot Review Scraper - AI Reputation Monitor avatar

Trustpilot Review Scraper - AI Reputation Monitor

Pricing

from $3.00 / 1,000 review scrapeds

Go to Apify Store
Trustpilot Review Scraper - AI Reputation Monitor

Trustpilot Review Scraper - AI Reputation Monitor

Trustpilot review scraper for reputation monitoring: reviews, ratings, owner replies, AI sentiment/topics, rating-drop tracking, probe-mode block diagnostics, and user-controlled bypass hooks. Experimental anti-bot tier. x402-ready PPE at $0.003/review.

Pricing

from $3.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Nick

Nick

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Watchlist status - May 2026: Trustpilot may block automated access. The actor includes probe mode and clear block_detected: true diagnostics so production workflows can detect block state before relying on a run.

$0.003/review replaces $299/mo Birdeye. Scrape Trustpilot reviews with AI sentiment analysis, rating trend tracking, and Apify webhook-friendly output. Built for brand managers, marketing agencies, investors, and product teams who need structured reputation data at scale -- with no monthly subscription.

Key Features

  • AI sentiment analysis and topic tags -- Powered by your choice of 5 LLM providers (OpenRouter, Anthropic, Google AI, OpenAI, Ollama). Extracts sentiment scores, praise themes, complaint themes, differentiators, and actionable recommendations from any batch of reviews.
  • Rating-drop workflows via Apify webhooks -- Use Apify run-finished webhooks, n8n, Make, or Zapier to push negative review alerts into Slack, create HubSpot tickets, or trigger downstream workflows when a run completes.
  • Commercial anti-bot bypass hook -- Route fetches through ScrapingBee or Bright Data Web Unlocker when Trustpilot's Cloudflare Enterprise wall blocks direct requests. Bring your own API key; the actor charges $0.015 per provider call.
  • Probe mode -- Run a single $0.0005 health-check fetch before launching an expensive batch. Records the result to the 7-day rolling telemetry store so your pipeline can skip a batch when the block rate has spiked.
  • 7-day rolling success telemetry -- Every run records its block/success outcome to a named Apify KV store. The rolling rate is surfaced at run start so you see the real odds before spending on a batch.
  • 5 LLM providers -- OpenRouter (300+ models, recommended), Anthropic (Claude), Google AI (Gemini), OpenAI (GPT), or Ollama (self-hosted, zero API cost).
  • Domain auto-lookup -- Enter any company domain (e.g., "revolut.com") and the actor builds the Trustpilot URL automatically. No need to look up profiles manually.
  • Full review extraction -- Scrapes reviewer name, star rating, title, full review text, date, review_age_days, and has_company_response with automatic pagination through all available review pages.
  • Business profile data -- Extracts TrustScore, overall rating, total review count, and business categories from each company profile.
  • Multi-language AI output -- Generate analysis in English, Dutch, German, French, Spanish, Italian, or Portuguese.
  • Structured JSON output -- Clean, machine-readable data ready for dashboards, CRM imports, spreadsheets, and automated workflows.

Competitor Comparison

ToolPriceAI AnalysisContract
harvestlab/trustpilot-scraper (this)$0.003/reviewYes -- 5 LLM providersNo subscription
Birdeye$299/moLimitedAnnual contract
Podium$289/moNoMonthly
Reputology~$79/moNoMonthly
Grade.us$110/moNoMonthly
ReviewTrackers$49/moNoMonthly
kaix/trustpilot-reviews-scraper$0.00004/reviewNoPay-per-event
automation-lab/trustpilot$0.0002/review (tiered)NoPay-per-event

Our $0.003/review is higher than raw-data competitors but bundles multi-provider AI reputation analysis that none of them ship. If you only need raw data, kaix or automation-lab are cheaper per review. If you need structured sentiment and competitive intelligence in one run instead of a separate scrape-then-LLM pipeline, this actor delivers that.

Use Cases

Reputation Monitoring for SMBs

Schedule weekly runs to track TrustScore, sentiment distribution, and complaint themes over time. Detect emerging negative trends before they escalate into a public PR problem. Set maxReviews: 50 to keep weekly monitoring costs under $0.20/run.

Competitive Analysis

Scrape multiple competitor domains in a single run. Compare sentiment scores, top complaint themes, and differentiators across your category. Identify the service gaps your competitors consistently fail to close.

NPS Tracking and Trend Analysis

Use "deep" analysis depth to get temporal trend analysis showing whether recent reviews are improving or declining. Correlate sentiment trends with product launches, pricing changes, or support team changes.

Alert on 1-Star Reviews via n8n

Use an Apify run-finished webhook or n8n Apify trigger. Every time the actor finishes, fetch the dataset, filter for low-rated reviews, and route them to a Slack #reputation-alerts channel or create a customer support ticket automatically.

Scheduled Weekly Brand Health Dashboard

Combine with Apify Schedules (cron: 0 9 * * 1) for a weekly Monday-morning reputation digest across 5-10 competitor brands. Each run produces a timestamped dataset entry you can pipe into a Google Sheets dashboard.

Investor Due Diligence

Assess company reputation before investment decisions. Trustpilot reviews provide unfiltered customer sentiment that complements financial metrics. "Deep" analysis mode extracts complaint themes, persona breakdowns, and competitive positioning for board-level reporting.

AI Training Data

Export large batches of labeled reviews (star rating + text) as training data for fine-tuning sentiment classifiers or review quality models. enableAiAnalysis: false keeps costs at pure per-review scraping.

Customer Success Early Warning

Monitor enterprise customer domains on Trustpilot. When a key account's rating drops, surface the complaint themes to your CSM team before a churn event. The rating-drop workflow pattern is documented in the Scheduling and Webhooks section below.

Cost and Performance

This actor uses pay-per-event (PPE) pricing. You only pay for successful results.

EventPriceDescription
review-scraped$0.003Per review extracted (not charged when anti-bot blocks the URL)
ai-analysis-completed$0.05Per business analyzed with AI (only fires when reviews were scraped)
bypass-request$0.015Per commercial bypass provider call -- charged regardless of success to reflect upstream cost
probe-completed$0.0005Per probe-mode health-check fetch

Cost Examples

ScenarioReviewsAIEstimated Cost
Quick reputation check501~$0.20
Standard analysis (100 reviews)1001~$0.35
Competitor comparison (3 companies)3003~$1.05
Raw data export (no AI)5000~$1.50
Weekly brand health (5 competitors x 50)2505~$1.00
Blocked run (anti-bot won)00$0.00

Plus Apify platform compute costs and your LLM provider costs (typically $0.001-0.01 per analysis with OpenRouter/Gemini Flash). Blocked runs cost nothing on review/AI charges -- only the minimal compute cost of the retry attempts.

Input Parameters

ParameterTypeDefaultDescription
businessUrlsarray--One or more Trustpilot review page URLs (e.g., https://www.trustpilot.com/review/amazon.com).
companyDomainstring--Alternative to full URL. Enter "amazon.com" and the actor builds the Trustpilot URL automatically.
maxReviewsinteger50Maximum reviews per business (1-500). More reviews improve AI analysis accuracy.
languageselectEnglishLanguage for AI analysis output. Supported: English, Dutch, German, French, Spanish, Italian, Portuguese.
analysisDepthselectstandardquick (summary + top 3 themes), standard (full breakdown + recommendations), or deep (trend analysis, personas, keywords).
enableAiAnalysisbooleanfalseEnable AI-powered review analysis. Requires an LLM API key.
llmProviderselectopenrouterAI provider: openrouter (recommended), anthropic, google, openai, or ollama.
llmModelstring--Override the default model. Leave empty for provider default.
openrouterApiKeystring--OpenRouter API key. Get one at openrouter.ai/keys.
anthropicApiKeystring--Anthropic API key. Get one at console.anthropic.com.
googleApiKeystring--Google AI API key. Get one at aistudio.google.com/app/apikey.
openaiApiKeystring--OpenAI API key. Get one at platform.openai.com/api-keys.
ollamaBaseUrlstringhttp://localhost:11434Base URL for self-hosted Ollama instance.
proxyConfigurationobjectRESIDENTIALProxy settings. Residential proxy strongly recommended for Trustpilot.
modeselectscrapescrape (full run) or probe (single health-check fetch, $0.0005).
useProxyBypassselectoffAnti-bot bypass provider: off, auto, scrapingbee, or brightdata-unlocker.
scrapingBeeApiKeystring--ScrapingBee API key. Required when useProxyBypass is scrapingbee or auto.
brightDataApiKeystring--Bright Data account token. Required together with brightDataZone.
brightDataZonestring--Bright Data unlocker zone name.

Quick Start

Analyze a company by domain name -- the simplest possible input:

{
"companyDomain": "revolut.com",
"maxReviews": 100,
"analysisDepth": "standard",
"enableAiAnalysis": true,
"openrouterApiKey": "sk-or-..."
}

Or use a direct Trustpilot URL without AI:

{
"businessUrls": ["https://www.trustpilot.com/review/amazon.com"],
"maxReviews": 200,
"enableAiAnalysis": false
}

Output Schema

Each business produces a structured JSON object combining profile data, raw reviews, and optional AI analysis:

{
"url": "https://www.trustpilot.com/review/revolut.com",
"business_url": "https://www.trustpilot.com/review/revolut.com",
"business_name": "Revolut",
"trustpilot_rating": 4.3,
"trust_score": 4.3,
"total_reviews_on_trustpilot": 184521,
"categories": ["Financial Services", "Banking"],
"reviews_scraped": 100,
"reviews": [
{
"reviewer_name": "John D.",
"rating": 5,
"title": "Best banking app ever",
"text": "Switched from my traditional bank and never looked back...",
"date": "2024-03-15",
"review_age_days": 42,
"has_company_response": true
}
],
"ai_analysis": {
"sentiment_score": 7.8,
"sentiment_breakdown": {
"positive_pct": 72,
"neutral_pct": 12,
"negative_pct": 16
},
"praise_themes": [
{
"theme": "Easy international transfers",
"frequency": "Very frequent (40+ mentions)",
"example_snippet": "sending money abroad is instant"
}
],
"complaint_themes": [
{
"theme": "Account freezes",
"frequency": "Moderate (15 mentions)",
"example_snippet": "froze my account without warning"
}
],
"differentiators": [
"Multi-currency accounts with real exchange rates",
"Instant peer-to-peer payments"
],
"recommendations": [
"Improve communication during account verification holds",
"Add phone support for premium customers"
],
"summary": "Revolut receives strong praise for its modern app and international transfer capabilities. Key pain points center on account freezes and slow support response times."
},
"bypass_used": null,
"bypass_attempts": 0,
"bypass_succeeded": false,
"scraped_at": "2026-04-28T14:30:00Z"
}

Field notes:

  • trust_score is a portfolio-standard alias of trustpilot_rating -- same numeric value, 0.0-5.0 scale. Trustpilot removed the standalone TrustScore metric in 2023; both fields are emitted for backward compatibility.
  • review_age_days -- days since the review was posted, computed at scrape time.
  • has_company_response -- true when the business has publicly replied to the review.
  • bypass_used, bypass_attempts, bypass_succeeded -- telemetry for commercial bypass provider calls. Present on every item so downstream consumers always see a consistent schema.

Deep analysis mode adds customer_personas, temporal_trends, keyword_extraction, and competitive_positioning fields. Output is available as JSON, CSV, or Excel.

Reliability Notes

Trustpilot may block automated access, especially from datacenter IPs. Use Apify residential proxy for production runs, start with probe mode, and treat block_detected: true as a clean signal to pause or switch access strategy.

The actor fetches review pages with polite delays, retries temporary failures, and records block/success telemetry so repeated scheduled runs can decide whether to proceed. Optional commercial bypass providers are available for teams that already use ScrapingBee or Bright Data Web Unlocker; every item records whether a bypass provider was used.

AI analysis is optional. When enabled, review text is sent to your chosen provider to produce sentiment, themes, complaint clusters, and recommendations.

Anti-Bot Bypass (v1.7)

Set useProxyBypass to route fetches through a commercial bypass provider when standard residential proxy + fingerprint rotation is not sufficient.

ModeBehavior
off (default)Standard access path only. No bypass charges.
autoTries ScrapingBee then Bright Data, picking whichever has credentials configured.
scrapingbeeRoute via ScrapingBee -- requires scrapingBeeApiKey.
brightdata-unlockerRoute via Bright Data Web Unlocker -- requires brightDataApiKey + brightDataZone.

Every dataset item carries bypass_used, bypass_attempts, and bypass_succeeded fields so you can audit which provider produced the result.

Probe Mode

For pipelines that batch hundreds of scrapes, a failed batch is expensive. Set mode=probe to run a single lightweight fetch against the first URL, record the outcome to the 7-day rolling success-rate telemetry, and emit a single summary item for $0.0005.

{
"mode": "probe",
"businessUrls": ["https://www.trustpilot.com/review/revolut.com"]
}

The probe item includes block_detected, bypass_stats, and success_rate_summary so your pipeline can skip the batch when the block rate has collapsed.

Scheduling and Webhooks

Schedule weekly Trustpilot reputation runs in Apify Console under Schedules to track TrustScore drift and emerging complaint themes for your brand or competitors. Use Apify run-finished webhooks, n8n, or Make to forward new negative reviews into a Slack #reputation-alerts channel or create a HubSpot ticket the moment a run completes -- ideal for customer-success teams who need to respond to 1-star reviews within hours, not days.

Example n8n workflow: Apify Webhook trigger -> Filter node (rating <= 2) -> Slack message to #reputation-alerts with business name, reviewer name, rating, and review text.

Pair With

Build a multi-platform reputation suite by combining this actor with:

  • AI Review Analyzer -- Analyze Google Maps reviews with AI. Combine Trustpilot reviews (online reputation) with Google Maps reviews (local customer sentiment) for a comprehensive reputation audit.
  • App Store Scraper -- Scrape Apple App Store and Google Play reviews. Together with Trustpilot, covers mobile app reputation alongside web service reputation in one pipeline.
  • Google News Monitor -- Monitor news coverage about a brand alongside its Trustpilot reputation. Correlate media sentiment with customer review sentiment for a complete brand health dashboard.
  • Contact Extractor -- Extract contact details from company websites after evaluating their Trustpilot reputation. Build qualified outreach lists of businesses that meet your reputation standards.
  • Reddit Scraper -- Compare Trustpilot reviews with unfiltered Reddit community opinions for a more complete picture of public sentiment.

Detecting Blocks in Your Pipeline

When anti-bot wins, the item in the dataset looks like:

{
"url": "https://www.trustpilot.com/review/revolut.com",
"business_url": "https://www.trustpilot.com/review/revolut.com",
"block_detected": true,
"block_reason": "Trustpilot Cloudflare Enterprise 403",
"error": "Trustpilot blocked ... after retries.",
"scraped_at": "2026-04-28T10:11:35Z"
}

Filter out blocked rows client-side:

items = client.dataset(dataset_id).list_items().items
reviews = [i for i in items if not i.get("block_detected")]
blocked = [i for i in items if i.get("block_detected")]
print(f"{len(reviews)} businesses scraped, {len(blocked)} blocked")

You are only charged for successful reviews (review-scraped events count per review actually extracted, not per URL attempted). Blocked URLs do not incur review-scraping charges.

Frequently Asked Questions

Do I need to find the Trustpilot URL for a company?

No. Enter the company's domain name (e.g., "amazon.com") in the companyDomain field and the actor builds the correct Trustpilot URL automatically.

Which LLM provider should I choose?

OpenRouter is recommended for most users because it is significantly cheaper. The default Gemini Flash model costs a fraction of a cent per analysis and produces high-quality results. Choose Anthropic if you specifically need Claude's reasoning. Ollama lets you use self-hosted models (Llama 3.1) for zero API cost.

Can I scrape reviews without AI analysis?

Yes. Set enableAiAnalysis to false to get raw review data only. You are charged only the per-review scraping fee ($0.003) without the AI analysis fee ($0.05). Useful for feeding data into your own analysis pipeline.

How many reviews should I scrape for good AI analysis?

50-200 reviews is the sweet spot. Below 50, the AI may not detect reliable patterns. Above 200, accuracy improves marginally while cost increases linearly. For businesses with thousands of reviews, 200 typically captures the full range of sentiment and themes.

What is the difference between quick, standard, and deep analysis?

Quick gives you a sentiment score, top 3 praise/complaint themes, and a brief summary. Standard provides a complete sentiment breakdown, more themes with example snippets, differentiators, and actionable recommendations. Deep adds temporal trend analysis, customer persona identification, keyword extraction, and competitive positioning -- best for investor reports and strategic planning.

Can I track reputation changes over time?

Yes. Schedule the actor to run weekly or monthly using Apify Schedules. Each run produces a timestamped dataset. Compare sentiment scores and theme distributions across runs to measure how reputation evolves after product launches, PR events, or operational changes.

Known Limitations

  • ANTI-BOT BLOCKS (EXPERIMENTAL TIER) -- As of April 2026, Trustpilot's Cloudflare Enterprise wall returns HTTP 403 on the majority of requests from Apify infrastructure, even with RESIDENTIAL proxy. The actor rotates 4 TLS fingerprints + proxy IPs across 5 retries but often cannot get through. When all retries fail, the dataset contains a {block_detected: true, block_reason, error} sentinel row per URL. This is a known upstream constraint, not a bug. Use the commercial bypass hook for higher success rates.
  • Requires an LLM API key for AI analysis -- You need an API key from OpenRouter, Anthropic, Google AI, or OpenAI (or a self-hosted Ollama instance). LLM usage is billed separately by your chosen provider.
  • Maximum 500 reviews per business -- Trustpilot caps public review pagination at 500 reviews. The actor respects this cap.
  • Trustpilot page required -- The company must have a Trustpilot profile. The actor reports an error if no profile is found.
  • Review text availability -- Some Trustpilot reviews contain only a star rating without text. These are included in the data but contribute less to AI theme analysis.

This actor scrapes publicly available data. By using this actor, you agree to the following:

  • Your responsibility -- You are solely responsible for ensuring your use complies with all applicable laws, regulations, and the target website's terms of service. This includes GDPR (EU), CCPA (California), and other data protection laws in your jurisdiction.
  • Trustpilot terms -- Trustpilot's terms of service govern how their data may be used. Review https://www.trustpilot.com/legal/terms-for-businesses before use, particularly for commercial applications.
  • Personal data notice -- Reviews contain reviewer names and profile data which may constitute personal data under GDPR. Ensure you have a lawful basis (such as legitimate interest) for processing. Exercise caution when storing or republishing review data. Implement data retention policies and honor deletion requests where applicable.
  • No legal advice -- This actor does not constitute legal advice. Consult a qualified attorney if you have questions about the legality of your specific use case.
  • Intended use -- This actor is designed for legitimate business purposes such as market research, competitive analysis, and academic research using publicly accessible data.
  • Rate limiting -- This actor implements polite crawling practices including request delays (1.0-2.5s jitter between pages) and retry backoff to minimize impact on target servers.
  • No warranty -- This actor is provided "as is" without warranty. Data accuracy depends on the target website's content and structure.