Trustpilot Reviews Scraper - Most Comprehensive
Pricing
from $0.04 / 1,000 reviews
Trustpilot Reviews Scraper - Most Comprehensive
๐ฅ ~$0.05/1K reviews ๐ฅ Scrape all reviews for any Trustpilot business. Full review text, ratings, author profiles, company replies, and verification status. Accepts business URLs or domains.
Pricing
from $0.04 / 1,000 reviews
Rating
0.0
(0)
Developer
Kai
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
4
Monthly active users
11 days ago
Last modified
Categories
Share
Trustpilot Reviews Scraper
Collect Trustpilot reviews for one or more businesses. Enter Trustpilot review-page URLs or plain domains, select review filters, and receive each review as a separate item in the default dataset. No Trustpilot credential is required.
Use it to monitor new reviews, study rating patterns, find reviews about a topic, or collect a business profile with its review data.
Collect reviews from a business
Use a Trustpilot review URL
Collect the 20 newest reviews for a business:
{"businesses": ["https://www.trustpilot.com/review/trustpilot.com"]}
Use business domains
Plain business domains are also accepted:
{"businesses": ["trustpilot.com", "amazon.com"],"maxReviews": 100,"sort": "createdAt:desc"}
Filter reviews
This example collects recent English one- and two-star reviews that mention delivery. It also keeps only verified reviews that have a business reply.
{"businesses": ["amazon.com"],"maxReviews": 50,"stars": ["1", "2"],"language": "en","date": "last3months","search": "delivery","onlyVerified": true,"onlyWithReplies": true}
Each selected filter narrows the result. Remove onlyVerified or
onlyWithReplies if the combination is too narrow.
Save business profiles
Set includeBusinessProfiles to save one resolved profile per input entry in
the business_profiles dataset:
{"businesses": ["trustpilot.com"],"maxReviews": 20,"includeBusinessProfiles": true}
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
businesses | string[] | required | Trustpilot review-page URLs or plain business domains. Entries are processed in input order; repeated entries are processed again. |
maxReviews | integer | 20 | Maximum reviews for each business. 0 continues until Trustpilot has no next page when used with createdAt:desc. |
sort | string | createdAt:desc | createdAt:desc for newest first, or relevancy:desc for relevance order. |
stars | string[] | [] | Any combination of 1 through 5. An empty array includes all star ratings. |
language | string | all | all or a language code such as en, de, or fr. |
date | string | all | all, last30days, last3months, last6months, or last12months. |
search | string | none | Trustpilot review keyword filter. Blank text is treated as omitted. |
onlyVerified | boolean | false | Return only reviews that Trustpilot marks as verified. |
onlyWithReplies | boolean | false | Return only reviews with a business reply. |
includeBusinessProfiles | boolean | false | Save each resolved business profile in business_profiles. |
proxyConfiguration | object | Apify Proxy enabled | Optional connection settings managed by Apify. |
Input requires at least one business entry. maxReviews must be a non-negative integer. The Actor does not set a maximum business count or a maximum maxReviews value.
Complete input reference example
This is a syntax reference for all input fields. The selected filters can
produce fewer reviews than maxReviews.
Review output
Each default-dataset item is a Trustpilot review object. The object is source-defined: optional fields can be absent, and Trustpilot can add fields.
The record below is retained from a public response. It shows all fields
returned for that review. It has no companyReply; the optional reply shape is
in the field reference.
Review fields
Review objects can contain these fields. A response does not always contain every optional field.
| Field | Type | Description |
|---|---|---|
id | string | Review ID. |
title | string | Review title. |
text | string | Review text. |
stars | number | Star rating. |
createdAt | number | Creation time as a Unix timestamp in seconds. |
updatedAt | number or null | Last update time as a Unix timestamp in seconds. |
experiencedAt | number | Experience date as a Unix timestamp in seconds. |
numberOfLikes | number | Number of likes. |
isLikedByCurrentConsumer | boolean | Whether the active consumer liked the review. |
source | string | Review source label. |
isVerified | boolean | Trustpilot verified-review flag. |
status | string | Review status. |
businessUnitId | string | Trustpilot business-unit ID. |
reviewVerificationLevel | string | Verification level label. |
verificationLabel | object | Verification label details. |
language | string | Review language code. |
isLatestByConsumerOnBusinessUnit | boolean | Whether this is the consumer's latest review for the business. |
isLatestByConsumerOnLocation | boolean | Whether this is the consumer's latest review for the location. |
consumersReviewCountOnSameDomain | number | Consumer review count for the same domain. |
consumersReviewCountOnSameLocation | number | Consumer review count for the same location. |
consumer | object | Consumer details. |
filtered | boolean | Trustpilot filter flag. |
companyReply | object, optional | Business reply. It is absent when no reply is returned. |
| Object | Child fields and types |
|---|---|
verificationLabel | type string; subtype string or null. |
consumer | id, countryCode, and displayName strings; imageUrl string or null; numberOfReviews number; verified boolean. |
companyReply | text string or null; createdAt and updatedAt numbers or null. |
Business profile output
When includeBusinessProfiles is true, one raw profile object for each
resolved business is saved in business_profiles. Trustpilot defines this
object. Optional fields can be absent, and new source fields can appear.
Dataset views affect only the Console presentation. Exports keep all fields in the stored review and profile objects.
These selected values are retained from a public profile response:
Profile field reference
The table lists fields observed in saved profile responses. It is not an exhaustive schema for Trustpilot's open profile object.
| Field | Type | Child fields or value |
|---|---|---|
id | string | Trustpilot business-unit ID. |
displayName, profileImageUrl, websiteUrl | string | Public profile identity and links. |
name | object | identifying string and referring string array. |
score | object | Numeric trustScore and stars. |
numberOfReviews | object | Numeric total, oneStar, twoStars, threeStars, fourStars, and fiveStars. |
numberOfLocations | number | Business location count. |
countryCode | string | Business country code. |
claimState | string | Profile claim state. |
isUsingPaidFeatures, hasSubscription, isActivelyInviting | boolean | Profile and invitation status. |
description | open object | The saved profile contained a string text field. Other source fields can appear. |
profilePromotion | object | title string or null and sellingPoints objects; each selling point has text string. |
informationSource | string | Profile information source. |
businessClosed | object | Boolean isClosed and isTemporarilyClosed. |
verification | object | Boolean verifiedByGoogle, verifiedBusiness, verifiedPaymentMethod, and verifiedUserIdentity. |
email, phone, address, zipCode, city, country | string | Public contact and address values. |
categories | object[] | Each item has string id and displayName; boolean isPrimary, hasRanking, and isBadCategory; and ranking with numeric position and cardinality. |
accessToAIReplies | boolean | Whether the profile has access to AI reply features. |
Limits
maxReviewsapplies separately to every business entry.- With
createdAt:desc,maxReviews: 0continues until Trustpilot stops returning a next page. relevancy:descreturns at most 200 reviews for each business, including whenmaxReviewsis0or higher than200.- Trustpilot can omit optional review and profile fields or add new source fields.