Trustpilot Review Scraper avatar

Trustpilot Review Scraper

Pricing

from $2.00 / 1,000 review or company results

Go to Apify Store
Trustpilot Review Scraper

Trustpilot Review Scraper

Scrape company profile and customer reviews from Trustpilot public pages. Extracts trust score, categories, ratings, review text, authors, and company replies with pagination support.

Pricing

from $2.00 / 1,000 review or company results

Rating

0.0

(0)

Developer

Harsh

Harsh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Trustpilot Review Scraper do?

Trustpilot Review Scraper extracts company profile data and customer reviews from public Trustpilot review pages. Give it one or more company URLs (or domains), set how many reviews you need, and get structured dataset items plus downloadable CSV and Markdown summaries.

Built with TypeScript, Crawlee CheerioCrawler, and dual extraction: embedded __NEXT_DATA__ (Next.js) with CSS selector fallbacks. Run it on the Apify platform for scheduling, API access, proxy rotation, and monitoring.

Why use Trustpilot Review Scraper?

  • Brand & reputation monitoring — track trust scores and recent feedback for competitors or your own brand
  • Lead research — find businesses by category signals and public review volume
  • Customer insight — analyze rating distributions, verified reviews, and company reply quality
  • Market research — export clean review text for NLP / sentiment pipelines

How to use Trustpilot Review Scraper

  1. Open the Actor in Apify Console and click Try for free
  2. Paste one or more Trustpilot company URLs, e.g. https://www.trustpilot.com/review/amazon.com (or bare domains like amazon.com)
  3. Set Max reviews, optional min/max rating, and enable Apify Proxy (recommended)
  4. Click Start and download results as JSON, CSV, Excel, or use the API

Input

FieldTypeDefaultDescription
companyUrlsstring[]amazon.com profileTrustpilot /review/{domain} URLs or bare domains
maxReviewsinteger50Max reviews to collect in the run
minRatinginteger1Minimum star rating (1–5)
maxRatinginteger5Maximum star rating (1–5)
includeCompanyInfobooleantruePush a company summary item per company
maxConcurrencyinteger2Parallel requests
maxRequestRetriesinteger3HTTP retries
requestDelayMsinteger500Used to derive requests/minute rate limit
proxyConfigurationobjectApify Proxy onProxy settings (residential recommended)

Example:

{
"companyUrls": ["https://www.trustpilot.com/review/amazon.com"],
"maxReviews": 20,
"minRating": 1,
"maxRating": 5,
"includeCompanyInfo": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

The dataset contains company items and review items (type field distinguishes them).

Company item

FieldDescription
nameDisplay name
domain / identifyingNameTrustpilot identifying domain
trustScoreTrustpilot trust score
reviewCountProfile review count
starsStar rating
categoriesCategory names
replyRateCompany reply rate when available
companyUrlSource profile URL

Review item

FieldDescription
idReview id (deduped)
titleReview title
textReview body
ratingStars 1–5
datePublished date (ISO when available)
authorConsumer display name
authorLocationCountry / location code
isVerifiedVerified purchase/experience flag
companyReply{ text, date } when the company replied
companyName / companyDomainParent company
reviewUrlLink to the review when available

Example review:

{
"type": "review",
"id": "abc123",
"title": "Fast shipping",
"text": "Order arrived next day.",
"rating": 5,
"date": "2026-07-01T10:00:00.000Z",
"author": "Jane D",
"authorLocation": "US",
"isVerified": true,
"companyReply": null,
"companyName": "Amazon",
"companyDomain": "amazon.com",
"companyUrl": "https://www.trustpilot.com/review/amazon.com",
"extractionMethod": "next-data"
}

Key-value store artifacts

KeyContent
REVIEWS.csvAll reviews as CSV
SUMMARY.mdMarkdown run summary
OUTPUTJSON run stats

You can download the dataset in JSON, HTML, CSV, Excel, and other formats from the Output tab.

Features

  • Company profile: name, domain, trustScore, reviewCount, stars, categories, replyRate
  • Reviews: id, title, text, rating, date, author, authorLocation, isVerified, companyReply
  • Pagination of review pages until maxReviews is reached
  • Filter by min/max rating
  • Retries, rate limiting, concurrency control
  • Dedupe by review id
  • Dual extraction: __NEXT_DATA__ + DOM fallbacks
  • CSV + Markdown exports

How much does it cost?

This Actor uses Pay-per-event (PPE) pricing:

  • Actor start: small fixed fee per run
  • Dataset item: $0.002 per result (company or review item)

Example: scraping 1 company + 100 reviews ≈ 101 items ≈ $0.20 (plus start event and platform compute). Free Apify tier credits apply as usual.

Tips

  • Use residential proxies if you see WAF / “Verifying your connection” pages
  • Keep maxConcurrency low (1–3) for reliability
  • Raise requestDelayMs if you hit rate limits
  • Use minRating / maxRating to focus on complaints (1–2) or promoters (5)
  • Prefer official Trustpilot /review/{domain} URLs for best results

Local development

npm install
npm run lint
npm run format
npm run build
npm test
apify run --purge

Copy examples/input.json into storage/key_value_stores/default/INPUT.json for local runs.

Deploy

apify login
apify push
  • Trustpilot may show bot challenges; proxies improve success rate
  • Cheerio reads server-rendered HTML; heavy client-only changes may need updates
  • Page structure can change — extractor uses multiple fallbacks
  • Only scrape public pages you are allowed to access. Respect Trustpilot Terms of Service and applicable laws (e.g. GDPR). This Actor is for legitimate research and monitoring.

FAQ

Can I pass a bare domain?
Yes — amazon.com is expanded to https://www.trustpilot.com/review/amazon.com.

Does it get company replies?
Yes, when present in __NEXT_DATA__ or the review card DOM.

Where is the CSV?
In the run’s key-value store as REVIEWS.csv, plus SUMMARY.md.

Support
Open an issue on the Actor’s Issues tab for bugs or feature requests. Custom scrapers available on request.

Project structure

.actor/ Actor metadata + input/output/dataset schemas
examples/ Sample input/output JSON
src/
main.ts Crawler setup, KV exports
routes.ts Request handlers, pagination
extractors.ts __NEXT_DATA__ + DOM parsers
csv.ts REVIEWS.csv + SUMMARY.md builders
types.ts TypeScript types
utils.ts URL helpers, coercion
test/ Vitest unit tests + HTML fixtures