Trustpilot Reviews Scraper - Company Reviews with Replies avatar

Trustpilot Reviews Scraper - Company Reviews with Replies

Pricing

$0.30 / 1,000 review returneds

Go to Apify Store
Trustpilot Reviews Scraper - Company Reviews with Replies

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

DataSignals Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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:

fieldmeaning
review_idTrustpilot's id for the review, stable across runs
company_domainThe domain Trustpilot lists the company under
company_nameDisplay name of the company
company_trust_scoreThe company's TrustScore, 1 to 5
company_review_countTotal number of reviews the company has
ratingStars, 1 to 5
titleReview headline
textFull review text
languageLanguage code of the review
published_atWhen the review was published, ISO 8601
experienced_atDate of the experience the review is about
updated_atWhen the reviewer last edited the review, if ever
is_verifiedTrue when Trustpilot marks the review as verified
review_sourceHow the review came in, for example Organic or an invitation
likesNumber of people who found the review useful
reviewer_namePublic display name of the reviewer
reviewer_countryTwo-letter country code of the reviewer
reviewer_review_countHow many reviews this reviewer has written on Trustpilot
reply_textThe company's public reply, if any
reply_published_atWhen the company replied
urlLink 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

  1. Open the Actor in the Apify Console and click Try for free. The input form is prefilled with apify.com.
  2. Replace the domain in companies with the companies you want, one per line. Use the domain exactly as Trustpilot shows it in the URL, or paste the Trustpilot page URL.
  3. Set maxReviewsPerCompany, pick sort, and optionally limit stars and language.
  4. 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.
  5. From code: POST https://api.apify.com/v2/acts/datasignalslab~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN with the same JSON input as the body.

Input

fieldwhat it does
companiescompany domains as Trustpilot lists them, for example apify.com or www.booking.com, or Trustpilot URLs, one per line
maxReviewsPerCompanycap per company, default 100, max 1,000
sortrecency (default, newest first) or relevance
starsoptional, only these ratings, for example 1 and 2 for complaints
languagelanguage 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_text empty where nobody answered yet.
  • Review monitoring: a scheduled run with sort set to recency that feeds new reviews into Slack or a sheet, with is_verified and review_source to separate invited reviews from organic ones.
  • Competitive intelligence: the reviews of three competitors side by side, with company_trust_score and company_review_count for context.
  • Sales teams: companies whose customers complain about a problem you solve, found by filtering text of 1 star reviews.
  • Researchers and NLP teams: labelled text at scale, the star rating is the label, language and reviewer_country are 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 sort set to recency and a de-duplication on review_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_at after export if you need one timeline.
  • No date window and no published-after cursor. Use the schedule plus review_id workflow from the FAQ.
  • No filter for verified only or replied only. Both are fields in every row, so filter is_verified or reply_text after 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

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-items for 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.