ActorsComparePricingFAQAboutBrowse actors on Apify
Trustpilot Reviews Scraper icon

Shops, reviews and apps

Trustpilot Reviews Scraper: Ratings, Replies and Insights

Trustpilot Reviews Scraper is an Apify actor (API) by CheapAPI Labs. Reviews with rating, text, date and company replies, filtered by stars, date or language. It costs $0.22 per 1,000 reviews on the Apify Free plan and $0.11 on Gold, plus $0.0035 per company with reviews, billed through your Apify account with no API key.

Compared with the most used Trustpilot actor (about 2,800 users): 1,000 reviews from 5 companies on the Free plan costs $0.2375 here and $0.80 there (Apify Store listing prices, checked September 2026). Apify platform usage is billed on top here.

Our prices updated 30 October 2026; competitor prices as checked in the comparison. 5 Apify users have run this actor (Apify Store count, 30 October 2026).

Free plan$0.22per 1,000 reviews
Gold plan$0.11per 1,000 reviews
API keyNot neededbilled by Apify

What does Trustpilot Reviews Scraper return?

Export Trustpilot reviews for any company by domain, Trustpilot link or keyword: star rating, title, full text, date, language, verified flag and the company's reply, as JSON, CSV or Excel, from $0.11 per 1,000 reviews.

Limit: at most 400 reviews per company per run (200 by default, 400 with Get more than 200 reviews). This is a fixed limit of the data source behind this Actor, not a setting we can raise. For the complete history of a company with thousands of reviews, use an Actor that advertises unlimited reviews (3.4 to 8.4× the price on the Free plan for 1,000 reviews, see Compared with alternatives), or schedule this Actor with Only new reviews to build the history going forward.

One example row from a real run, shortened:

{
  "id": "3f9f139b9c4370ce",
  "input": "abetter.bid",
  "searchKeyword": null,
  "companyDomain": "abetter.bid",
  "companyName": "A Better Bid",
  "companyTrustpilotUrl": "https://www.trustpilot.com/review/abetter.bid",
  "companyWebsite": "https://abetter.bid",
  "companyLocation": "1201 N. Orange Street  Suite #7258 Wilmington 19801 US",
  "companyOverallRating": 2.9,
  "companyReviewsCount": 124,
  "reviewUrl": "https://www.trustpilot.com/reviews/6a99bf97d9fe5fdcca9099e8",
  "reviewId": "6a99bf97d9fe5fdcca9099e8",
  "rating": 5,
  "title": "Smooth transitions.",
  "text": "Smooth, seamless process and transactions. Answer all concerns and questions. Great business. ",
  "language": "en",
  "publishedAt": "2026-09-03T20:42:31.000Z",
  "verified": false,
  "images": [],
  "position": 1,
  "hasCompanyReply": true,
  "companyReplyText": "Thank you so much for your positive feedback!",
  "companyReplyDate": "2026-09-09T14:46:32.000Z",
  "companyReplies": [
    {
      "title": "Reply from A Better Bid",
      "text": "Thank you so much for your positive feedback!",
      "date": "2026-09-09T14:46:32.000Z"
    }
  ],
  "scrapedAt": "2026-09-28T10:07:40.832Z"
}

Which fields do you get?

One row per review (examples from a real run):

Field Type Example
id string 3f9f139b9c4370ce (stable: same review → same ID in every run)
input string abetter.bid
searchKeyword string | null car insurance (keyword search only, otherwise null)
companyDomain string abetter.bid
companyName string A Better Bid
companyTrustpilotUrl string https://www.trustpilot.com/review/abetter.bid
companyWebsite string | null https://abetter.bid (website from keyword search; otherwise derived from the Trustpilot domain)
companyLocation string | null 1201 N. Orange Street Suite #7258 Wilmington 19801 US
companyOverallRating number 2.9 (TrustScore)
companyReviewsCount integer 124
reviewId string 6a99bf97d9fe5fdcca9099e8
reviewUrl string https://www.trustpilot.com/reviews/6a99bf97d9fe5fdcca9099e8
rating number 5
title string Smooth transitions.
text string Smooth, seamless process and transactions…
language string en
publishedAt string (ISO 8601) 2026-09-03T20:42:31.000Z
verified boolean false
images string[] []
position integer 1 (position in the sort order it was collected in)
reviewerName string (only with Include reviewer details) I WIN
reviewerProfileUrl string (only with Include reviewer details) https://www.trustpilot.com/users/6a99bf8e186db6423b36b225
reviewerAvatarUrl string | null (only with Include reviewer details) https://user-images.trustpilot.com/…/73x73.png
reviewerCountry string | null (only with Include reviewer details) US
reviewerReviewsCount integer | null (only with Include reviewer details) 1 (helps spot one off accounts)
hasCompanyReply boolean true
companyReplyText string | null Thank you so much for your positive feedback!
companyReplyDate string | null 2026-09-09T14:46:32.000Z
companyReplies object[] [{ "title", "text", "date" }]
scrapedAt string (ISO 8601) 2026-09-28T10:07:40.832Z

companyReplyText, companyReplyDate and companyReplies are left out when Include company replies is off. The five reviewer… fields are included only when Include reviewer details is on (off by default).

In Only list companies mode each row is a company: id, keyword, rank, companyName, companyDomain, companyWebsite, companyTrustpilotUrl, rating, reviewsCount, scrapedAt.

The key value store also holds INSIGHTS (free, per company: average rating, 1 to 5 star distribution, monthly rating trend, verified share, reply share, languages, top words in positive and negative reviews) and RUN_SUMMARY (counts, skipped inputs and why, errors, whether the budget stopped the run).

How much does Trustpilot Reviews Scraper cost?

You pay per event, through your Apify account. Main price: $0.22 per 1,000 reviews on the Apify Free plan and $0.11 on Gold, plus $0.0035 per company with reviews. Every event and plan:

Price per event in USD by Apify plan. Platinum and Diamond pay the Gold price. Apify platform usage: billed separately by Apify.
EventFreeBronzeSilverGold
ReviewOne Trustpilot review delivered to the dataset (rating, title, text, date, language, verified flag, reviewer, company reply).$0.00022$0.00022$0.00022$0.00011
Company with reviewsCharged once per company for which at least one review was delivered, and once more when "Get more than 200 reviews" is on and its second request added at least one new review.$0.0035$0.0035$0.0035$0.0035
Keyword searchCharged once per keyword in "Find companies by keyword" that found at least one company. Not charged for companies you enter directly.$0.003$0.003$0.003$0.003
Company listedOne company row (name, domain, website, rating, review count) delivered in "Only list companies" mode.$0.0003$0.0003$0.0003$0.0002
Page checked without enough resultsOnly charged when a request's delivered results don't cover the pages it had to read: filters or "Only new reviews" leave (almost) nothing, a company has fewer reviews than requested, a keyword finds no company, the second request of "Get more than 200 reviews" adds nothing, or a request was sent but got no answer. At most one per page read (20 reviews or 10 search results).$0.0022$0.0022$0.0022$0.0022

How do I call Trustpilot Reviews Scraper API from code?

Every run is one HTTP request to the Apify API with your Apify token; the input below is the actor's own example. The synchronous endpoint returns the rows in the response for runs up to 300 seconds; for longer runs start a run and fetch its dataset.

curl -X POST "https://api.apify.com/v2/acts/cheapapi~trustpilot-reviews-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
  -d '{"companies":["www.airbnb.com"],"maxReviewsPerCompany":100,"sortBy":"recency","processingSpeed":"auto"}'

With the JavaScript client:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cheapapi/trustpilot-reviews-scraper').call({
  "companies": [
    "www.airbnb.com"
  ],
  "maxReviewsPerCompany": 100,
  "sortBy": "recency",
  "processingSpeed": "auto"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

How does Trustpilot Reviews Scraper compare with alternatives?

Typical run: 1,000 reviews from 5 companies. Prices from public Apify Store listings, checked September 2026 (start fees included; optional add on events excluded, e.g. the most used Actor also offers company metadata at $0.01 per company and AI insights at $0.02 to $0.05 per company). The other Actors include platform usage in their price; for this Actor Apify platform usage is billed separately by Apify (at the default 256 MB a small run typically uses about $0.001 to $0.003), so add about $0.001 to $0.003 to its row.

Actor Free plan Gold plan Start fee Platform usage Reviews per company
Most used Trustpilot Actor (~2,800 users) $0.80 $0.525 ✓ ($0.025 to $0.05) Included No cap (as advertised)
Second most used (~2,300 users) $0.58 $0.305 ($0.205 Platinum, $0.145 Diamond) ✓ ($0.005) Included Not stated
Cheapest flat rate Actor ($0.25 / 1,000) $0.255 $0.255 ✓ ($0.005) Included More than 200 (as advertised)
"Unlimited reviews" Actor $2.00 ($0.40 on Bronze) $0.30 ✓ ($0.0005) Included Unlimited (as advertised)
This Actor $0.2375 $0.1275 ✗ Billed separately (~$0.001 to $0.003) 400 (fixed maximum)

What the table means:

  • For up to 400 reviews per company, this Actor is the lowest priced option in the table on every plan for this run (on Platinum and Diamond our Gold price of $0.1275 applies), also after adding its platform usage, and adds free INSIGHTS, keyword search, company lists and an Only new reviews mode that does not charge repeats.
  • Need more than 400 reviews of one company? This Actor cannot deliver them. Actors advertising "no cap" / "unlimited" (we have not verified these claims) may go deeper, but the same 1,000 reviews cost $0.80 to $2.00 on the Free plan ($0.30 to $0.525 on Gold). Pick one of them for one off full history exports of large companies.
  • Prices for other run sizes differ; start fees weigh more on small runs (this Actor has none).

What is it used for?

  • Reputation monitoring: schedule a daily run with Only new reviews and alert your team about new 1 to 2 star reviews.
  • Competitor benchmarking: compare TrustScore, rating trend and reply rate across dozens of competitors in one run.
  • Customer experience research: collect negative reviews (maxRating: 2) and group complaints with the INSIGHTS top words.
  • AI and sentiment pipelines: feed clean review text with language codes into an LLM or a sentiment model.
  • Lead generation: list companies in a category (car insurance, web hosting) with their rating and review count, then target low rated ones.
  • Due diligence: check how a supplier or acquisition target treats unhappy customers (reply rate, reply text).

What is not included?

  • More than 400 reviews per company, a fixed limit of the data source (see above). Workaround: schedule runs with Only new reviews to keep a complete history from today on.
  • Private business account data (invitation statistics, reviewer emails, TrustBox widgets), only public data is collected.
  • Review sites other than Trustpilot (G2, Capterra, Yelp), not covered. For Google Maps reviews and places, use Google Maps Scraper Plus.
  • Sentiment scores per review, export the text to your own model; INSIGHTS gives rating distribution and top words for free.
  • Company rankings in Google search, use Google SERP Scraper; for how brands appear in AI answers, use AI Search Visibility Tracker.

What are the limits?

  • At most 200 reviews per company by default and 400 with Get more than 200 reviews, a fixed limit of the data source; the full history of very large companies (thousands of reviews) is not available in one run.
  • With Get more than 200 reviews, the number of extra reviews depends on how much the newest and most relevant orders overlap, so 400 distinct reviews are not guaranteed.
  • Star, verified, language and date filters are applied to the reviews read, not by Trustpilot, so filtered runs can return fewer rows.
  • Keyword search returns up to 140 companies per keyword; generic keywords can match unrelated companies.
  • Reviewer country, photos and company replies are present only when Trustpilot shows them.
  • Companies without a Trustpilot page return no reviews; they are not charged as companies or reviews, but the pages read cost "Page checked" fees (see Pricing).

Questions about Trustpilot Reviews Scraper

Is there a limit on the Apify Free plan, and is platform usage included?

On the Free plan you can use up to $0.25 of this Actor's results per calendar month, enough to try it (Apify pays developers nothing for Free plan usage while our data costs are real). Runs that reach the allowance stop cleanly and keep everything collected so far; the allowance resets on the 1st of the month; paid Apify plans have no limit. Apify platform usage is not included: it is billed separately by Apify (at the default 256 MB a small run typically uses about $0.001 to $0.003).

Is it legal to scrape Trustpilot reviews?

The Actor collects only publicly visible reviews, the same data anyone sees without logging in. Reviewer names, countries and profile links are left out unless you turn on Include reviewer details; review texts can still contain personal data, so make sure your use complies with GDPR, CCPA and Trustpilot's terms, e.g. analyze in aggregate and don't contact reviewers. If unsure, ask a lawyer.

How fresh is the data?

Every run collects reviews from Trustpilot at run time; scrapedAt shows when.

Why did I get fewer reviews than I asked for?

The company has fewer reviews, your star/verified/language/date filters removed some (filters work on the reviews read, see Advanced options), Only new reviews skipped ones delivered before, or your maximum cost per run was reached. RUN_SUMMARY lists skipped companies with the reason.

How many reviews can I get per company?

Up to 200 by default and up to 400 with Get more than 200 reviews (newest and most relevant reviews combined, duplicates removed). 400 is a fixed limit of the data source; for complete histories of very large companies see Compared with alternatives. To build a company's history over time, schedule the Actor with Only new reviews.

Which company identifier do I use?

The part after /review/ in the Trustpilot link, for Airbnb that is www.airbnb.com; for many companies it is the domain without www. Pasting the whole Trustpilot link always works.

How do I control my budget, and why was I charged for "Page checked"?

Set Maximum cost per run; the Actor never charges beyond it, and requests rejected before any data was read are free. Each page of 20 reviews (or 10 search results) the Actor reads costs money, even when nothing is delivered. When a company delivered too few reviews to pay for the pages read, filters matched nothing, Only new reviews found nothing new, the company has fewer reviews than your maximum, the extra request of Get more than 200 reviews added nothing, a keyword found no company, or a request got no answer, the difference is charged as "Page checked" events at $0.0022 each, never more than one per page read. RUN_SUMMARY shows pagesCheckedCharged. To keep it low, set Max reviews per company close to what you expect to get (e.g. 20 for daily monitoring).

Can I monitor companies automatically?

Yes, create a schedule with Only new reviews on. Each run delivers (and charges as reviews) only reviews that earlier runs have not delivered; a company with nothing new costs a small "Page checked" fee ($0.0022 with Max reviews per company 20); add a webhook or a Make/Zapier scenario for alerts.

Which export formats are available?

JSON, JSONL, CSV, Excel, XML and HTML from the Output tab or the API, plus Google Sheets through the integration.

Do I need a Trustpilot account, API key or proxies?

No. Enter companies and click Start.

Why does a run take a few minutes?

Reviews are collected fresh for every run. Fast mode usually takes 1 to 3 minutes; economy mode (automatic for runs of 2,000+ reviews) can take up to ~45 minutes at the same event prices.

Where do I get help?

Open an issue on the Actor's Issues tab in Apify Console with your run ID.

Run Trustpilot Reviews Scraper on Apify

The form opens with a working example. Free Apify accounts get a small monthly allowance.

Open on Apify