Trustpilot Scraper — Reviews, Ratings & Company Data avatar

Trustpilot Scraper — Reviews, Ratings & Company Data

Pricing

Pay per usage

Go to Apify Store
Trustpilot Scraper — Reviews, Ratings & Company Data

Trustpilot Scraper — Reviews, Ratings & Company Data

Extract Trustpilot reviews, ratings, trust scores, and company info. Scrape review text, star ratings, author details, verification status, and business replies. Export to JSON, CSV, or Excel. No login required.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Trustpilot Reviews Scraper

Scrape company reviews, ratings, trust scores, and detailed feedback from Trustpilot. Extract everything you need for competitive analysis, brand monitoring, and market research.

What It Does

This actor extracts structured data from Trustpilot company review pages:

Company-level data:

  • Company name, Trust Score, total review count
  • Star rating breakdown (1-5 star distribution)
  • Categories, website URL, verification status

Review-level data:

  • Star rating (1-5)
  • Review title and full text
  • Author name, country, and review count
  • Publication date and experience date
  • Verification status (verified/unverified)
  • Company reply text and date (if any)
  • Language, likes count

Features

  • Fast extraction using Trustpilot's embedded __NEXT_DATA__ JSON (no slow DOM parsing)
  • Automatic pagination through all review pages
  • Search by company name when you don't know the exact URL
  • Filter by star rating to focus on specific sentiment
  • Sort by recency or relevance
  • Multiple companies in a single run
  • Respectful rate limiting (30 requests/minute max)
  • Proxy support for large-scale scraping
  • Graceful error handling with detailed error reporting

Input

FieldTypeDefaultDescription
companyUrlsarray[]Trustpilot company review page URLs
companyNamesarray[]Search for companies by name
maxReviewsinteger100Max reviews per company (0 = unlimited)
sortstring"recency"Sort order: recency or relevance
includeCompanyInfobooleantrueInclude company-level summary data
filterByStarsarray[]Only scrape specific star ratings (e.g., [1, 2])
proxyConfigurationobject-Proxy settings for avoiding rate limits

Example Input

{
"companyUrls": [
"https://www.trustpilot.com/review/amazon.com",
"https://www.trustpilot.com/review/ebay.com"
],
"maxReviews": 50,
"sort": "recency",
"includeCompanyInfo": true,
"filterByStars": []
}

Search by Company Name

{
"companyNames": ["Shopify", "Stripe"],
"maxReviews": 200
}

Output

The actor produces two types of records in the dataset:

Company Info Record

{
"type": "companyInfo",
"companyName": "Amazon",
"trustScore": 1.9,
"totalReviews": 125834,
"rating": 2,
"websiteUrl": "amazon.com",
"categories": ["Electronics & Technology", "Marketplace"],
"location": "US",
"verified": true,
"starBreakdown": {
"1Star": 72451,
"2Star": 10234,
"3Star": 8901,
"4Star": 9876,
"5Star": 24372
},
"companySlug": "amazon.com",
"url": "https://www.trustpilot.com/review/amazon.com",
"scrapedAt": "2026-02-28T15:30:00.000Z"
}

Review Record

{
"type": "review",
"reviewId": "65f1a2b3c4d5e6f7a8b9c0d1",
"rating": 5,
"reviewTitle": "Great customer service experience",
"reviewText": "I had an issue with my order and the support team resolved it within hours. Very impressed with the follow-up.",
"author": "Jane D.",
"authorCountry": "US",
"authorReviewCount": 12,
"date": "2026-02-25T10:30:00.000Z",
"experienceDate": "2026-02-20T00:00:00.000Z",
"verified": true,
"verificationLevel": "verified",
"hasReply": true,
"replyText": "Thank you for your kind words, Jane! We're glad we could help.",
"replyDate": "2026-02-26T09:00:00.000Z",
"language": "en",
"likes": 3,
"companyName": "Amazon",
"companySlug": "amazon.com",
"companyUrl": "https://www.trustpilot.com/review/amazon.com",
"scrapedAt": "2026-02-28T15:30:05.000Z"
}

Use Cases

  • Competitive Analysis -- Compare trust scores and review sentiment across competitors
  • Brand Monitoring -- Track your own company's reviews over time
  • Market Research -- Analyze customer pain points and satisfaction drivers across an industry
  • Lead Generation -- Identify companies with low ratings that might need your service
  • Sentiment Analysis -- Feed review text into NLP models for automated sentiment classification
  • Due Diligence -- Research vendor/partner reliability before signing contracts
  • Content Strategy -- Discover what customers talk about most to inform your marketing

Pricing (Pay-Per-Event)

This actor uses Apify's pay-per-event model:

  • actor-start: Charged once per run
  • review-scraped: Charged per review extracted

You set a maximum budget per run, and the actor will never exceed it.

How to Run

On Apify Platform

  1. Go to the actor page on Apify Store
  2. Click "Start" or "Try for free"
  3. Enter your company URLs or search terms
  4. Set max reviews and sort order
  5. Click "Run"
  6. Download results as JSON, CSV, or Excel

Locally

# Clone the repository
git clone <repo-url>
cd trustpilot-scraper
# Install dependencies
npm install
# Create input file
echo '{"companyUrls": ["https://www.trustpilot.com/review/example.com"], "maxReviews": 20}' > ./storage/key_value_stores/default/INPUT.json
# Run
npm start

Via Apify API

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

Technical Details

  • Runtime: Node.js 20 on Apify platform
  • Framework: Crawlee (CheerioCrawler) + Apify SDK
  • Extraction: __NEXT_DATA__ JSON parsing with DOM fallback
  • Rate limiting: 30 requests/minute, 3 concurrent requests max
  • Retries: 3 automatic retries per failed request
  • Memory: ~256 MB recommended for typical runs

Limitations

  • Trustpilot may rate-limit or block requests without a proxy. Use Apify proxies for large runs.
  • Some companies may have fewer reviews than maxReviews.
  • Trustpilot's DOM structure may change over time. The __NEXT_DATA__ approach is more resilient.
  • Review text may be truncated on Trustpilot for very long reviews.

Support

Built by Sovereign AI. For issues, feature requests, or custom scraping needs: