Trustpilot Reviews Scraper — Company Reviews
Pricing
from $2.00 / 1,000 review scrapeds
Trustpilot Reviews Scraper — Company Reviews
Scrape Trustpilot company reviews: rating, title, text, author, date, company name and overall company rating as clean JSON. No API key, login or proxy required.
Pricing
from $2.00 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Oaida Adrian
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Trustpilot Reviews Scraper — Company Reviews as Clean JSON
Scrape Trustpilot reviews for any company domain and get every review as clean, structured JSON — individual rating, title, full body text, author, date, company name and overall company score. No API key, no login, no proxy required.
Built for reputation-monitoring teams, competitor analysts and market researchers who need a complete review profile in one table instead of clicking through review pages.
Why this Actor
- No account, no API key, no proxy budget — renders the public Trustpilot review pages in a real browser (Playwright Chromium), which passes the site's AWS WAF "Verifying Connection" check without any residential proxy spend.
- Full, untruncated review text — every review row carries the complete body text, not a preview, so sentiment and complaint mining work on the real words.
- Company-level context — overall company rating and company name attached to each review, so a single dataset benchmarks brands at a glance.
- Multi-company support — pass multiple domains and scrape reviews across competitors in one run; each company is processed in sequence.
- Pay per result — a small fee per review scraped; a 100-review run costs a fraction of a cent.
How it works
For each company domain the Actor opens the Trustpilot review pages in a headless Chromium browser, clears the AWS WAF verification, reads the review data embedded in the page's __NEXT_DATA__ JSON state, and outputs one dataset item per review — about 20 reviews per page, paging automatically up to maxReviewsPerCompany.
The JSON-state approach means the text you get is the exact text Trustpilot stores — no HTML parsing artifacts, no truncation.
Input
{"keywords": ["amazon.com", "ebay.com"],"maxReviewsPerCompany": 50}
| Field | Type | Description |
|---|---|---|
keywords | array of strings | Company domain names to scrape reviews from (e.g. amazon.com, trustpilot.com) — required |
maxReviewsPerCompany | integer | Reviews to scrape per company (default 20, max 500; ~20 per page) |
Output (one item per review)
{"keyword": "amazon.com","companyDomain": "amazon.com","companyName": "Amazon","companyRating": 3.8,"reviewRating": 5,"reviewTitle": "Great service","reviewText": "Fast delivery and excellent customer support...","reviewAuthor": "John Doe","reviewDate": "March 15, 2026","reviewDateIso": "2026-03-15T10:30:00.000Z"}
reviewDateIso is the machine-readable timestamp; reviewDate is Trustpilot's display string, kept so you can reproduce what the site shows.
Use cases
- ⭐ Reputation monitoring — track review ratings, volume and sentiment over time with a daily or weekly schedule; run timestamps give you the time axis for free.
- 🏢 Competitor analysis — compare review profiles across competing companies and find their weak spots (low-star clusters, recurring complaints).
- 📊 Market research — aggregate review data across a category for industry-level insight into satisfaction drivers.
- 🔍 Customer insights — mine review text for common complaints, praise and feature requests with your own NLP pipeline.
- 🤝 Vendor diligence — check a supplier's or partner's public review profile before signing.
Run it from the API
Trigger the Actor and get results in one call:
curl -X POST "https://api.apify.com/v2/acts/darknezz~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords":["amazon.com"],"maxReviewsPerCompany":100}'
Python:
import requestsresp = requests.post("https://api.apify.com/v2/acts/darknezz~trustpilot-reviews-scraper/run-sync-get-dataset-items",params={"token": "YOUR_TOKEN"},json={"keywords": ["amazon.com"], "maxReviewsPerCompany": 100},timeout=300,)reviews = resp.json() # list of review dicts, one per review
Scheduling: attach an Apify Schedule (e.g. daily) to build a review-history trendline for the brands you monitor — run timestamps give you the time axis for free.
Pricing
Pay per event: a small fee for each review scraped, plus Apify's standard platform events (actor start + dataset item). No subscription and no minimums — you pay only for what you run.
FAQ
Do I need a Trustpilot account or API key? No. The Actor reads the public review pages directly; there is nothing to authenticate.
Does it need a proxy? No. The Playwright browser passes Trustpilot's AWS WAF verification from datacenter IPs, so there is no proxy budget to buy.
Why does reviewText sometimes differ from the page preview? Trustpilot truncates previews on some layouts; the Actor reads the full text from the page's JSON state, which contains the complete review.
Can it scrape reviews in other languages? The Actor targets the English Trustpilot site, but review text is returned in whatever language the reviewer wrote in.
How accurate is companyRating? It is parsed from Trustpilot's page header — treat it as Trustpilot's own displayed score.
How many reviews can I get? Up to maxReviewsPerCompany (max 500 per company). Trustpilot pages carry ~20 reviews each and the Actor pages through automatically.
Is scraping this legal? Reviews are public and unauthenticated. You are responsible for complying with Trustpilot's terms and applicable laws for how you use the data.
Limitations
- Only companies with a Trustpilot profile under their domain are scrapeable; a domain with no profile returns zero reviews.
- Deep history (thousands of reviews) requires many pagination requests — raise
maxReviewsPerCompanyonly when you need the full tail. - Reviews deleted by the company or Trustpilot between runs will naturally disappear from fresh datasets.