Trustpilot Reviews Scraper - All Reviews, Ratings & Replies avatar

Trustpilot Reviews Scraper - All Reviews, Ratings & Replies

Pricing

Pay per usage

Go to Apify Store
Trustpilot Reviews Scraper - All Reviews, Ratings & Replies

Trustpilot Reviews Scraper - All Reviews, Ratings & Replies

Extract Trustpilot reviews with ratings, replies, reviewer info and company data for any company URL or domain. Served in seconds from a continuously refreshed dataset, with a live crawl for anything not collected yet. Filter by stars, language, verified, date or keyword. Export JSON, CSV, Excel.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Hasnain Nisar

Hasnain Nisar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

6 days ago

Last modified

Share

Trustpilot Reviews Scraper

Extract Trustpilot reviews with ratings, replies, reviewer info, and company data for any company. Export to JSON, CSV, or Excel.

What it does

Give it one or more Trustpilot company pages (or bare domains) and it returns the reviews - newest first or most relevant - including:

  • Review - rating (1-5), title, full text, language, likes
  • Dates - published date, date of experience, last update
  • Verification - verified-order flag and verification source
  • Reviewer - display name, country, total review count
  • Company reply - reply text and reply date
  • Company data - name, domain, TrustScore, star average, total reviews, website, categories, claimed status

How it stays fast and reliable

Reviews are served from a continuously refreshed dataset that is collected around the clock, so most runs finish in seconds with no browser and no proxy involved. Whenever the dataset holds fewer reviews than you asked for - or a company you ask for has not been collected yet - the actor crawls Trustpilot live for the rest, saves what it finds, and your next run is instant.

Every record says where it came from (dataSource: database or live) and when it was collected (dataCollectedAt). Stored copies older than Refresh stored copies older than (default 24 h) are queued for a fresh collection after the run.

If the live crawl cannot run (Trustpilot's bot protection is occasionally unreachable from a given exit), the company is queued for collection and the run still finishes cleanly with whatever it holds - re-run it a little later for the full set.

Input

FieldDescription
companyUrlsTrustpilot review URLs (https://www.trustpilot.com/review/www.ebay.com) or bare domains (www.ebay.com)
maxReviewsMax reviews per company (default 100)
sortByrecency (newest first) or relevance
starsFilterOnly reviews with these star ratings, e.g. ["1", "2"] - leave empty for all
languagesall (default) or a language code like en, de, fr, es
verifiedOnlyOnly verified reviews
filterByDatePeriodall, last30days, last3months, last6months, or last12months
filterByCountryOfReviewersTwo-letter country code (US, GB, DE, ...) - keep only reviews by reviewers from that country
searchKeywordOnly reviews whose title or text contains a keyword
startFromPageNumber / endAtPageNumberReturn a specific page range (20 reviews per page; 0 end = no limit)
includeCompanyDetailsAttach company profile fields to every review (default on)
liveFallbackCrawl Trustpilot live when the prepared dataset has less than requested (default on)
refreshAfterHoursQueue a fresh collection for stored copies older than this (default 24)

Example input

{
"companyUrls": ["https://www.trustpilot.com/review/www.ebay.com"],
"maxReviews": 500,
"sortBy": "recency"
}

Output

One dataset record per review:

{
"reviewId": "6a5e298fe781c1642d80d3e8",
"reviewUrl": "https://www.trustpilot.com/reviews/6a5e298fe781c1642d80d3e8",
"rating": 1,
"title": "I bought Korean bbq sauce and was sent.",
"text": "I bought Korean bbq sauce and was sent miso ginger marinade...",
"language": "en",
"datePublished": "2026-07-20T15:58:39.000Z",
"dateOfExperience": "2026-07-20T00:00:00.000Z",
"dateUpdated": null,
"likes": 0,
"verified": false,
"verificationSource": "invitation",
"reviewerName": "Chris",
"reviewerId": "5df7d10697520b132ac321cd",
"reviewerCountry": "US",
"reviewerReviewCount": 16,
"replyMessage": null,
"replyDate": null,
"companyName": "eBay",
"companyDomain": "www.ebay.com",
"companyTrustScore": 1.3,
"companyStars": 1.5,
"companyTotalReviews": 18938,
"companyWebsite": "https://ebay.com",
"companyCategories": ["e-Commerce Solution Provider"],
"companyIsClaimed": true,
"companyTrustpilotUrl": "https://www.trustpilot.com/review/www.ebay.com",
"dataSource": "database",
"dataCollectedAt": "2026-09-02T20:05:11.000Z"
}

Download results as JSON, CSV, Excel, or XML from the dataset tab, or fetch them via the Apify API.

Why this scraper

  • Fast - most runs are answered from the prepared dataset in seconds; live crawls read Trustpilot's embedded page data, not rendered HTML.
  • Resilient - a live crawl passes Trustpilot's bot-protection challenge with a real browser, retries through a second connection if a proxy exit is unreachable, and anything still missing is queued rather than failed.
  • Complete records - reviewer, reply, verification, and company profile in one flat row, ready for spreadsheets and BI tools.

FAQ

Is scraping Trustpilot reviews legal? This actor only collects publicly available data. Be sure your use complies with applicable laws and Trustpilot's terms; consult a lawyer if unsure.

How many reviews can I get? Up to maxReviews per company (max 50,000). Trustpilot paginates 20 reviews per page; the live crawl follows pagination until it reaches your limit or the last page.

Why does a record say dataSource: "database"? It was served from the prepared dataset. dataCollectedAt tells you when it was collected; lower refreshAfterHours if you need fresher copies.

Which proxies do I need? None for dataset-served runs. The default Apify datacenter proxy works for the live crawl.

Disclaimer

Extracts publicly available review and business information only. Not affiliated with, endorsed by, or connected to Trustpilot A/S; the name is used solely to describe the data source. You are responsible for how you use the data.