Trustpilot Reviews Scraper
Pricing
$6.99/month + usage
Trustpilot Reviews Scraper
Trustpilot Reviews Scraper is a powerful tool that extracts customer reviews from any Trustpilot company page. Perfect for sentiment analysis, competitor research, brand monitoring, and market intelligence.
Pricing
$6.99/month + usage
Rating
0.0
(0)
Developer

Scrape Pilot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
A high‑performance Trustpilot scraper that extracts customer reviews from any company page on Trustpilot. Whether you need data for sentiment analysis, competitor research, brand monitoring, or market intelligence – this actor delivers clean, structured JSON output at scale.
👉 Focus keyword: Trustpilot scraper – built for reliability, speed, and ease of integration.
✨ Features
- 🎯 Target any company – Provide a Trustpilot company slug (e.g.,
amazon.com) or full URL. - 📊 Rich review data – Extracts title, text, rating, date, reviewer name, country, verified status, helpful count, and company replies.
- 🔄 Sorting options – Choose to scrape reviews sorted by most recent, highest rating, lowest rating, or most relevant.
- 🌐 Proxy support – Built‑in Apify proxy with residential groups to avoid IP blocking.
- 📈 Scalable – Set
max_resultsfrom 1 to 10,000+ (respects Trustpilot pagination limits). - 🧹 Clean output – Consistent schema with null values where data is missing.
- ⚡ Fast & efficient – Uses concurrency and request queuing to maximise throughput.
- 🔌 Easy integration – Run on Apify platform or use as a Node.js module.
🚀 How It Works
- Provide input – Specify the company you want to scrape (by slug or URL) and optionally set sorting, result limits, and proxy.
- Scraping process – The actor navigates to the company’s Trustpilot review pages, extracts all available reviews, and handles pagination automatically.
- Proxy rotation – For large jobs, residential proxies ensure you stay under Trustpilot’s radar.
- Output – Returns a clean JSON array of reviews, each with the fields described below.
📥 Input Schema
The actor accepts the following input fields. All fields except company_slug are optional.
| Field | Type | Default | Description |
|---|---|---|---|
company_slug | String | required | The company identifier as it appears in the Trustpilot URL (e.g., amazon.com, microsoft.com, trustpilot.com). |
company_url | String | "" | Alternative: full Trustpilot URL (e.g., https://www.trustpilot.com/review/amazon.com). If provided, overrides company_slug. |
max_results | Integer | 100 | Maximum number of reviews to return (1–10,000). |
sort | String | "recent" | How to sort reviews: "recent" (most recent first), "highest" (highest rating), "lowest" (lowest rating), or "relevant" (Trustpilot’s default). |
proxyConfiguration | Object | { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } | Proxy settings. See Proxy Configuration for details. |
include_readme | Boolean | false | (Internal) If true, includes a copy of this README in the output – not needed for normal use. |
Example Input (JSON)
{"company_slug": "amazon.com","max_results": 1000,"sort": "recent","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output Format
The actor returns an array of review objects. Each object contains the following fields:
| Field | Type | Description |
|---|---|---|
review_title | String | Title or headline of the review (often truncated). |
review_text | String | Full text content of the review. |
rating | String | Rating out of 5 (e.g., "5", "1"). |
date | String | Date of the review in YYYY-MM-DD format. |
reviewer_name | String | Display name of the reviewer. |
reviewer_country | String or null | Two‑letter country code (e.g., "US", "GB") if available. |
verified | Boolean or null | true if the reviewer is verified as a customer, false otherwise, null if unknown. |
helpful_count | Integer | Number of users who found the review helpful. |
reply | String or null | Company’s public reply to the review, if any. |
company_slug | String | The company slug used for the request (e.g., "amazon.com"). |
Example Output (JSON)
[{"review_title": "The Creepy cost of Alexa/Google and no, its not cash.","review_text": "If you want to use multiple Spotify accounts on a smart speaker, be warned: it’s a data-mining trap...","rating": "1","date": "2026-03-14","reviewer_name": "Allen S.","reviewer_country": "US","verified": null,"helpful_count": 0,"reply": null,"company_slug": "amazon.com"},{"review_title": "I like this app","review_text": "I like this app; I like its on-time deliveries.","rating": "5","date": "2026-03-14","reviewer_name": "Narcisa Deleg","reviewer_country": "US","verified": null,"helpful_count": 0,"reply": null,"company_slug": "amazon.com"}// ... up to max_results]
🛠️ Usage
▶️ Run on Apify Console
- Go to Apify Console and open the Actor page for Trustpilot Reviews Scraper.
- Click "Run".
- Fill in the required fields (at least
company_slugorcompany_url). - Click "Start" and wait for results.
🔌 Run via Apify API (cURL)
curl -X POST "https://api.apify.com/v2/acts/your-username~trustpilot-reviews-scraper/runs?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"company_slug": "amazon.com","max_results": 50,"sort": "recent"}'
📦 Use as a Node.js Module
Install the package:
$npm install trustpilot-reviews-scraper
Then use it in your code:
const { scrapeTrustpilot } = require('trustpilot-reviews-scraper');(async () => {const reviews = await scrapeTrustpilot({company_slug: 'amazon.com',max_results: 20,sort: 'highest'});console.log(reviews);})();
🌐 Proxy Configuration
To avoid IP‑based blocking, especially for large scraping jobs, you can configure proxies. The actor integrates seamlessly with Apify Proxy.
| Property | Type | Description |
|---|---|---|
useApifyProxy | Boolean | If true, enables Apify Proxy. Default: true. |
apifyProxyGroups | Array | Proxy groups: ["RESIDENTIAL"], ["DATACENTER"], or ["SHADER"]. Residential is recommended for Trustpilot. |
proxyUrls | Array | Custom proxy URLs (e.g., ["http://user:pass@proxy.example.com:8080"]). Ignored if useApifyProxy is true. |
Example with custom proxies:
{"proxyConfiguration": {"useApifyProxy": false,"proxyUrls": ["http://user:pass@123.45.67.89:8080"]}}
❓ FAQ / Troubleshooting
Q: Which Trustpilot pages are supported?
A: The actor works with any standard company review page, e.g., https://www.trustpilot.com/review/amazon.com. It does not support scraping category pages or search results.
Q: Why are some fields null?
A: Trustpilot does not always provide all metadata for every review. For example, country and verification status may be missing; the actor sets them to null in such cases.
Q: Can I scrape more than 10,000 reviews?
A: Trustpilot limits the number of pages available (usually up to 100 pages of 20 reviews each = 2000). However, for companies with many reviews, you can use max_results up to 10,000; the actor will stop when no more pages are available.
Q: I'm getting blocked / timeouts.
A: Enable residential proxies (apifyProxyGroups: ["RESIDENTIAL"]) and reduce max_results to stay under rate limits. You can also add delays (not yet configurable, but planned).
Q: Can I scrape reviews in a specific language?
A: Not directly. Trustpilot reviews are in the language the reviewer wrote in. Use the sort option to get the most recent ones.