Trustpilot Reviews Scraper avatar

Trustpilot Reviews Scraper

Pricing

from $0.32 / 1,000 reviews

Go to Apify Store
Trustpilot Reviews Scraper

Trustpilot Reviews Scraper

Input: Trustpilot company domains or URLs (+ star, language, date filters). Output: one JSON row per review: rating, title, text, date, reviewer name/country, verified flag, company reply and TrustScore. JSON/CSV/Excel.

Pricing

from $0.32 / 1,000 reviews

Rating

0.0

(0)

Developer

DataDesk

DataDesk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Trustpilot Reviews Scraper: Export Trustpilot Reviews to CSV/JSON

Trustpilot scraper for company reviews and TrustScore · extraer reseñas de Trustpilot · extrair avaliações do Trustpilot.

Scrape Trustpilot reviews for any company: star rating, title, full text, dates, reviewer country, verification status and company replies, plus the business TrustScore and total review count. Ideal for reputation monitoring, competitor research, sentiment analysis and LLM summaries.

Features

  • ⭐ Filter by star rating (e.g. only 1–2 star complaints), language and date.
  • 🏢 Many companies per run: domain (www.amazon.com) or Trustpilot URL.
  • 💬 Company replies, likes, reviewer review count, experienced vs. published date.
  • 📦 Clean JSON / CSV / Excel, plus API, schedules, webhooks, Make, Zapier, n8n and MCP.

Sources and coverage

SourceCoverageData
TrustpilotAll countries / company domains on Trustpilotrating, title, text, date, reviewer, country, company reply, TrustScore

How to use it

  1. Click Try for free (or Start): the prefilled input runs a quick test.
  2. Fill in the input fields (see the examples below). Every field is optional.
  3. Click Start and wait a few seconds to minutes, depending on how many reviews you ask for.
  4. Open the Output tab and export as JSON, CSV, Excel, XML or HTML, or read the results via API.

Input examples

One company (default):

{"companies": ["www.amazon.com"], "maxReviewsPerCompany": 50}

Only 1-2 star reviews:

{"companies": ["www.booking.com"], "stars": ["1", "2"], "maxReviewsPerCompany": 200}

English reviews since a date:

{"companies": ["www.shopify.com"], "languages": "en", "dateFrom": "2026-09-01"}

Competitor set:

{"companies": ["www.n26.com", "www.revolut.com", "wise.com"], "maxReviewsPerCompany": 100}

Input fields

FieldTypeDescription
companiesarrayCompany domains as on Trustpilot (amazon.com, www.zara.com) or Trustpilot review URLs.
maxReviewsPerCompanyintegerMaximum reviews saved per company (Trustpilot shows 20 per page). Use 20-50 for a quick test.
starsarrayOnly reviews with these star ratings, e.g. 1 and 2 for complaints. Empty = all ratings.
languagesstringReview language code (en, es, de) or 'all'.
sortstringOrder of reviews: most recent first (recency) or Trustpilot's most relevant (relevance).
dateFromstringOptional date YYYY-MM-DD. With recency sort, stops when reviews get older than this date.

Output example

One row per item. Values below are example values from a real test run (long text shortened):

{
"companyDomain": "www.amazon.com",
"companyName": "Amazon",
"trustScore": 1.6,
"companyTotalReviews": 49884,
"reviewId": "6ad292ed3cb5e98a72cce3d4",
"rating": 1,
"title": "Amazon Going Rapidly Downhill",
"text": "I don't know what is happening with Amazon lately. They give you a delivery time but it just gets pushed back. I have literally just had an …",
"language": "en",
"publishedDate": "2026-10-16T23:11:09.000Z",
"experiencedDate": "2026-10-16T00:00:00.000Z",
"consumerName": "Debe Woods",
"consumerCountry": "GB",
"consumerReviewCount": 13,
"isVerified": false,
"likes": 0,
"source": "Organic",
"reviewUrl": "https://www.trustpilot.com/reviews/6ad292ed3cb5e98a72cce3d4"
"…": "more fields below"
}

Fields a source does not publish are null.

Output fields

FieldDescription
companyDomainCompany domain on Trustpilot
companyNameCompany name
trustScoreCompany TrustScore (1-5)
companyTotalReviewsTotal reviews of the company
reviewIdUnique review ID on the source site
ratingStar rating 1-5
titleTitle (review title, job title, product or filing title)
textFull review text
languageReview language code
publishedDateReview publish date (ISO 8601)
experiencedDateDate of experience
consumerNameReviewer name
consumerCountryReviewer country code
consumerReviewCountNumber of reviews by this reviewer
isVerifiedTrue if the review is verified
likesUseful votes
sourceSource site / board the record came from
replyTextCompany reply text
replyDateCompany reply date
reviewUrlDirect URL to the review
scrapedAtWhen the record was scraped (ISO 8601 UTC)

The Output tab has a Reviews view.

Pricing

Pay-per-event: you pay only for results delivered, no monthly fee.

  • Review (review): $0.40 per 1,000 ($0.0004 each)
  • Actor start: $0.005 per run
RunReviewsCost
Quick test20$0.013
Small run100$0.045
Regular run1,000$0.405
Large run10,000$4.005

Rows that are not delivered are never charged. Apify's free plan includes monthly credit, and you can set a maximum cost per run in the run options.

Use cases

  • Customer feedback and sentiment analysis
  • Competitor review monitoring
  • Find unhappy customers of competitors (1-2 stars)
  • Feed reviews to LLMs for summaries and topic mining

Integrations and API

  • Export results as JSON, CSV, Excel, XML or HTML from the Output tab.
  • Schedule runs (daily, hourly) and send results to Google Sheets, Slack, Zapier, Make, n8n, Airbyte or webhooks.
  • Call it from code with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/datadesk-io~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["www.amazon.com"], "maxReviewsPerCompany": 50}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("datadesk-io/trustpilot-reviews-scraper").call(run_input={'companies': ['www.amazon.com'], 'maxReviewsPerCompany': 50})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get('companyName'), item.get('rating'), item.get('title'))

FAQ

How many reviews can I get? Trustpilot shows 20 reviews per page. Use filters (stars, language) to reach deeper slices of large companies. Is it legal? Reviews are public. Process any personal data in line with the GDPR and other laws that apply to you. Issues or feature requests? Use the Issues tab. We usually reply within 48h.

Do I need a login, API key or proxies? No. It uses publicly available data only, so no account on the source site is needed.

How fresh is the data? Live: every run reads the source at that moment. Schedule it to keep a dataset up to date.

Why did I get fewer reviews than the maximum? The source had fewer matching reviews, or duplicates were removed. You only pay for reviews delivered.

Limitations

  • Only public reviews visible on Trustpilot.
  • Reviewer emails are never available.

Support

Found a bug, or need a new field, source or filter? Open an issue in the Issues tab; we usually answer within 24 hours. Custom data work: datadesk.io@proton.me.

Use with AI agents (MCP)

This Actor works as a tool for AI agents through the Apify MCP server. Add it to Claude (Desktop/Code), ChatGPT, Cursor, VS Code or any MCP client with this URL:

https://mcp.apify.com/?tools=datadesk-io/trustpilot-reviews-scraper

Sign in with your Apify account (OAuth) or pass your API token. The agent sees the input schema, runs the Actor and reads the dataset; every input field is optional and every output field is documented.

What goes in → what comes out: Input: Trustpilot company domains or URLs (+ star, language, date filters). Output: one JSON row per review: rating, title, text, date, reviewer name/country, verified flag, company reply and TrustScore. JSON/CSV/Excel.

Example prompt:

Get the latest 100 Trustpilot reviews for amazon.com and summarize what customers complain about.