Trustpilot Scraper
Pricing
Pay per usage
Trustpilot Scraper
Scrape Trustpilot company profiles, reviews, ratings, and category pages. Filter by star rating, date range, language, and verification status. Supports pagination for companies with thousands of reviews.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
abdulrahman alrashid
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape company profiles, reviews, ratings, and category pages from Trustpilot. Extract structured data for sentiment analysis, market research, competitor monitoring, and reputation tracking.
Features
- Search companies by keyword or name
- Scrape company profiles: name, TrustScore, total reviews, category, location, website, response rate, claimed status, description
- Scrape all reviews: reviewer name, location, rating (1-5 stars), title, review text, date of experience, date posted, company reply, verified status, useful votes, language
- Filter reviews by star rating, date range, language, and verification status
- Scrape category pages (e.g., "Electronics & Technology")
- Full pagination support for companies with thousands of reviews
- Three-layer extraction:
__NEXT_DATA__(primary) > JSON-LD structured data > HTML fallback - Anti-bot handling: session rotation, rate limit detection, realistic browser headers
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
action | string | scrapeReviews | One of: scrapeReviews, scrapeCompanyProfile, searchCompanies, scrapeCategory |
companyUrls | string[] | [] | Company URLs or slugs (e.g., https://www.trustpilot.com/review/example.com or example.com) |
searchQuery | string | Keyword to search for companies | |
categoryUrl | string | Full category page URL | |
maxReviews | integer | 100 | Max reviews per company (0 = unlimited) |
maxSearchResults | integer | 50 | Max companies from search/category |
filterByStars | integer[] | [] | Only these star ratings (e.g., [1, 2]) |
filterDateFrom | string | Only reviews after this date (YYYY-MM-DD) | |
filterDateTo | string | Only reviews before this date (YYYY-MM-DD) | |
filterLanguage | string | Language code (e.g., en, de, fr) | |
filterVerifiedOnly | boolean | false | Only verified reviews |
includeCompanyProfile | boolean | true | Output company profile with reviews |
proxyConfiguration | object | Apify residential | Proxy settings |
maxConcurrency | integer | 5 | Concurrent requests (1-20) |
Usage Examples
Scrape reviews for a company
{"action": "scrapeReviews","companyUrls": ["https://www.trustpilot.com/review/amazon.com"],"maxReviews": 500,"filterByStars": [1, 2],"filterVerifiedOnly": true}
Search for companies
{"action": "searchCompanies","searchQuery": "web hosting","maxSearchResults": 100}
Scrape company profile only
{"action": "scrapeCompanyProfile","companyUrls": ["amazon.com", "ebay.com", "walmart.com"]}
Scrape a category page
{"action": "scrapeCategory","categoryUrl": "https://www.trustpilot.com/categories/electronics_technology","maxSearchResults": 200}
Output Schema
Each result includes a type field: company_profile, review, search_result, or category_result.
Company Profile
{"type": "company_profile","companyName": "Amazon","trustScore": 1.7,"totalReviews": 125432,"category": "Electronics & Technology","location": "Seattle, WA, US","website": "https://www.amazon.com","responseRate": 12,"claimed": true,"description": "...","scrapedAt": "2025-01-15T10:30:00.000Z"}
Review
{"type": "review","companySlug": "amazon.com","companyName": "Amazon","reviewId": "65abc123def456","reviewerName": "John D.","reviewerLocation": "US","reviewerReviewCount": 5,"rating": 4,"title": "Great product, slow shipping","reviewText": "The product quality was excellent but delivery took 2 weeks...","dateOfExperience": "2025-01-10T00:00:00.000Z","datePosted": "2025-01-12T14:22:00.000Z","verified": true,"companyReply": "Thank you for your feedback...","companyReplyDate": "2025-01-13T09:00:00.000Z","usefulVotes": 3,"language": "en","reviewUrl": "https://www.trustpilot.com/reviews/65abc123def456","scrapedAt": "2025-01-15T10:30:00.000Z"}
Search/Category Result
{"type": "search_result","companyName": "Bluehost","slug": "bluehost.com","trustScore": 3.8,"totalReviews": 4521,"category": "Web Hosting","profileUrl": "https://www.trustpilot.com/review/bluehost.com","scrapedAt": "2025-01-15T10:30:00.000Z"}
Pricing
Pay-Per-Event: $0.35 per 1,000 results ($0.00035 per result)
| Results | Cost |
|---|---|
| 100 | $0.035 |
| 1,000 | $0.35 |
| 10,000 | $3.50 |
| 100,000 | $35.00 |
Technical Details
- Uses CheerioCrawler from Crawlee for fast, lightweight HTML parsing
- Extracts data from
__NEXT_DATA__(Next.js server-side props) as the primary data source - Falls back to JSON-LD structured data, then HTML DOM parsing if needed
- Session pool with cookie persistence for anti-bot resilience
- Randomized User-Agent headers across Chrome versions and platforms
- Automatic retry with session rotation on 403/429 responses
- Detects and handles Cloudflare challenge pages
Legal Notice
This Actor is intended for legitimate data collection purposes such as market research, sentiment analysis, and reputation monitoring. Always respect Trustpilot's Terms of Service. The responsibility for how the data is used lies with the end user.