Trustpilot Review Scraper
Pricing
from $2.00 / 1,000 review or company results
Trustpilot Review Scraper
Scrape company profile and customer reviews from Trustpilot public pages. Extracts trust score, categories, ratings, review text, authors, and company replies with pagination support.
Pricing
from $2.00 / 1,000 review or company results
Rating
0.0
(0)
Developer
Harsh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Trustpilot Review Scraper do?
Trustpilot Review Scraper extracts company profile data and customer reviews from public Trustpilot review pages. Give it one or more company URLs (or domains), set how many reviews you need, and get structured dataset items plus downloadable CSV and Markdown summaries.
Built with TypeScript, Crawlee CheerioCrawler, and dual extraction: embedded __NEXT_DATA__ (Next.js) with CSS selector fallbacks. Run it on the Apify platform for scheduling, API access, proxy rotation, and monitoring.
Why use Trustpilot Review Scraper?
- Brand & reputation monitoring — track trust scores and recent feedback for competitors or your own brand
- Lead research — find businesses by category signals and public review volume
- Customer insight — analyze rating distributions, verified reviews, and company reply quality
- Market research — export clean review text for NLP / sentiment pipelines
How to use Trustpilot Review Scraper
- Open the Actor in Apify Console and click Try for free
- Paste one or more Trustpilot company URLs, e.g.
https://www.trustpilot.com/review/amazon.com(or bare domains likeamazon.com) - Set Max reviews, optional min/max rating, and enable Apify Proxy (recommended)
- Click Start and download results as JSON, CSV, Excel, or use the API
Input
| Field | Type | Default | Description |
|---|---|---|---|
companyUrls | string[] | amazon.com profile | Trustpilot /review/{domain} URLs or bare domains |
maxReviews | integer | 50 | Max reviews to collect in the run |
minRating | integer | 1 | Minimum star rating (1–5) |
maxRating | integer | 5 | Maximum star rating (1–5) |
includeCompanyInfo | boolean | true | Push a company summary item per company |
maxConcurrency | integer | 2 | Parallel requests |
maxRequestRetries | integer | 3 | HTTP retries |
requestDelayMs | integer | 500 | Used to derive requests/minute rate limit |
proxyConfiguration | object | Apify Proxy on | Proxy settings (residential recommended) |
Example:
{"companyUrls": ["https://www.trustpilot.com/review/amazon.com"],"maxReviews": 20,"minRating": 1,"maxRating": 5,"includeCompanyInfo": true,"proxyConfiguration": { "useApifyProxy": true }}
Output
The dataset contains company items and review items (type field distinguishes them).
Company item
| Field | Description |
|---|---|
name | Display name |
domain / identifyingName | Trustpilot identifying domain |
trustScore | Trustpilot trust score |
reviewCount | Profile review count |
stars | Star rating |
categories | Category names |
replyRate | Company reply rate when available |
companyUrl | Source profile URL |
Review item
| Field | Description |
|---|---|
id | Review id (deduped) |
title | Review title |
text | Review body |
rating | Stars 1–5 |
date | Published date (ISO when available) |
author | Consumer display name |
authorLocation | Country / location code |
isVerified | Verified purchase/experience flag |
companyReply | { text, date } when the company replied |
companyName / companyDomain | Parent company |
reviewUrl | Link to the review when available |
Example review:
{"type": "review","id": "abc123","title": "Fast shipping","text": "Order arrived next day.","rating": 5,"date": "2026-07-01T10:00:00.000Z","author": "Jane D","authorLocation": "US","isVerified": true,"companyReply": null,"companyName": "Amazon","companyDomain": "amazon.com","companyUrl": "https://www.trustpilot.com/review/amazon.com","extractionMethod": "next-data"}
Key-value store artifacts
| Key | Content |
|---|---|
REVIEWS.csv | All reviews as CSV |
SUMMARY.md | Markdown run summary |
OUTPUT | JSON run stats |
You can download the dataset in JSON, HTML, CSV, Excel, and other formats from the Output tab.
Features
- Company profile: name, domain, trustScore, reviewCount, stars, categories, replyRate
- Reviews: id, title, text, rating, date, author, authorLocation, isVerified, companyReply
- Pagination of review pages until
maxReviewsis reached - Filter by min/max rating
- Retries, rate limiting, concurrency control
- Dedupe by review id
- Dual extraction:
__NEXT_DATA__+ DOM fallbacks - CSV + Markdown exports
How much does it cost?
This Actor uses Pay-per-event (PPE) pricing:
- Actor start: small fixed fee per run
- Dataset item: $0.002 per result (company or review item)
Example: scraping 1 company + 100 reviews ≈ 101 items ≈ $0.20 (plus start event and platform compute). Free Apify tier credits apply as usual.
Tips
- Use residential proxies if you see WAF / “Verifying your connection” pages
- Keep
maxConcurrencylow (1–3) for reliability - Raise
requestDelayMsif you hit rate limits - Use
minRating/maxRatingto focus on complaints (1–2) or promoters (5) - Prefer official Trustpilot
/review/{domain}URLs for best results
Local development
npm installnpm run lintnpm run formatnpm run buildnpm testapify run --purge
Copy examples/input.json into storage/key_value_stores/default/INPUT.json for local runs.
Deploy
apify loginapify push
Limitations & legal
- Trustpilot may show bot challenges; proxies improve success rate
- Cheerio reads server-rendered HTML; heavy client-only changes may need updates
- Page structure can change — extractor uses multiple fallbacks
- Only scrape public pages you are allowed to access. Respect Trustpilot Terms of Service and applicable laws (e.g. GDPR). This Actor is for legitimate research and monitoring.
FAQ
Can I pass a bare domain?
Yes — amazon.com is expanded to https://www.trustpilot.com/review/amazon.com.
Does it get company replies?
Yes, when present in __NEXT_DATA__ or the review card DOM.
Where is the CSV?
In the run’s key-value store as REVIEWS.csv, plus SUMMARY.md.
Support
Open an issue on the Actor’s Issues tab for bugs or feature requests. Custom scrapers available on request.
Project structure
.actor/ Actor metadata + input/output/dataset schemasexamples/ Sample input/output JSONsrc/main.ts Crawler setup, KV exportsroutes.ts Request handlers, paginationextractors.ts __NEXT_DATA__ + DOM parserscsv.ts REVIEWS.csv + SUMMARY.md builderstypes.ts TypeScript typesutils.ts URL helpers, coerciontest/ Vitest unit tests + HTML fixtures