Trustpilot Scraper — All Reviews, Contacts & No 200 Cap avatar

Trustpilot Scraper — All Reviews, Contacts & No 200 Cap

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Trustpilot Scraper — All Reviews, Contacts & No 200 Cap

Trustpilot Scraper — 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.40 / 1,000 results

Rating

0.0

(0)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

What does Trustpilot Scraper do?

Scrape every review a company has on Trustpilot — 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 is genuinely reachable.
  • Real star distributioncompanyRating1StarcompanyRating5Star 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-offsstartDate 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 outputcompact 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 listing you asked for, newest first, to the bottom of its window.
  2. If you asked for more, 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, largest first.

Windows are read one page at a time in round-robin and de-duplicated by review ID, so a run that stops early still comes back with an even spread rather than everything from a single slice.

You ask forWhat you get
200 or fewerThe newest N, in strict recency order — a single window, no splitting
1,000The newest 200, then the slices fill in the rest, balanced across ratings
0 (everything)Every review reachable through the split, up to the actor's safety limits

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 domainbooking.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.

🎚️ Review filters

FieldTypeDescription
sortenumrecency (default) or relevance.
starsarrayStar ratings to keep, 15.
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

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

🔗 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={
"keyword": "example",
"maxResults": 50,
})
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.

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_technologyelectronics_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