Trustpilot Reviews Scraper - Company Reviews with Replies
Pricing
$0.30 / 1,000 review returneds
Trustpilot Reviews Scraper - Company Reviews with Replies
Scrape Trustpilot reviews for any company by domain: rating, title, text, dates, verification, reviewer country and the company reply as clean JSON. Newest first, filter by stars and language. $0.30 per 1,000 reviews, no login, no proxy setup.
Pricing
$0.30 / 1,000 review returneds
Rating
0.0
(0)
Developer
DataSignals Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Trustpilot Reviews Scraper: every review with the company reply, by domain
Get the Trustpilot reviews of any company as clean JSON: rating, title, text, dates, verification, reviewer country and the company reply. Type the company domain or paste its Trustpilot URL, and run. Built for support, product and sales teams that want the complaints and the replies in one table, newest first or most relevant, filtered by star rating and language.
No login, no API key, no proxy setup. Trustpilot checks every visitor's browser, and that check is handled for you.
Run it with the default input to see it work. It returns the latest 100 reviews of apify.com, newest first.
What you get
One row per review:
| field | meaning |
|---|---|
review_id | Trustpilot's id for the review, stable across runs |
company_domain | The domain Trustpilot lists the company under |
company_name | Display name of the company |
company_trust_score | The company's TrustScore, 1 to 5 |
company_review_count | Total number of reviews the company has |
rating | Stars, 1 to 5 |
title | Review headline |
text | Full review text |
language | Language code of the review |
published_at | When the review was published, ISO 8601 |
experienced_at | Date of the experience the review is about |
updated_at | When the reviewer last edited the review, if ever |
is_verified | True when Trustpilot marks the review as verified |
review_source | How the review came in, for example Organic or an invitation |
likes | Number of people who found the review useful |
reviewer_name | Public display name of the reviewer |
reviewer_country | Two-letter country code of the reviewer |
reviewer_review_count | How many reviews this reviewer has written on Trustpilot |
reply_text | The company's public reply, if any |
reply_published_at | When the company replied |
url | Link to the review on Trustpilot |
Example row:
{"review_id": "6abee55939f8a3919067e9c8","company_domain": "apify.com","company_name": "Apify","company_trust_score": 4.7,"company_review_count": 769,"rating": 5,"title": "Smooth and simple","text": "Easy to set up and the support answered within a day.","language": "en","published_at": "2026-10-02T00:57:29.000Z","experienced_at": "2026-09-28T00:00:00.000Z","updated_at": null,"is_verified": false,"review_source": "Organic","likes": 2,"reviewer_name": "Jane D.","reviewer_country": "US","reviewer_review_count": 3,"reply_text": "Thank you for the feedback.","reply_published_at": "2026-10-03T09:12:00.000Z","url": "https://www.trustpilot.com/reviews/6abee55939f8a3919067e9c8"}
How to scrape Trustpilot reviews with this Actor
- Open the Actor in the Apify Console and click Try for free. The input form is prefilled with apify.com.
- Replace the domain in
companieswith the companies you want, one per line. Use the domain exactly as Trustpilot shows it in the URL, or paste the Trustpilot page URL. - Set
maxReviewsPerCompany, picksort, and optionally limitstarsandlanguage. - Click Start. Rows appear in the Dataset tab while the run is going. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
- From code:
POST https://api.apify.com/v2/acts/datasignalslab~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKENwith the same JSON input as the body.
Input
| field | what it does |
|---|---|
companies | company domains as Trustpilot lists them, for example apify.com or www.booking.com, or Trustpilot URLs, one per line |
maxReviewsPerCompany | cap per company, default 100, max 1,000 |
sort | recency (default, newest first) or relevance |
stars | optional, only these ratings, for example 1 and 2 for complaints |
language | language code such as en or de, default all |
Minimal input:
{ "companies": ["apify.com", "www.booking.com"], "maxReviewsPerCompany": 200 }
Only the complaints, newest first:
{ "companies": ["www.booking.com"], "stars": ["1", "2"], "maxReviewsPerCompany": 400 }
German reviews of three competitors, most relevant first:
{ "companies": ["www.booking.com", "www.expedia.de", "www.trivago.de"], "language": "de", "sort": "relevance", "maxReviewsPerCompany": 100 }
Pricing
Pay per review returned: $0.30 per 1,000 reviews, charged only for rows that land in the dataset. No start fee, no monthly fee. A company that is not found costs nothing. Apify's free monthly credit covers thousands of reviews, so you can evaluate without paying.
Example: 20 companies at 200 reviews each is 4,000 reviews, which costs $1.20. A daily schedule that picks up the 50 newest reviews of 10 companies is 500 reviews a day, which is about $4.50 a month.
More from DataSignals Lab
This Actor is one of the pay-per-result data Actors of DataSignals Lab: job listings per ATS platform and job board, app and company reviews, YouTube comments and transcripts, website contacts and tech stacks. Every Actor returns the same clean JSON style and charges only for rows that land in the dataset, so you can combine feeds without remapping fields. All Actors and prices are listed on datasignalslab.com.
Use cases
- Support and product teams: a weekly table of 1 and 2 star reviews per country, with
reply_textempty where nobody answered yet. - Review monitoring: a scheduled run with
sortset torecencythat feeds new reviews into Slack or a sheet, withis_verifiedandreview_sourceto separate invited reviews from organic ones. - Competitive intelligence: the reviews of three competitors side by side, with
company_trust_scoreandcompany_review_countfor context. - Sales teams: companies whose customers complain about a problem you solve, found by filtering
textof 1 star reviews. - Researchers and NLP teams: labelled text at scale, the star rating is the label,
languageandreviewer_countryare the splits. - AI agents that answer "what are customers of this company unhappy about" from live data through MCP.
Need app reviews instead? See App Store Reviews Scraper and Google Play Reviews Scraper.
Trustpilot API alternative: how it compares
- Trustpilot's official API is meant for businesses that manage their own profile and requires an API key. This Actor reads the public review pages of any company, no account required.
- Other scrapers in the store offer a date window or a published-after cursor for incremental sync. This Actor has no date filter. The equivalent workflow is a schedule with
sortset torecencyand a de-duplication onreview_id, described in the FAQ below. - The company reply, the reply date, the review source, verification and the reviewer's country and review count are included in every row. Many alternatives return rating and text only.
- The price is $0.30 per 1,000 reviews with no start fee per run. Several alternatives charge a start fee per run on top of a per-review price, which makes small scheduled runs expensive.
Limits
- Trustpilot shows 200 reviews per filter without a login. Up to 200 reviews per company you get them in one list. Above 200 the Actor collects per star rating, 200 each, so at most 1,000 per company and fewer if a company has few reviews for some ratings.
- Above 200 the rows come grouped per star rating, not as one list sorted by date. Sort them on
published_atafter export if you need one timeline. - No date window and no published-after cursor. Use the schedule plus
review_idworkflow from the FAQ. - No filter for verified only or replied only. Both are fields in every row, so filter
is_verifiedorreply_textafter export or in your integration. - Use the domain exactly as Trustpilot lists it. Some companies are listed with
www., others without. When in doubt, paste the Trustpilot URL. - Reviewer data is limited to what Trustpilot shows publicly: display name, country and review count. No email addresses or profile links.
- Trustpilot checks the browser of every visitor. The Actor passes that check with a small browser session and then reads the pages directly. When a company page is refused, the Actor logs it, charges nothing for that company and continues with the next one.
FAQ
Is it legal to scrape Trustpilot reviews?
The Actor only reads pages that Trustpilot shows to any visitor without a login, and it collects nothing beyond what is public: the review, the rating, the reply and the public display name of the reviewer. Respect Trustpilot's terms of use and the privacy laws that apply to you, and do not use the reviewer names for anything beyond the review itself. If you are unsure about your use case, ask a lawyer.
Do I need an API key or login to scrape Trustpilot?
No. There is no Trustpilot account, no API key and no proxy setup. Trustpilot's browser check is handled inside the Actor.
How do I keep a Trustpilot review feed up to date without a cursor?
Schedule the Actor daily or hourly with sort set to recency and maxReviewsPerCompany a little above the number of reviews the company receives per interval. Store the rows in a sheet or database and skip any review_id you already have. The id is stable across runs, so the result is the same as an incremental sync.
How much do 10,000 Trustpilot reviews cost?
$3.00. There is no start fee and no charge for companies that are not found. At 1,000 reviews per company that is ten large companies in one run.
Can I scrape only verified Trustpilot reviews, or only reviews with a reply?
Not as an input filter. Every row has is_verified, review_source, reply_text and reply_published_at, so filter on those fields after export, in Make, Zapier or n8n, or in the query that reads your dataset.
Can an AI agent (MCP) call the Trustpilot Reviews Scraper?
Yes. Add the Apify MCP server to Claude, ChatGPT or another agent and the Actor shows up as a tool. The agent passes the company domain and gets the rows back as JSON.
What happens when Trustpilot blocks a request?
The Actor first fetches the browser-check cookie through Apify's datacenter proxy, and switches to a residential proxy only when that fails. Pages that cannot be read directly are fetched in the browser as a fallback. A company page that stays refused is logged and costs nothing. If a whole run returns nothing, check the log and run it again later.
How often is the data updated?
Every run reads Trustpilot live. There is no cache, so what you get is what Trustpilot shows at that moment, including replies added since the review was written.
Integrations
- Apify API, including
run-sync-get-dataset-itemsfor one call that returns the rows. - Schedules and webhooks from the Apify Console, for feeds and for triggering your own processing when a run finishes.
- Apify MCP server, so Claude, ChatGPT and other agents call this Actor as a tool.
- Make, Zapier, n8n and Google Sheets through the Apify integrations, or CSV and Excel export from the Dataset tab.
Support
Use the Issues tab on this page, or email support@datasignalslab.com. You get an answer within one working day. Built and maintained by DataSignals Lab.
Changelog
- 2026-10: README rewritten with a step-by-step guide, an incremental sync workflow, honest limits and a FAQ. No change to the output fields or the price.
- 2026-10: First release. Reviews per company with reply, verification, review source and reviewer country, up to 1,000 per company through star filters. Daily health check in place.