Trustpilot Scraper — Reviews, TrustScore & Companies
Pricing
from $0.45 / 1,000 reviews
Trustpilot Scraper — Reviews, TrustScore & Companies
Scrape Trustpilot reviews past the 200-review page limit, company profiles with TrustScore, star distribution and contact details, and category or search listings.
Pricing
from $0.45 / 1,000 reviews
Rating
0.0
(0)
Developer
Trevor Ortega
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Trustpilot Scraper
Scrape Trustpilot reviews, company profiles and category or search listings. For every review you get the star rating, title, full text, date of experience, published date, reviewer name and country as shown on the page, the verified label, and the company's reply. Company profiles carry the TrustScore, review count, star distribution, categories, website, the contact details the page shows, and the reply rate. Works for any company page, category page or search URL.
Trustpilot shows a visitor only the first 200 reviews of any list. This Actor reads past that limit: it splits a company's reviews by star rating and review language with Trustpilot's own filters and merges the slices without duplicates, so large companies can be collected far deeper than one list allows. It uses plain HTTP requests through Apify's Unblocker proxy: no headless browser, no login, no cookies. Every response is checked before it counts, and a request is only made when its results still fit your limits. You pay per item, with no start fee.
What data does Trustpilot Scraper extract?
Review items (mode: reviews, default):
| Field | Description |
|---|---|
reviewId, reviewUrl | Trustpilot review id and permalink (https://www.trustpilot.com/reviews/…) |
companyName, companyDomain, companyUrl | Company the review belongs to ("Monzo", www.monzo.com, its Trustpilot page) |
rating | 1-5 stars |
title, text | Review headline and full review text |
language | Language code of the review (en, de, …) |
experienceDate | Date of experience the reviewer entered (2026-09-28) |
publishedDate, updatedDate | When the review was published or last edited (ISO timestamps) |
isVerified | Trustpilot's "Verified" label (the review came from a genuine customer invitation or was otherwise verified) |
verificationLevel, verificationSource, reviewSource | Details behind the label: verified / invited / not-verified, invitation, and how the review was collected (Organic, BusinessGeneratedLink, InvitationApi, …) |
likes | "Useful" votes |
reviewerName | Reviewer's display name as Trustpilot shows it |
reviewerCountry | Country code shown next to the name (GB, US, …) |
reviewerReviewCount | How many reviews the reviewer has written on Trustpilot |
reviewerId, reviewerProfileUrl | Public Trustpilot profile link (https://www.trustpilot.com/users/…) |
companyReply, companyReplyDate | The company's public reply and when it was posted (null when there is none) |
locationName | Branch / location the review is about, for companies with locations |
Reviewer avatars are not collected.
Company profiles (mode: companies, or includeCompanyProfile in reviews mode): companyId, name, domain, url, website, trustScore, stars, reviewCount, reviewCountLast12Months, ratingDistribution ({"1": …, "5": …}), reviewLanguages (review count per language), categories, categoryIds, primaryCategory, categoryPath, description, email, phone, address, city, zipCode, country, countryCode, logoUrl, isClaimed, isClosed, isCollectingReviews, verifiedCompany, replyPercentage and averageDaysToReply (Trustpilot's figures for negative reviews), negativeReviewCount, consumerAlert, aiSummary (Trustpilot's own review summary), similarCompanies.
Listing cards (mode: listing): position, companyId, name, domain, url, trustScore, stars, reviewCount, website, email, phone, address, city, zipCode, country, categories, primaryCategory, logoUrl, isRecommended, plus source (category or search), categoryId / categoryName / listingCountry or searchQuery.
Contact fields are filled only when the company published them on Trustpilot; many leave them empty.
How to scrape Trustpilot reviews
- Paste one or more URLs into Start URLs: a company page (
https://www.trustpilot.com/review/www.amazon.com), a category page (https://www.trustpilot.com/categories/bank) or a search page (https://www.trustpilot.com/search?query=pizza). Or type domains such asmonzo.cominto Company domains, or names into Search queries. - Pick What to scrape: reviews (default), company profiles, or the category / search listing.
- Set Max items and, for more than one company, Max reviews per company.
- Optionally filter: Only these star ratings, Review language, Date posted, Verified reviews only, Reviews with a company reply only, Reviews mentioning, and Sort reviews. Filters you set in a company URL in the browser are kept.
- Click Start. Results appear in the Dataset tab; export as JSON, CSV or Excel, or read them through the API.
Input example
{"startUrls": [{ "url": "https://www.trustpilot.com/review/www.amazon.com" },{ "url": "https://www.trustpilot.com/categories/bank?country=GB" }],"companyDomains": ["monzo.com"],"mode": "reviews","maxItems": 2000,"maxReviewsPerCompany": 500,"includeCompanyProfile": true,"stars": ["1", "2"],"language": "all","datePosted": "last12months"}
Output example
{"type": "review","reviewId": "6ac43194e14adc14cb379442","reviewUrl": "https://www.trustpilot.com/reviews/6ac43194e14adc14cb379442","companyName": "Monzo","companyDomain": "www.monzo.com","companyUrl": "https://www.trustpilot.com/review/www.monzo.com","rating": 1,"title": "My account is going to be closed on 7th…","text": "My account is going to be closed on 7th October 2026. I have tried talking with Monzo but no help was given and no one listed to me of wanted to get my explanation. ","language": "en","experienceDate": "2026-10-06","publishedDate": "2026-10-06T01:24:04.000Z","updatedDate": null,"isVerified": true,"verificationLevel": "invited","verificationSource": "invitation","reviewSource": "BusinessGeneratedLink","likes": 0,"reviewerName": "AnnahK","reviewerCountry": "GB","reviewerReviewCount": 2,"reviewerId": "6a1848d3dd910c874e76d5de","reviewerProfileUrl": "https://www.trustpilot.com/users/6a1848d3dd910c874e76d5de","companyReply": null,"companyReplyDate": null,"locationName": null}
A company profile ("type": "company") for the same company starts like this: "name": "Monzo", "trustScore": 4.6, "reviewCount": 73116, "ratingDistribution": {"1": 7366, "2": 841, "3": 1056, "4": 4295, "5": 59558}, "address": "38 Finsbury Square", "city": "London", "replyPercentage": 50.3.
How many Trustpilot reviews can I get per company?
Trustpilot serves visitors without an account 10 pages of 20 reviews for any list; page 11 sends you to the login page. Up to 200 reviews per company you get exactly that list, newest first (or most relevant first), 20 reviews per request.
When Max reviews per company is higher, the Actor reads the slices Trustpilot's own filters offer: each star rating, then each review language. Every slice is a list of its own with its own 200 reviews, and every slice contributes in proportion to its size, so the result keeps the company's real mix of ratings and languages. A slice that is still larger than 200 (for example English 1-star reviews of a big retailer) is also read in relevance order and as verified-only, replied-only and date-window lists, and the new reviews are merged. Companies with up to a few thousand reviews can be collected completely or in large part; for the very largest (tens of thousands) the Actor goes as deep as those filters reach, which is several thousand reviews, and the run's SUMMARY reports per company how many reviews Trustpilot lists and how many were saved. Duplicates are never saved or charged.
Can I get only negative reviews, or only new ones?
Yes. Only these star ratings with 1 and 2 returns complaints only; Trustpilot applies the filter, so you do not pay for reviews you do not want. Reviews with a company reply only gives you the conversations, Verified reviews only the labelled ones, and Reviews mentioning searches the review text for a word such as "refund".
For monitoring, turn on Only new or changed items (see below): each scheduled run then outputs only reviews that earlier runs did not, with no deduplication on your side.
Monitor changes on a schedule
Turn on Only new or changed items and save the input as a task with a Schedule (Apify Console: Saved tasks -> Schedule, for example daily). Each run remembers what earlier runs of the same input returned and outputs only what is new: in reviews mode the reviews posted since the last run (read newest first; paging stops as soon as a page reaches reviews from an earlier run, so a daily check of one company usually costs a single Unblocker request), in companies and listing mode the companies that are new or whose TrustScore, stars or closed/alert status changed. Unchanged items are skipped before they are saved, so they are not charged, and the company profile is output on the first run only. Date posted (Last 30 days) is the date filter to combine it with: it bounds how far back the first run reads. Monitored items carry changeType (new or changed) and, for changed companies, previousValues with the old values (e.g. {"trustScore": 4.3}); use Monitoring key to keep several schedules on the same input apart.
Proxy note
Trustpilot answers datacenter and residential IPs with a "Verifying Connection" page, so this Actor uses Apify's Unblocker proxy by default. Unblocker is billed to your Apify account per successful request: 10 Unblocker units, about $0.0015 on the free plan and less on paid plans. Failed requests are free. One request returns 20 reviews (one company profile comes with the first one for free) or 10-20 listing cards, so the proxy adds about $0.08 per 1,000 reviews for the first 200 of a company and roughly $0.10-0.15 per 1,000 beyond that (deep slices overlap). The run's SUMMARY record reports the number of successful requests. Responses through Unblocker take 5-30 seconds each; the Actor keeps five requests in flight.
How much does it cost to scrape Trustpilot?
Pay per item: $0.00045 per review, $0.0015 per company profile, $0.0008 per listing card. No start fee, no subscription. On top of that you pay the Unblocker proxy (see above) and normal Apify platform usage. 1,000 reviews cost about $0.55 all-in on the free plan.
Does it need a Trustpilot account or a browser?
No. Everything comes from pages Trustpilot serves to logged-out visitors: the Actor reads the data the page embeds for its own rendering, through plain HTTP requests. No login, no cookies, no headless browser; 512 MB of memory is enough.
Integrations and API
Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client (see the API tab). Schedule it to monitor new reviews of your company or competitors, or feed the review texts into an LLM for theme analysis.
Is it legal to scrape Trustpilot?
This Actor collects only data Trustpilot shows publicly to logged-out visitors: review texts and ratings, the reviewer's display name, country and public profile link as shown on the page, company replies, and business information the companies published. It does not collect avatars or anything behind a login. Reviewer names and profile links are personal data under GDPR and similar laws: make sure you have a lawful basis for processing them, and do not use them to contact or profile individuals. You are responsible for how you use the data and for complying with Trustpilot's terms and applicable law.
Support
Found a bug or need a field added? Open an issue in the Issues tab.