Trustpilot Reviews Scraper
Pricing
from $0.30 / 1,000 results
Trustpilot Reviews Scraper
Collect Trustpilot reviews with filters and automatic pagination.
Pricing
from $0.30 / 1,000 results
Rating
0.0
(0)
Developer
API ninja
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
7
Monthly active users
13 hours ago
Last modified
Categories
Share
What is Trustpilot Reviews Scraper?
Trustpilot Reviews Scraper collects customer reviews for a list of company website domains. Extract review text, star ratings, publication dates, reviewer profiles, and company replies to analyze customer feedback, compare competitors, or monitor your brand.
To try it, enter a domain such as coolify.io, choose how many reviews to collect, and start the Actor. You can add several companies to the same run; each company is processed in order and its reviews are labeled with the original input domain.
What can this Actor do?
- Collect reviews from multiple companies in one run, with a separate result limit for each company.
- Filter customer feedback by star rating, language, keyword, publication date, review verification, or company reply.
- Choose recent or detailed reviews and automatically paginate through matching results.
- Resolve domain mismatches by trying the
www.version and the domain returned by company details. - Preserve original review data, including nested reviewer information, null values, and additional API fields.
- Browse readable dataset views with formatted dates, clickable review and profile links, and reviewer columns.
- Avoid duplicate reviews within a run and save progress for resumed runs.
On Apify, you can inspect run logs, access results through the API, schedule recurring runs, and connect the Actor to your existing workflows.
How to scrape Trustpilot reviews
- Open the Actor in Apify Console and go to the Input tab.
- Add one or more Company domains, such as
coolify.ioandgoogle.com. Enter domains withouthttps://or a path. - Set Maximum reviews. This limit applies to each company separately. Start with 20 reviews per company to check the output.
- Apply any filters you need. Leave optional filters empty or disabled to include all matching reviews.
- Click Start and follow the run in the Log tab.
- Open Output to browse the results. Use Apify's dataset export controls or API to bring the data into your analysis tools.
For repeatable monitoring, save your configuration as a task and schedule it. A new scheduled run collects a fresh dataset; duplicate removal applies within a run, so use review_id to identify reviews already collected in earlier runs.
Input
Collect reviews from several companies
{"domain": ["coolify.io", "google.com"],"maxResults": 100,"parseAll": false}
This input collects up to 100 reviews per company, for up to 200 reviews in total. The actual count depends on available matching reviews.
Focus on recent negative feedback
{"domain": ["coolify.io", "google.com"],"maxResults": 50,"rating_is": ["1", "2"],"lang": "en","date_range": "last_30_days","sort_by": "most_recent"}
This configuration requests up to 50 English reviews rated one or two stars per company, published within the last 30 days.
Input settings
| Field | Default | What it does |
|---|---|---|
domain | Required | List of company website domains, such as ["coolify.io", "google.com"]. |
maxResults | 100 | Maximum reviews to save per company. Must be a positive integer. |
parseAll | false | Collect all available matching reviews for every company. Overrides maxResults. |
verified_only | false | When enabled, include only verified reviews. |
has_company_reply | false | When enabled, include only reviews with a company reply. |
lang | "" | Review language code, such as en or fr. Empty means all languages. |
query | "" | Keyword used to filter review content. Empty means no keyword filter. |
rating_is | [] | Select one or more star ratings, such as ["1", "2"] or ["4", "5"]. Empty means all ratings. |
date_range | "" | Publication date filter: last_12_months, last_6_months, last_3_months, or last_30_days. Empty means all dates. |
sort_by | most_recent | Choose most_recent or detailed_reviews. |
locale | en-US | Trustpilot localization. Select a supported locale in the input form. |
All companies use the same filters. lang controls the language of the reviews; locale controls Trustpilot localization and does not translate review content. Date filtering applies to the publication date, rather than the experience date.
Domains are trimmed and converted to lowercase. Repeated entries are removed while preserving input order. Use an array even when collecting reviews for just one company: "domain": ["coolify.io"].
Output
The Actor saves one dataset item per review. Each item contains the original review fields returned by the API, plus two fields that identify your request:
inputDomain: the original normalized company domain you supplied, before any domain fallback.inputQuery: your keyword filter, or an empty string when no keyword was supplied.
Review content, timestamps, line breaks, null values, and the nested reviewer object are preserved. Additional API fields are retained too. Pagination metadata and page-level rating or language distributions are not included in review items.
Example review item
The following example corresponds to the coolify.io domain in the first input example. Fields and their availability depend on the API response.
{"review_id": "6abd26c58fda06cb8e41c08f","review_link": "https://www.trustpilot.com/reviews/6abd26c58fda06cb8e41c08f","title": "Super experience sur coolify","text": "Super experience sur coolify, très bonne alternative opensource a vercel. Surtout en self hosted !","rating": 5,"language": "fr","is_verified": false,"is_pending": false,"source": "Organic","published_at_date": "2026-09-30T17:12:05.000Z","experience_date": "2026-03-05T00:00:00.000Z","likes_count": 0,"company_reply": null,"company_reply_date": null,"reviewer": {"id": "6abd26b91b99029a2b86071c","profile_link": "https://www.trustpilot.com/users/6abd26b91b99029a2b86071c","name": "Tyler","country_code": "FR","is_verified": false,"avatar_url": "https://user-images.trustpilot.com/6abd26b91b99029a2b86071c/73x73.png","total_reviews": 1,"reviews_on_this_company": 1},"inputDomain": "coolify.io","inputQuery": ""}
Dataset views
| View | Best for |
|---|---|
| All fields (normalized) | Default view: all documented fields, with nested reviewer details expanded into columns. |
| Reviews | Reading review text, ratings, dates, language, and review verification. |
| Reviewers | Browsing reviewer names, countries, avatars, profile links, and review activity. |
| Company replies | Reading customer feedback alongside company replies and reply dates. |
Normalization affects the table presentation. Stored JSON keeps the original nested structure. For complete review objects, use the dataset's JSON export or the results API link. Apify also provides dataset export options for formats such as CSV and Excel.
Pricing
How much does scraping Trustpilot reviews cost?
Starting October 12, 2026, this Actor uses pay-per-event pricing: a $0.01 Actor start fee, plus a charge for each review saved to the dataset. Platform usage costs are included; you do not pay separate platform usage costs for this Actor.
| Pricing tier | Price per 1,000 reviews | Actor start fee |
|---|---|---|
| No discount | $3.00 | $0.01 |
| Bronze | $0.30 | $0.01 |
| Silver | $0.30 | $0.01 |
| Gold | $0.30 | $0.01 |
Each saved review is one result event (apify-default-dataset-item). The start fee is charged through the apify-actor-start event. Review charges apply to the actual number of results saved, rather than the number requested; the start fee applies even when a run returns no reviews.
Example costs
The examples below include one Actor start and the stated number of saved reviews, across any number of input domains.
| Reviews saved in one run | No discount | Bronze, Silver, or Gold |
|---|---|---|
| 100 | $0.31 | $0.04 |
| 1,000 | $3.01 | $0.31 |
| 10,000 | $30.01 | $3.01 |
To estimate the maximum number of results, multiply the number of unique input domains by maxResults. For example, 10 domains with a limit of 100 reviews can produce up to 1,000 reviews: $3.01 without a discount, or $0.31 with a Bronze, Silver, or Gold discount, including one start fee. The actual count can be lower if fewer reviews match your filters.
Keep Parse all disabled when you want a fixed review limit per company. Enabling it removes that limit and can increase the number of billed results. Check the Actor's Pricing tab for the current rates and the discount that applies to your account.
API and integrations
Use the Actor as a Trustpilot reviews API
Open the Actor's API tab for its ID and ready-to-use request examples. Send the same JSON input you use in Console and retrieve the resulting dataset from your application.
For short jobs, Apify provides an endpoint to run an Actor and return its dataset items. For larger collections, start an asynchronous run and retrieve the dataset after it finishes. You can use the REST API or Apify's JavaScript and Python clients.
Automate review monitoring
Use Apify integrations with Make, Zapier, or n8n to trigger runs and send results to the next step in your workflow. You can also use webhooks to notify your application when a run finishes.
Typical workflows include tracking recent feedback for several brands, collecting low-rated reviews for customer support analysis, and comparing how companies respond to customers. Sentiment analysis and summaries can be added downstream using the original review text.
FAQ and support
Why does a domain return “Not Found”?
The reviews API may recognize a company under a different domain. The Actor first tries your supplied domain, then its www. version when applicable. If reviews are still not found, it requests company details and tries the response's top-level domain.
If all attempts fail, check that the company has a Trustpilot profile and that you entered its website domain correctly. An unresolved request ends the run; reviews saved before the failure remain in the dataset. Inspect the run log to see where collection stopped.
Why did I receive fewer reviews than requested?
maxResults is a maximum per company. A company may have fewer reviews, or your filters may match only a small subset. Try removing keyword, date, language, or verification filters to broaden the results. A company with no matching reviews does not prevent collection from continuing to the next company.
Are verified reviews and verified reviewers the same?
They are separate fields. is_verified describes the review, while reviewer.is_verified describes the reviewer profile. The Verified reviews only filter applies to reviews.
Can an interrupted run resume?
The Actor saves the current company, pagination, collected review IDs, and resolved domain in a checkpoint. Resuming a run with its existing storage and unchanged input continues from the saved progress. A new run with new storage starts a fresh collection.
What should I do if a run fails?
Check the Log tab for the error and inspect any partial output. The Actor retries network and other request failures up to three times with one-second delays. Persistent authentication, rate-limit, or upstream errors can still stop a run.
To report an issue, use the Actor's Issues tab. Include the affected domain, your filter settings, the run ID, and what you expected to receive. Keep API keys and other credentials out of the report.