Trustpilot Scraper — Reviews, Ratings & Company Data
Pricing
Pay per usage
Trustpilot Scraper — Reviews, Ratings & Company Data
Extract Trustpilot reviews, ratings, trust scores, and company info. Scrape review text, star ratings, author details, verification status, and business replies. Export to JSON, CSV, or Excel. No login required.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Trustpilot Reviews Scraper
Scrape company reviews, ratings, trust scores, and detailed feedback from Trustpilot. Extract everything you need for competitive analysis, brand monitoring, and market research.
What It Does
This actor extracts structured data from Trustpilot company review pages:
Company-level data:
- Company name, Trust Score, total review count
- Star rating breakdown (1-5 star distribution)
- Categories, website URL, verification status
Review-level data:
- Star rating (1-5)
- Review title and full text
- Author name, country, and review count
- Publication date and experience date
- Verification status (verified/unverified)
- Company reply text and date (if any)
- Language, likes count
Features
- Fast extraction using Trustpilot's embedded
__NEXT_DATA__JSON (no slow DOM parsing) - Automatic pagination through all review pages
- Search by company name when you don't know the exact URL
- Filter by star rating to focus on specific sentiment
- Sort by recency or relevance
- Multiple companies in a single run
- Respectful rate limiting (30 requests/minute max)
- Proxy support for large-scale scraping
- Graceful error handling with detailed error reporting
Input
| Field | Type | Default | Description |
|---|---|---|---|
companyUrls | array | [] | Trustpilot company review page URLs |
companyNames | array | [] | Search for companies by name |
maxReviews | integer | 100 | Max reviews per company (0 = unlimited) |
sort | string | "recency" | Sort order: recency or relevance |
includeCompanyInfo | boolean | true | Include company-level summary data |
filterByStars | array | [] | Only scrape specific star ratings (e.g., [1, 2]) |
proxyConfiguration | object | - | Proxy settings for avoiding rate limits |
Example Input
{"companyUrls": ["https://www.trustpilot.com/review/amazon.com","https://www.trustpilot.com/review/ebay.com"],"maxReviews": 50,"sort": "recency","includeCompanyInfo": true,"filterByStars": []}
Search by Company Name
{"companyNames": ["Shopify", "Stripe"],"maxReviews": 200}
Output
The actor produces two types of records in the dataset:
Company Info Record
{"type": "companyInfo","companyName": "Amazon","trustScore": 1.9,"totalReviews": 125834,"rating": 2,"websiteUrl": "amazon.com","categories": ["Electronics & Technology", "Marketplace"],"location": "US","verified": true,"starBreakdown": {"1Star": 72451,"2Star": 10234,"3Star": 8901,"4Star": 9876,"5Star": 24372},"companySlug": "amazon.com","url": "https://www.trustpilot.com/review/amazon.com","scrapedAt": "2026-02-28T15:30:00.000Z"}
Review Record
{"type": "review","reviewId": "65f1a2b3c4d5e6f7a8b9c0d1","rating": 5,"reviewTitle": "Great customer service experience","reviewText": "I had an issue with my order and the support team resolved it within hours. Very impressed with the follow-up.","author": "Jane D.","authorCountry": "US","authorReviewCount": 12,"date": "2026-02-25T10:30:00.000Z","experienceDate": "2026-02-20T00:00:00.000Z","verified": true,"verificationLevel": "verified","hasReply": true,"replyText": "Thank you for your kind words, Jane! We're glad we could help.","replyDate": "2026-02-26T09:00:00.000Z","language": "en","likes": 3,"companyName": "Amazon","companySlug": "amazon.com","companyUrl": "https://www.trustpilot.com/review/amazon.com","scrapedAt": "2026-02-28T15:30:05.000Z"}
Use Cases
- Competitive Analysis -- Compare trust scores and review sentiment across competitors
- Brand Monitoring -- Track your own company's reviews over time
- Market Research -- Analyze customer pain points and satisfaction drivers across an industry
- Lead Generation -- Identify companies with low ratings that might need your service
- Sentiment Analysis -- Feed review text into NLP models for automated sentiment classification
- Due Diligence -- Research vendor/partner reliability before signing contracts
- Content Strategy -- Discover what customers talk about most to inform your marketing
Pricing (Pay-Per-Event)
This actor uses Apify's pay-per-event model:
- actor-start: Charged once per run
- review-scraped: Charged per review extracted
You set a maximum budget per run, and the actor will never exceed it.
How to Run
On Apify Platform
- Go to the actor page on Apify Store
- Click "Start" or "Try for free"
- Enter your company URLs or search terms
- Set max reviews and sort order
- Click "Run"
- Download results as JSON, CSV, or Excel
Locally
# Clone the repositorygit clone <repo-url>cd trustpilot-scraper# Install dependenciesnpm install# Create input fileecho '{"companyUrls": ["https://www.trustpilot.com/review/example.com"], "maxReviews": 20}' > ./storage/key_value_stores/default/INPUT.json# Runnpm start
Via Apify API
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/runs" \-H "Authorization: Bearer <YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"companyUrls": ["https://www.trustpilot.com/review/amazon.com"],"maxReviews": 100,"sort": "recency"}'
Technical Details
- Runtime: Node.js 20 on Apify platform
- Framework: Crawlee (CheerioCrawler) + Apify SDK
- Extraction:
__NEXT_DATA__JSON parsing with DOM fallback - Rate limiting: 30 requests/minute, 3 concurrent requests max
- Retries: 3 automatic retries per failed request
- Memory: ~256 MB recommended for typical runs
Limitations
- Trustpilot may rate-limit or block requests without a proxy. Use Apify proxies for large runs.
- Some companies may have fewer reviews than
maxReviews. - Trustpilot's DOM structure may change over time. The
__NEXT_DATA__approach is more resilient. - Review text may be truncated on Trustpilot for very long reviews.
Support
Built by Sovereign AI. For issues, feature requests, or custom scraping needs:
- Email: ricardo.yudi@gmail.com
- GitHub: https://github.com/ryudi84