Trustpilot Scraper[💰$0.25] - All Reviews, Contacts, No 200 Cap avatar

Trustpilot Scraper[💰$0.25] - All Reviews, Contacts, No 200 Cap

Pricing

from $0.25 / 1,000 results

Go to Apify Store
Trustpilot Scraper[💰$0.25] - All Reviews, Contacts, No 200 Cap

Trustpilot Scraper[💰$0.25] - All Reviews, Contacts, No 200 Cap

Scrape every Trustpilot review — past the 200-review page cap — with ratings, full text, verification, reviewer profiles, company replies, TrustScore and the full star distribution. Find companies by keyword or category with email, phone and address. Incremental monitoring and alerts.

Pricing

from $0.25 / 1,000 results

Rating

0.0

(0)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

What does Trustpilot Scraper do?

Scrape every review most companies have on Trustpilot — and thousands, newest first, from the biggest brands — not the ~200 a public listing will hand over. Each record carries the star rating, full text, verification status, reviewer profile, company reply and a complete company panel: TrustScore, the full 1–5 star distribution, reply rate, categories and contact details.

Switch modes and the same actor becomes a B2B prospecting tool — find companies by keyword or browse a whole Trustpilot category and get email, phone and address for every business it returns.

No Trustpilot account, cookie or proxy setup needed.

📚 What data can you extract from Trustpilot?

This actor reads Trustpilot's own page data (no HTML scraping, no fragile selectors) and returns structured records with 100+ fields, organised into six groups:

GroupWhat you get
Review coreStar rating, title, full text, published / experienced / updated / submitted dates, language, likes, review URL, review location
VerificationVerified flag, verification level and source, verification date, review source (organic vs invited), complaint / pending / filtered flags, unhandled reports
ReviewerDisplay name, country, lifetime review count, verified flag, profile image, author ID, and how many times this reviewer has reviewed this company
Company replyReply text, reply date, updated date, plus the company's overall reply rate and average days to reply
Company panelTrustScore, stars, total reviews, reviews in the last 12 months, full 1–5 star distribution, description, category path, claimed status and date, closed / collecting-reviews flags, paid-plan and AI-reply flags, Google & payment verification, consumer alerts
Contacts & discoveryEmail, phone, address, ZIP, city, country, website — on every company, in every mode

Turn on the optional blocks and you also get:

  • Transparency report — how many reviews were organic vs invited, how many were reported, how many were taken offline, and how many were reinstated.
  • Review summary — Trustpilot's own summary of what reviewers say, plus per-topic breakdowns (delivery, refunds, customer service…).
  • Similar companies — the competitor list from the profile, each with its TrustScore and review count.

✨ Key features

  • 🚫 No 200-review ceiling — a public Trustpilot listing stops at ~200 reviews. This actor splits the listing into narrower views automatically and reads each one to its own limit, so a company with 100,000 reviews gives you thousands, newest first, not 200.
  • ⭐ Real star distribution — companyRating1Star … companyRating5Star are filled in with actual counts, not left null.
  • 🌍 Every language, by default — most tools quietly return English only. This one reads every language Trustpilot holds for the company, and lets you narrow it.
  • 🔎 Server-side keyword search — search inside review text (keyword) and Trustpilot can also filter by topic, star, language, date and replies before anything reaches your dataset, so filtered-out reviews never cost you.
  • 🏢 Company discovery + contacts — find companies by keyword or browse an entire category, with email, phone and address on each one. Gate the results by TrustScore, review count, claimed status and country.
  • 🔍 Transparency signals — organic vs invited review mix, reports raised, reviews taken offline. The numbers you need to judge whether a rating was earned.
  • 🤖 Review summaries — Trustpilot's own digest of what customers say, plus per-topic summaries for delivery, refunds, customer service and more.
  • 📅 Exact date cut-offs — startDate or lastDays stop a listing the moment it drops below your window, so back-fills and daily watches stay cheap.
  • ♻️ Incremental mode — recurring runs emit only what changed. Unchanged reviews are recognised and skipped before they are ever billed.
  • 🔔 Notifications — push new reviews to Telegram, Slack, Discord or any webhook.
  • 🪶 AI-friendly output — compact mode and excludeEmptyFields keep records lean for LLM and MCP pipelines.
  • ⚡ Fast and cheap — the run reads structured JSON, not rendered HTML, and needs no paid proxy bandwidth.

How to scrape more than 200 reviews from one company

A public Trustpilot review listing stops after 10 pages — about 200 reviews. Ask for page 11 and the site answers with a sign-in wall instead of data. That ceiling is why most exports of a big brand top out at 200.

Every distinct filter combination, though, gets its own 200-review window. This actor uses that automatically:

  1. It reads the first page of the listing you asked for, which says how many reviews are behind it.
  2. If you asked for more than one window holds, it splits by star rating — a review has exactly one, so the five slices are disjoint and together cover everything.
  3. If a star slice is still bigger than one window, it splits again by review language. The slices expected to hold the most reviews are opened first, whatever their rating.

With the default recency sort, the slices are merged by publish date, so the whole dataset comes back newest first, and recent reviews keep the company's real rating mix. With relevance there is no shared order, so the slices are read in turn and a run that stops early still has an even spread. Either way, reviews are de-duplicated by ID.

You ask forWhat you get
200 or fewerThe newest N, in strict recency order — a single window, no splitting
More than 200The newest N across every rating and language, still in strict recency order
0 (everything)Every review reachable through the split, up to the actor's safety limits

Very busy companies. A company that collects hundreds of reviews a week can fill one slice with its last few days. Past that point Trustpilot's public pages can no longer show every review, so the run log says the date down to which your results are complete. Everything newer than that date is there. Older results are what Trustpilot still shows publicly, not every review from that period. To keep a complete record of a busy company, run it on a daily schedule with Incremental mode: each run only has to cover the reviews since the last one.

Nothing to configure — just raise Max results.

🚀 How to scrape Trustpilot

  1. Click "Start" on this actor page, or open it from the Apify Console.
  2. Enter a company domain — booking.com, amazon.com, or paste any Trustpilot review-page URL. Add a bulk list to do dozens of companies in one run.
  3. Set your filters — star ratings, languages, a date window, a keyword inside the review text, topics, verified-only, replies-only, reviewer country.
  4. Set Max results — anything above 200 automatically reads past Trustpilot's public page limit.
  5. Export your data — JSON, CSV or Excel, or connect straight to Google Sheets, Zapier, Make, n8n or your own API.

That's it. No login, no cookies, no proxy configuration.

Quick-start example input

{
"companyDomain": "booking.com",
"maxResults": 1000,
"sort": "recency",
"lastDays": 30,
"stars": ["1", "2"],
"keyword": "refund",
"includeTransparency": true
}

This pulls up to 1,000 one- and two-star reviews from the last 30 days that mention "refund", each with the full company panel and the transparency figures.

⚙️ Input

🎯 Mode

FieldTypeDescription
modeenumreviews (default), companies (one profile record per company), search (find companies by keyword), category (browse a whole category).

🏢 Companies

FieldTypeDescription
companyDomainstringCompany domain as used on Trustpilot, e.g. booking.com. Or paste a Trustpilot URL.
companyDomainsarrayBulk list — scrape many companies in one run.
startUrlsarrayTrustpilot URLs to read directly: review pages, /search?query=… or /categories/….

🔎 Company discovery

FieldTypeDescription
searchQuery / searchQueriesstring / arrayKeywords to search the Trustpilot company directory, e.g. "car insurance".
categoryId / categoryIdsstring / arrayCategory to browse, e.g. electronics_technology.
countrystringISO country code for a category listing, e.g. GB.
minTrustScorenumberKeep only companies at or above this TrustScore (decimals allowed).
minReviewsintegerKeep only companies with at least this many reviews.
onlyClaimedbooleanOnly companies that have claimed their profile.

Search and category results carry what Trustpilot's company listing shows: name, domain, TrustScore, stars, review count, categories, website, email, phone and address. The star distribution, reply rate and verification flags come from each company's own profile. To get those, pass the domains you found to companyDomains with mode: "companies".

🎚️ Review filters

FieldTypeDescription
sortenumrecency (default) or relevance.
starsarrayStar ratings to keep, 1–5.
languagesarrayReview language ISO codes. Empty means every language.
dateenumTrustpilot's rolling window: last 30 days / 3 / 6 / 12 months.
startDatestringOnly reviews published on or after this date (YYYY-MM-DD).
lastDaysintegerOnly reviews from the last N days — recalculated every run.
keywordstringFull-text search inside the reviews. Applied server-side.
topicsarrayTrustpilot topic tags, e.g. refund, customer_service.
verifiedbooleanOnly reviews Trustpilot marks as verified.
withRepliesbooleanOnly reviews that have a company reply.
reviewerCountriesarrayKeep only reviewers from these countries.

📄 Output

FieldTypeDescription
maxResultsintegerRecords per company (or per keyword / category). 0 takes everything reachable. Default 200.
includeCompanyInfobooleanAttach the full company panel to every review. Default true.
includeTransparencybooleanAdd the transparency report (organic vs invited, removals).
includeAiSummarybooleanAdd Trustpilot's review summary and per-topic breakdowns.
includeSimilarCompaniesbooleanAdd the competitor list from the profile.
compactbooleanCore fields only — ideal for AI agents and MCP clients.
excludeEmptyFieldsbooleanDrop null / empty fields from each record.

♻️ Incremental monitoring

FieldTypeDescription
incrementalModebooleanEmit only NEW / UPDATED records on recurring runs.
stateKeystringStable name for the tracking state (auto-derived if blank).
emitUnchanged / emitExpiredbooleanAlso emit UNCHANGED / EXPIRED records.

🔔 Notifications

Credentials are stored encrypted and never written to the run log. A built-in redaction layer scrubs secrets from error messages before they can surface.

FieldTypeDescription
telegramToken + telegramChatIdstringTelegram bot token + chat ID.
slackWebhookUrlstringSlack Incoming Webhook URL.
discordWebhookUrlstringDiscord channel webhook URL.
webhookUrl + webhookHeadersstring / objectPOST structured JSON anywhere. Ideal for n8n, Make, Zapier.
notificationLimitintegerMax records listed per message (default 5).

⚙️ Advanced

FieldTypeDescription
proxyConfigurationobjectLeave empty. The actor routes traffic itself and only escalates when it has to.

…and 42 inputs in total — the tables above cover the ones people actually reach for.

📤 Output

Each record is pushed to the run's default dataset. Example review record (abridged):

{
"recordType": "review",
"reviewId": "6aa0602a35495980003e6e1e",
"reviewUrl": "https://www.trustpilot.com/reviews/6aa0602a35495980003e6e1e",
"rating": 1,
"title": "Not returning refund agreed by the hotel",
"text": "Still waiting for a refund that was processed by the hotel in early August…",
"publishedDate": "2026-09-08T21:21:14.000Z",
"experiencedDate": "2026-09-04T00:00:00.000Z",
"language": "de",
"isVerified": false,
"verificationLevel": "not-verified",
"reviewSource": "Organic",
"reviewerName": "Dino Ga",
"reviewerCountry": "RS",
"reviewerTotalReviews": 2,
"reviewerReviewsOnThisCompany": 1,
"authorId": "69deff5e0a02e75d9d77393d",
"hasCompanyReply": false,
"replyText": null,
"companyName": "Booking.com",
"companyDomain": "www.booking.com",
"companyTrustScore": 1.5,
"companyTotalReviews": 126233,
"companyReviewsLast12Months": 21611,
"companyRating1Star": 92269,
"companyRating2Star": 4242,
"companyRating3Star": 2589,
"companyRating4Star": 4875,
"companyRating5Star": 22258,
"companyDescription": "Offering secure, easy booking since 1996, Booking.com is the world's most popular hotel reservations website…",
"companyContactEmail": "customer.service@booking.com",
"companyContactPhone": "+31 20 712 5600",
"companyContactAddress": "Herengracht 597",
"companyCity": "Amsterdam",
"companyCountryCode": "NL",
"companyCategoryPath": ["Travel & Vacation", "Activities & Tours", "Travel Aggregator"],
"companyIsClaimed": true,
"companyReplyRate": 0,
"companyVerifiedPaymentMethod": true,
"transparencyOrganicReviews": 21607,
"transparencyInvitedReviews": 2,
"transparencyOrganicShare": 0.9998,
"transparencyReviewsTakenOffline": 0,
"source": "trustpilot.com",
"scrapedAt": "2026-09-08T21:26:54.987Z",
"contentHash": "3b3dd1512629c91ef600ecb362a7e8ea"
}

In discovery modes each record is a company instead, tagged "recordType": "company" and carrying the profile plus contact columns.

The Output tab ships four ready-made views: Reviews, Company intelligence (the star distribution, reply behaviour and transparency figures), Contacts (the lead-gen columns) and Changes (the incremental tracking fields).

In compact mode each record is trimmed to the ~18 fields needed to read, attribute and triage a review — ideal for LLM agents and MCP pipelines.

♻️ How to monitor Trustpilot with incremental mode

Running on a schedule? Turn on incrementalMode. The first run builds a baseline; every run after that emits — and charges for — only what actually changed.

First run (baseline)Second run (nothing changed)
Reviews readallall
Records emitted & chargedallnone

Your cost after the baseline scales with how much the review flow changes, not with how many reviews you monitor:

Daily churnRecords per run (after baseline)Saving vs full re-scrape
5% (quiet brand)~5%~95%
15% (moderate)~15%~85%
30% (busy brand)~30%~70%

Setting up scheduled monitoring

  1. Configure the scraper with your company (or companies) and filters.
  2. Turn on Incremental mode.
  3. Run it once — this creates the baseline.
  4. Go to the Schedules tab and set a recurring run (e.g. every hour).
  5. Optionally add a notification channel (Telegram, Slack, Discord or webhook).

Pair it with Last N days set to 1 and a daily watch costs barely more than the start fee.

🔔 How to set up Trustpilot alerts

Get alerted the moment a review lands. Fill in only the channels you want:

ChannelWhat to configure
✈️ TelegramtelegramToken (from @BotFather) + telegramChatId
💬 SlackslackWebhookUrl (Incoming Webhook URL)
🎮 DiscorddiscordWebhookUrl (channel webhook URL)
🪝 WebhookwebhookUrl receives structured JSON — ideal for n8n / Make / Zapier

Every channel fires independently. A broken channel cannot stop the scrape or the other channels. Combine with Incremental mode and stars: ["1", "2"] to be paged only when a genuinely new negative review appears.

💡 What can you do with Trustpilot data?

Reputation monitoring

Watch your brand — or your clients' brands — and get paged the moment a one-star review appears. Incremental mode plus lastDays: 1 keeps a daily watch near-free.

Competitive intelligence

Compare TrustScores, star distributions, review volume and reply behaviour across a whole set of competitors in one batch run. Turn on similar companies and Trustpilot will tell you who it thinks the competitors are.

Review-authenticity checks

The transparency block shows the organic-vs-invited mix, how many reviews were reported, and how many were taken offline. A 4.9 built on invited reviews reads very differently from a 4.9 built on organic ones.

B2B lead generation

Browse a category or search a keyword and export every company with its email, phone, address, TrustScore and review count. Gate by TrustScore and review count to skip empty profiles.

Sentiment and theme analysis

Feed review text, ratings and the per-topic summaries into NLP or LLM pipelines to surface recurring complaints and praise. Server-side keyword and topic filters let you pull just the reviews about refunds, delivery or support.

Vendor due diligence

Pull verified reviews, reply rate and average days to reply to judge a supplier, partner or acquisition target before you sign.

Feed AI agents and LLM pipelines

Compact JSON straight into an LLM context, MCP tool or vector store. excludeEmptyFields and compact keep token costs low.

💰 How much does it cost to scrape Trustpilot?

This Actor uses Apify's pay-per-event model: a small fee when a run starts, plus a per-record fee. See the Actor's Pricing tab for the current numbers — they're rendered live, so this page never goes stale.

Two things cut your bill further:

  • Site-side filters — records you filtered out are never fetched and never billed.
  • Incremental mode — after the baseline run you pay only for what actually changed.
Daily churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

You only pay for records you actually receive. Star, language, date, keyword, topic and replies filters are applied by Trustpilot before anything is billed. With incrementalMode on, a run that finds nothing new costs only the start fee.

One per-record fee buys the whole record — the full company panel, the star distribution, the reviewer profile, the reply and the contact details. There is no enrichment add-on, no per-field surcharge and no separate fee for company records: a business found through search or category browse bills exactly the same as a review.

🔌 Integrations & export

Export your data anywhere:

  • JSON, CSV, Excel — download directly from the Output tab
  • Apify API — stream results via the REST API or the JavaScript / Python SDK
  • Google Sheets — connect via the Apify integration
  • Zapier / Make / n8n — use the generic webhook or Apify's built-in integrations
  • Slack / Discord / Telegram — built-in notifications, no middleware needed
  • AI agents — use this actor as an MCP tool for Claude, ChatGPT or any MCP-compatible agent

🔗 Using the API

Run this Actor from your own code. Example with the Apify Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("corvuslab/trustpilot-scraper").call(run_input={
"companyDomain": "booking.com",
"maxResults": 1000,
"sort": "recency",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.

❓ FAQ

Do I need a Trustpilot account or a proxy? No. Everything this actor reads is public. It routes its own traffic and only escalates to paid proxy if it has to, so there is nothing to configure.

Can I really get more than 200 reviews? Yes. Trustpilot's public listing stops at ~200, but every filter combination gets its own window, and the actor walks those windows for you. Set Max results above 200 — or to 0 — and it happens automatically, still newest first. For the busiest companies, the run log tells you the date down to which the results are complete (see How to scrape more than 200 reviews).

Why are almost all my reviews 1★ when the company's star distribution isn't? The companyRating1Star … companyRating5Star counts cover the company's whole history. Your dataset is the newest reviews, and for many big brands recent reviews lean much more negative than the all-time mix. Set stars to pull a rating directly, or sort: relevance for a spread across ratings.

Why are some reviews not in English? Because by default you get all of them. Trustpilot serves English only unless asked otherwise; this actor asks for every language the company has. Set languages to narrow it back down.

Why did verified: true return so few reviews? "Verified" on Trustpilot means the review came through the company's own invitation flow. Brands that don't send invitations (Amazon, for example) have almost none — their reviews are organic. The transparency block shows that split per company.

What's the difference between the four modes? reviews returns reviews. companies returns one profile record per company you name — useful when you want the panel but not the reviews. search finds companies by keyword, category lists every company in a Trustpilot category; both return contact details.

Does minTrustScore work on searches too? Yes. Trustpilot only offers two score thresholds on its own pages, so this actor applies the gate to every company it finds instead — any value from 0 to 5, decimals included.

Can I scrape several companies in one run? Yes — use companyDomains. Max results applies per company, and every record is tagged with its companyDomain.

How do I get a Trustpilot category ID? Open trustpilot.com/categories, click a category, and take the last part of the URL — e.g. /categories/electronics_technology → electronics_technology. You can also paste the whole URL into startUrls.

Is my data kept private? All credentials (notification tokens, webhook URLs) are marked as secret inputs — they are encrypted at rest, masked in the Apify UI, and never appear in run logs. A built-in redaction layer scrubs secrets from error messages before they can surface.

Is it legal to scrape Trustpilot? This actor extracts publicly available data. Web scraping of public information is generally considered legal, but you should review the target site's terms of service and ensure your use case complies with applicable laws and regulations — in particular any personal information in reviews, and the GDPR where it applies.


This is an unofficial actor and is not affiliated with, endorsed by, or connected to Trustpilot. "Trustpilot" is a trademark of its respective owner and is used here only to describe the site this actor works with.


Keywords: trustpilot scraper · trustpilot.com scraper · trustpilot reviews scraper · trustpilot api · scrape trustpilot reviews · trustpilot review export · trustpilot TrustScore · trustpilot star distribution · trustpilot company data · trustpilot transparency report · trustpilot company search · trustpilot category scraper · review scraper · reputation monitoring · competitor review analysis · b2b lead generation · export trustpilot to CSV · export trustpilot to Excel · trustpilot MCP tool · trustpilot review alerts