TrustPilot Reviews Scraper ⭐
Shahid Irfan · @shahidirfan
Extract verified TrustPilot reviews at scale. Capture ratings, review text, reviewer profiles, dates & company metadata. Built for sentiment analysis.
About
What does Trustpilot Reviews Scraper do?
Trustpilot Reviews Scraper collects public reviews, ratings, reviewer profiles, and company metadata from Trustpilot company pages. Add one or more Trustpilot review URLs or plain company domains, and the actor returns structured datasets with review text, star ratings, published dates, verification signals, business TrustScore, and company replies. It is designed for reputation monitoring, competitor research, customer feedback analysis, and data enrichment workflows that need Trustpilot data without manual copy-paste.
Trustpilot does not provide a public API for review extraction at scale. This actor works with the public Trustpilot website to help you collect the data you need.
Why use Trustpilot Reviews Scraper?
- Reliable dataset creation - Collect structured Trustpilot reviews with titles, ratings, text, dates, reviewer details, and company context without manual copying.
- Deep coverage - Go well past Trustpilot's ~200-review public view limit by combining star, language, and sort views, then merging unique reviews automatically.
- Automation-ready output - Export results to JSON, CSV, Excel, XML, or connect to Google Sheets, webhooks, Make, and Zapier.
- Use-case fit - Supports reputation monitoring, competitor benchmarking, customer experience analysis, response tracking, and AI or RAG data collection.
What data can you extract from Trustpilot?
| Field | Description |
|---|---|
title | Review title |
text | Full review text |
rating | Star rating from 1 to 5 |
published_date | Date when the review was published |
is_verified | Whether Trustpilot marks the review as verified |
reviewer_name | Public reviewer display name |
reviewer_country | Reviewer country code when available |
business_name | Company display name on Trustpilot |
business_trust_score | Business TrustScore when available |
company_reply_text | Public company reply text when available |
How to use Trustpilot Reviews Scraper
- Open the actor on Apify Store.
- Add one or more Trustpilot review URLs or plain company domains (for example,
apify.com). - Set the maximum number of reviews and optional filters.
- Choose a sort order and language filter if needed.
- Run the actor.
- Download the dataset or connect it to your workflow.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
urls | Array | No | ["https://www.trustpilot.com/review/apify.com"] | Trustpilot company review URLs or plain company domains such as apify.com. |
results_wanted | Integer | No | 20 | Maximum number of reviews to save across all URLs. Values above about 200 are collected automatically across multiple review views. |
max_pages | Integer | No | 10 | Maximum review pages per filter view. Trustpilot serves at most 10 pages (about 200 reviews) per view. |
sort | String | No | "recency" | Sort order: recency or relevance. |
languages | String | No | "all" | Use all or a language code such as en, de, fr, es, or it. |
stars | Integer | No | - | Optional star rating filter from 1 to 5. |
verified | Boolean | No | false | Return only verified reviews when enabled. |
proxyConfiguration | Object | No | No proxy | Proxy settings for reliable extraction. Residential proxies are recommended for larger runs. |
Output Data
| Field | Type | Description |
|---|---|---|
review_id | String | Trustpilot review identifier. |
review_url | String | Direct review URL when available. |
source_url | String | Trustpilot page URL used for the record. |
source_page | Integer | Review page number. |
business_domain | String | Company domain from the Trustpilot page. |
business_name | String | Trustpilot business display name. |
business_trust_score | Number | Business TrustScore when available. |
business_review_count | Integer | Total business review count when available. |
business_website | String | Company website URL when available. |
business_is_claimed | Boolean | Whether the business is claimed on Trustpilot. |
title | String | Review title. |
text | String | Full review text. |
rating | Integer | Star rating from 1 to 5. |
language | String | Review language code. |
review_source | String | Review source type when available. |
is_verified | Boolean | Whether Trustpilot marks the review as verified. |
verification_source | String | Verification label or source when available. |
verification_level | String | Verification level when available. |
is_pending | Boolean | Whether the review is pending. |
is_filtered | Boolean | Whether the review is filtered. |
likes_count | Integer | Public likes count when available. |
published_date | String | Date when the review was published. |
experience_date | String | Date of the customer experience. |
reviewer_id | String | Trustpilot reviewer identifier. |
reviewer_name | String | Public reviewer display name. |
reviewer_country | String | Reviewer country code when available. |
reviewer_review_count | Integer | Public review count for the reviewer. |
reviewer_is_verified | Boolean | Whether the reviewer is verified. |
consumers_review_count_on_same_domain | Integer | Reviewer's total reviews on the same business domain. |
company_reply_text | String | Public company reply text when available. |
company_reply_date | String | Date of the company reply when available. |
company_reply_respondent_name | String | Name of the person who replied for the company. |
Usage Examples
Basic Extraction
Collect the latest reviews from one company:
{
"urls": ["https://www.trustpilot.com/review/apify.com"],
"results_wanted": 20,
"max_pages": 2
}
Multiple Companies
Use plain company domains and collect a shared result limit:
{
"urls": ["apify.com", "brightdata.com", "outscraper.com"],
"results_wanted": 100,
"max_pages": 5
}
Filter Negative Reviews
Collect recent one-star reviews for support analysis:
{
"urls": ["https://www.trustpilot.com/review/example.com"],
"stars": 1,
"sort": "recency",
"languages": "all",
"results_wanted": 50
}
Verified Reviews Only
Collect only verified reviews with company replies:
{
"urls": ["https://www.trustpilot.com/review/example.com"],
"verified": true,
"results_wanted": 30,
"max_pages": 3
}
Sample Output
{
"review_id": "abc123def456",
"review_url": "https://www.trustpilot.com/review/apify.com?page=1",
"source_url": "https://www.trustpilot.com/review/apify.com?sort=recency&languages=all",
"source_page": 1,
"business_domain": "apify.com",
"business_name": "Apify",
"business_trust_score": 4.8,
"business_review_count": 622,
"title": "Easy to use and reliable",
"text": "Apify helped our team automate data collection and reduce manual work.",
"rating": 5,
"language": "en",
"is_verified": true,
"published_date": "2026-04-08T10:20:00.000Z",
"experience_date": "2026-04-07T00:00:00.000Z",
"reviewer_name": "Example Reviewer",
"reviewer_country": "US",
"likes_count": 3
}
Tips for Best Results
- Use complete public Trustpilot review URLs in the format
https://www.trustpilot.com/review/company.com. Plain domains are accepted and converted automatically. - Start with
results_wantedset to 20 for test runs. Increase for larger collection jobs. - To go past Trustpilot's ~200-review public view limit, raise
results_wanted. - Use star filters when you need targeted sentiment slices such as only 1-star reviews.
- For larger or scheduled runs, residential proxies improve reliability. Configure proxy settings in the input.
- Some fields may be empty when the source page does not publish that information. Check multiple results before assuming the actor failed.
- Public Trustpilot pages can change over time. Report any issues through the Issues tab.
Integrations
- Google Sheets - Send scraped reviews to spreadsheets for analysis and sharing.
- Webhooks - Trigger downstream workflows after each run.
- Make or Zapier - Connect results to no-code automations.
- API - Access datasets programmatically from your own systems.
- Export formats - Download datasets as JSON, CSV, Excel, XML, and other supported formats.
Frequently Asked Questions
Can I collect reviews from any Trustpilot company page?
Yes. Provide public Trustpilot review URLs or plain company domains. The actor normalizes them and collects reviews from the public review page.
Can I scrape more than one company in a single run?
Yes. Add multiple URLs or domains to the urls parameter. The actor processes them in order until it reaches the results_wanted limit.
Can I collect more than 200 reviews from one company?
Yes. Trustpilot's public review pages only expose about 200 reviews per filter view, but
this actor automatically combines multiple star, language, and sort views and merges
unique reviews. Just set a higher results_wanted value to collect more.
Can I filter by star rating?
Yes. Set stars to a value from 1 to 5 to collect only that rating level. This is useful for focused sentiment analysis or support case review.
Can I export the data to CSV or Excel?
Yes. Apify datasets can be downloaded in CSV, Excel, JSON, XML, and other supported formats from the Apify Console.
Can I run this actor on a schedule?
Yes. You can schedule the actor in Apify Console to refresh data hourly, daily, weekly, or at another interval.
Why should I use a proxy?
Trustpilot may limit traffic from some sources. Residential proxies improve reliability for production runs with larger page counts.
Does the output include company replies?
Yes. When Trustpilot provides a public company reply, the output includes the reply text, date, and respondent name.
What should I do if some fields are missing?
Some fields may be empty when the source page does not publish that information. Check multiple results before assuming the actor failed. If a field is consistently missing, open an issue with the target URL.
Is it legal to scrape Trustpilot reviews?
Scraping public web data can be legal, but you are responsible for complying with applicable laws, Trustpilot terms, and privacy rules.
Related Actors
Support
For issues, feature requests, or custom actor work, use the Issues tab on the actor page or contact the developer through Apify.
Legal Notice
This actor is designed for legitimate data collection from publicly available Trustpilot pages. Users are responsible for using the data responsibly and complying with applicable laws, Trustpilot terms, and privacy rules.
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Fields
urlsTrustpilot company review URLs or plain company domains. Examples: https://www.trustpilot.com/review/apify.com or apify.com.
results_wantedMaximum number of reviews to save across all URLs. Values above about 200 are collected automatically across multiple review views.
max_pagesMaximum review pages to request per filter view. Trustpilot serves at most 10 anonymous pages (about 200 reviews) per filter view.
sortTrustpilot review sort order.
languagesUse all languages or a Trustpilot language code such as en, de, fr, es, or it.
starsOptional star rating filter from 1 to 5.
verifiedReturn only verified reviews when enabled.
proxyConfigurationUses no proxy by default. Choose Apify Proxy or provide custom proxy URLs for reliable extraction at scale.
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console → Settings → API access). The Actor ID is shahidirfan/trustpilot-reviews-scraper (or shahidirfan~trustpilot-reviews-scraper in URLs).
JavaScript · apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"helloWorld": 123
};
const run = await client.actor('shahidirfan/trustpilot-reviews-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python · apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"helloWorld": 123
}
run = client.actor("shahidirfan/trustpilot-reviews-scraper").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP · curl
curl -X POST "https://bytewells.com/api/v2/acts/shahidirfan~trustpilot-reviews-scraper/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"helloWorld":123}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.

AliExpress Scraper
Shahid Irfan · @shahidirfan
Instantly extract product details, pricing, reviews, and seller information from AliExpress. Perfect for research, price monitoring, and market analysis.
E-commerceAutomationDeveloper tools$19.99/mo1-day free trial
CarGurus Scraper 🚗
Shahid Irfan · @shahidirfan
Extract car listings from CarGurus with prices, makes, models, mileage, VINs, vehicle specifications, dealer details, locations, images, and listing URLs.
Developer toolsAutomationLead generation$19.99/mo1-day free trial
Clutch.co Scraper
Shahid Irfan · @shahidirfan
Introducing the Clutch.co Scraper, a lightweight actor for extracting company profiles, client reviews, and ratings from Clutch.co. Quick and effective.
Developer toolsLead generationAutomation$29.99/mo1-day free trial
G2 Product Reviews Scraper ⭐
Shahid Irfan · @shahidirfan
Scrape G2 reviews, software ratings, SaaS product reviews, customer feedback, pros, cons, reviewer insights, and product details. Extract structured G2 reviews.
Lead generationDeveloper toolsAutomation$29/mo1-day free trial
Tokopedia Search Scraper
Shahid Irfan · @shahidirfan
Effortlessly scrape Tokopedia search results. Extract product data, prices, ratings & reviews in bulk. Perfect for market research, price tracking.
E-commerceDeveloper toolsAutomation$19.99/mo1-day free trial
Tripadvisor Hotels Scraper
Shahid Irfan · @shahidirfan
Extract hotel data from TripAdvisor instantly. Scrape reviews, ratings, prices, amenities & location details at scale. Perfect for travel startups.
TravelDeveloper toolsAutomation$29/mo1-day free trial