Trustpilot Reviews Scraper avatar

Trustpilot Reviews Scraper

Pricing

$10.00/month + usage

Go to Apify Store
Trustpilot Reviews Scraper

Trustpilot Reviews Scraper

Collect customer reviews from Trustpilot company pages, including ratings, review text, dates, verification, and company replies. Supports multi-company scraping, pagination, and proxy rotation.

Pricing

$10.00/month + usage

Rating

0.0

(0)

Developer

Jamshaid Arif

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape customer reviews from any company page on Trustpilot. Extracts structured data including reviewer name, star rating, review text, date, useful votes, verification status, and company reply info.

Features

  • Multi-company – Pass a list of Trustpilot URLs and scrape them all in one run.
  • Full pagination – Automatically detects total pages and crawls through them.
  • Star filter – Only collect 1-star, 5-star, or any combination you choose.
  • Sort control – Scrape by most recent or most relevant.
  • Proxy rotation – Built-in Apify proxy support to avoid rate limits.
  • Retry with backoff – Configurable exponential-backoff retries on failures.
  • Async & fast – Uses httpx async HTTP client for efficient I/O.

Input

FieldTypeDefaultDescription
companyUrlsstring[]requiredTrustpilot company review URLs
maxPagesinteger5Max pages per company (0 = all)
filterByStarsinteger[][]Only these ratings (empty = all)
sortBystringrecencyrecency or relevance
proxyConfigobjectApify proxyProxy settings
maxRequestRetriesinteger3Retries per failed request
delayBetweenRequestsinteger1500Delay in ms between page fetches

Example Input

{
"companyUrls": [
"https://www.trustpilot.com/review/www.amazon.com",
"https://www.trustpilot.com/review/www.ebay.com"
],
"maxPages": 10,
"filterByStars": [1, 2],
"sortBy": "recency"
}

Output

Each review is pushed to the default dataset with this schema:

FieldTypeDescription
companystringCompany slug from URL
reviewerstringReviewer display name
ratinginteger1–5 star rating
titlestringReview headline
reviewTextstringFull review body
dateIsostringISO 8601 timestamp
dateDisplaystringHuman-readable date
usefulCountinteger"Useful" vote count
verifiedbooleanVerified user badge
hasReplybooleanCompany replied
replyTextstring|nullCompany reply text
reviewUrlstring|nullPermalink to review
scrapedAtstringWhen the review was scraped

Usage

Via Apify Console

  1. Go to the actor page and click Start.
  2. Paste your Trustpilot URLs into the Company URLs field.
  3. Adjust max pages, star filters, and sort as needed.
  4. Run and export results as JSON, CSV, or Excel from the Dataset tab.

Via API

curl -X POST "https://api.apify.com/v2/acts/<YOUR_ACTOR_ID>/runs" \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"companyUrls": ["https://www.trustpilot.com/review/www.amazon.com"],
"maxPages": 5
}'

Via Python SDK

from apify_client import ApifyClient
client = ApifyClient("<YOUR_TOKEN>")
run = client.actor("<YOUR_ACTOR_ID>").call(run_input={
"companyUrls": ["https://www.trustpilot.com/review/www.amazon.com"],
"maxPages": 5,
"filterByStars": [1, 2, 3],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["reviewer"], item["rating"], item["reviewText"][:80])

Cost Estimate

Each page request costs roughly 0.001 compute units. Scraping 100 pages (~2,000 reviews) typically uses less than $0.05 of platform credits.

Notes

  • Trustpilot may update their HTML structure. If parsing breaks, open an issue.
  • Use reasonable delayBetweenRequests values (1000+ ms) to be respectful.
  • Proxy is recommended for runs exceeding ~50 pages.