Trustpilot Reviews Scraper + Insights Report
Pricing
$1.50 / 1,000 review scrapeds
Trustpilot Reviews Scraper + Insights Report
Scrape Trustpilot reviews by domain and get raw review data PLUS a built-in insights report — rating trends, complaint/praise keywords, response rate, suspicious spike detection, and multi-company comparison. No API key needed. Pay per review scraped.
Pricing
$1.50 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Berkay
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Most Trustpilot scrapers pull the page over plain HTTP. Trustpilot blocks that a lot of the time, which is why so many of them fail part way through a run or only bring back half the reviews. This one runs a real browser, gets past the bot check, and reads the reviews straight from the page data. You get the whole set, not a random slice.
You also get more than rows. Every run turns the reviews into a short report: how the rating moved over time, what people complain about most, what they praise, how often the company replies, and a side by side table when you scrape more than one company.
To try it, drop in a domain like pipedrive.com and hit Start. First results come back in a few minutes.
Trustpilot review insights report: complaint analysis, trends, and competitor comparison
The built-in insights report turns raw reviews into answers: a complaint and praise keyword analysis (the terms that show up most in low- and high-star reviews), rating trends by month, the company response rate, fake-spike detection, and a side-by-side competitor review comparison when you scrape more than one brand.
What you get
Two outputs per run.
A dataset with one row per review. Download it as JSON, CSV, Excel, or XML, or pull it through the API into your own tools.
A report in the key value store:
REPORTis an HTML page. Open it in any browser.INSIGHTSis the same numbers as JSON, in case you want to process them yourself.
The report covers:
- Average rating, the full star breakdown with percentages, and how many reviews are verified.
- How often the company replies to its reviews.
- Rating by month, so trends are easy to see.
- Months where review volume jumps to three times the usual. These can point to fake or paid-for review bursts, so they are worth a look before you trust a score.
- The 15 words and phrases that show up most in 1 and 2 star reviews. The complaints.
- The 15 that show up most in 4 and 5 star reviews. The praise.
- A comparison table across companies when you scrape more than one.
How it compares
The two things that set it apart are reliability and the report.
| This actor | Typical scraper | |
|---|---|---|
| Gets past Trustpilot's bot protection | yes, real browser | often not, plain HTTP |
| Brings back the full review set | yes | not always |
| Insights report | yes | no |
| Complaint and praise keywords | yes | no |
| Fake spike detection | yes | no |
| Compare several companies in one run | yes | no |
| Runs on the free plan | yes | usually |
Common uses:
- Tracking your own brand's reputation over time.
- Benchmarking against competitors.
- Pulling product problems out of the low star reviews.
- Checking a vendor's score for manipulation before you buy.
- Client reporting at agencies.
How to use it
- Open the Input tab.
- Put one or more domains or Trustpilot URLs in Company URLs, for example
pipedrive.comorairbnb.com. - Set Max reviews per company. Leave it at 0 for all of them, or set 40 to 200 for a quick test.
- Filter by language, star rating, or date if you want.
- Hit Start. Reviews land in the Dataset tab. The report lands in the Key value store tab under
REPORT.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
companyUrls | array (required) | ["pipedrive.com"] | Trustpilot URLs or bare domains, one per line |
maxReviewsPerCompany | integer | 0 (all) | Cap per company |
stars | array | all | Keep only these star ratings |
languages | array | ["en"] | ISO language codes like en, de, fr. Leave empty for all |
sort | string | recency | recency or relevance |
date | string | all time | last30days, last3months, last6months, last12months |
verified | boolean | false | Only verified reviews |
withReplies | boolean | false | Only reviews that got a company reply |
includeCompanyInfo | boolean | true | Add trust score and category to each row |
generateInsights | boolean | true | Build the report after scraping |
maxConcurrency | integer | 5 | Parallel page fetches per company |
requestDelayMs | integer | 300 | Wait between fetches. Raise it for politer crawling |
proxyConfiguration | object | Apify datacenter proxy | Proxy settings |
Example input
{"companyUrls": ["pipedrive.com", "hubspot.com"],"maxReviewsPerCompany": 200,"languages": ["en"],"generateInsights": true}
Output
One row per review:
{"reviewId": "abc123","companyName": "Pipedrive","companyDomain": "pipedrive.com","companyTrustScore": 4.4,"companyTotalReviews": 1872,"rating": 5,"title": "Great CRM for small teams","text": "Easy to set up and the pipeline view is excellent...","language": "en","country": "US","publishedDate": "2024-11-03T08:22:00Z","isVerified": true,"replyMessage": null,"authorName": "John D.","reviewUrl": "https://www.trustpilot.com/reviews/abc123"}
Download the dataset as JSON, CSV, Excel, or XML from the Dataset tab.
Key value store:
| Key | Type | What it is |
|---|---|---|
INSIGHTS | application/json | The full analytics object, per company plus the comparison |
REPORT | text/html | The report. Open it in a browser |
Fields
| Field | Type | Description |
|---|---|---|
reviewId | string | Trustpilot review ID |
companyName | string | Company display name |
companyDomain | string | Trustpilot identifying domain |
companyTrustScore | float | Trust score (0 to 5) |
companyTotalReviews | integer | Total reviews on Trustpilot |
rating | integer | Star rating (1 to 5) |
title | string | Review title |
text | string | Full review text |
language | string | ISO 639-1 language code |
country | string | Reviewer country code |
publishedDate | ISO 8601 | Review published date |
experienceDate | ISO 8601 | Date of experience |
isVerified | boolean | Whether the review is verified |
verificationLevel | string | Verification label |
authorName | string | Reviewer display name |
authorReviewCount | integer | Total reviews by this author |
replyMessage | string | Company reply text, null if none |
replyPublishedDate | ISO 8601 | Company reply date |
reviewUrl | string | Direct link to the review |
Pricing
$0.0015 per review. No start fee.
| Reviews | Cost |
|---|---|
| 100 | $0.15 |
| 1,000 | $1.50 |
| 10,000 | $15.00 |
| 100,000 | $150.00 |
The report is always part of the run. You pay for reviews, not for the analysis. Apify's free plan gives you $5 a month in credits, which is around 3,300 reviews, and you don't need a card to start.
Tips
- To benchmark, put in 3 to 5 competitor domains, set
maxReviewsPerCompanyto 300, keeplanguagesat["en"]. The comparison table in the report gives you the side by side in a couple of minutes. - For trends, set
datetolast12monthsandmaxReviewsPerCompanyto 0 to pull a full year. - For complaint mining, look at
topComplaintTermsin the INSIGHTS output to spot recurring problems fast. - For fake review checks,
suspiciousSpikeMonthsin INSIGHTS flags months with three times the normal volume. - To track reputation over time, schedule the run monthly with Apify's scheduler.
FAQ
Is scraping Trustpilot legal? Trustpilot is a public website. Scraping public, non-login data for research, competitive analysis, or your own use is generally fine in most places. Don't use this to collect personal data without a legal basis or to break Trustpilot's terms.
Why are some fields empty? Trustpilot's page layout changes by company, region, and A/B test. The actor returns null for anything it can't find instead of crashing.
I got fewer reviews than expected.
Trustpilot may rate limit you. Raise requestDelayMs to 500 or 1000 and run again. The default datacenter proxy is usually enough. If you keep hitting 429s, switch on residential proxy, which needs a paid plan.
Does it work in languages other than English?
Yes. Drop the languages filter to get every language. The keyword extraction has stopword lists for English and German. Other languages still work, but the keyword lists may include more filler words.
Issues or feature requests? Use the Issues tab on the actor page. Custom or white label setups are available on request.