Trustpilot Scraper API - Reviews, Ratings & Business Search avatar

Trustpilot Scraper API - Reviews, Ratings & Business Search

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Trustpilot Scraper API - Reviews, Ratings & Business Search

Trustpilot Scraper API - Reviews, Ratings & Business Search

Scrape Trustpilot reviews, ratings & business info by domain or keyword. 30+ fields per review: text, stars, dates, language, replies. HTTP only.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

deusex machine

deusex machine

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

2

Monthly active users

8 days ago

Last modified

Share

Trustpilot Reviews Scraper — Reviews, Ratings, Business Search and Contact Info

Useful? Leave a review — it takes 10 seconds and is the single biggest thing that helps other brand managers, market researchers and lead-gen teams find this Trustpilot scraper.

A production-grade Trustpilot scraper that extracts reviews, ratings, TrustScores, business profiles and business contact information from Trustpilot.com, the world's largest public consumer review platform with 300M+ reviews across 1M+ businesses. Built for brand managers, competitive analysts, reputation-monitoring SaaS, e-commerce teams, data journalists, B2B lead-gen operators and ML engineers who need structured Trustpilot data at scale — in JSON, CSV, Excel or XML, from any business domain such as shopify.com, airbnb.com, tesla.com, amazon.com, walmart.com, nike.com or your own competitors.

No Trustpilot API key, no login, no headless browser, no Puppeteer, no Playwright. Pure HTTP with triple-fallback extraction (__NEXT_DATA__ → JSON-LD → HTML) so your pipeline keeps working when Trustpilot ships a frontend tweak. Works in two modes — reviews and business search — so a single actor covers reputation monitoring, competitor research and B2B lead generation.

What this Trustpilot scraper does

Given a list of Trustpilot business URLs or plain domains, this scraper walks Trustpilot's review pages, extracts every reviewer field Trustpilot exposes publicly, and returns structured JSON — review text, star rating, author profile, verification status, language, date, company reply, and the business's own TrustScore and contact block. Every run hits Trustpilot live, so you always get current reviews and ratings at the moment of the request.

In reviews mode you pass a list of businesses and filter by star rating, language, date range (30 days, 3 months, 6 months, 12 months), verified-only and sort order (recency or relevance). In search mode you pass keywords (e.g. "web hosting", "car insurance", "crm software") and get back matching Trustpilot business profiles including email, phone, address, website, TrustScore and category — ideal for B2B lead generation at scale.

Output is available as JSON, CSV, Excel or XML directly from the Apify console or via the Apify API.

Data fields the Trustpilot scraper extracts

The output uses a tagged recordType so reviews, business-info records and search-result records can share a single dataset.

Review fields (28 fields)

FieldTypeDescription
recordTypestringAlways "review"
reviewIdstringUnique Trustpilot review identifier
reviewUrlstringDirect link to the review on Trustpilot
businessNamestringBusiness display name (e.g. "Amazon")
businessDomainstringDomain (e.g. amazon.com)
titlestringReview headline
textstringFull review body text
ratingintegerStar rating (1–5)
publishedDatestringWhen the review was posted (ISO 8601)
experienceDatestringDate of the reviewed experience
updatedDatestringWhen the review was last edited
authorIdstringUnique reviewer profile ID on Trustpilot
authorNamestringReviewer's display name
authorLocationstringReviewer's location when shared
authorCountrystringCountry code (e.g. US, GB, DE, IN)
authorReviewCountintegerTotal reviews written by this author
authorImageUrlstringReviewer's profile image URL
isVerifiedbooleanWhether the review is verified
verificationLevelstringVerification detail (verified, not-verified)
sourcestringSubmission source (Organic, InvitationEmail, BasicLink)
languagestringReview language code (en, es, de, fr…)
likesCountintegerNumber of "useful" votes on the review
hasReplybooleanWhether the business replied
replyTextstringBusiness reply text
replyDatestringDate of business reply
replyUpdatedDatestringDate the reply was last edited
scrapedAtPageNumberintegerTrustpilot page where the review was found
scrapedAtstringTimestamp when the record was produced

Business-info fields (14 fields)

FieldTypeDescription
recordTypestringAlways "business_info"
businessUnitIdstringTrustpilot's unique business unit ID
businessNamestringCompany display name
domainstringDomain (e.g. amazon.com)
trustScorenumberTrustScore (e.g. 4.2)
overallRatingnumberStar rating (1–5)
totalReviewsintegerTotal review count on Trustpilot
isCompanyVerifiedbooleanWhether the company claimed their profile
categoriesarrayBusiness categories (e.g. "Shoe Store", "Electronics")
businessUrlstringFull Trustpilot profile URL
websiteUrlstringCompany's own website URL
phonestringBusiness phone number when publicly listed
emailstringBusiness email address when publicly listed
addressobjectstreet, city, zipCode, country

Business-search fields (18 fields — search mode)

FieldTypeDescription
recordTypestringAlways "business_search"
searchKeywordstringKeyword used to find this business
businessUnitIdstringTrustpilot's unique business unit ID
businessNamestringCompany display name
domainstringBusiness domain
trustScorenumberTrustScore (0.0–5.0)
starsnumberStar rating (0–5 in 0.5 increments)
totalReviewsintegerTotal review count
websiteUrlstringCompany website URL
emailstringContact email
phonestringContact phone number
addressstringStreet address
citystringCity
countrystringCountry
zipCodestringZIP / postal code
categoriesarrayBusiness categories
isClaimedbooleanWhether the business has claimed their Trustpilot profile
profileUrlstringFull Trustpilot profile URL
logoUrlstringBusiness logo image URL

Use cases for this Trustpilot reviews API

  • Brand reputation monitoring — Schedule a daily run for your own domain, push results into Postgres or Snowflake, and alert the CX team whenever rating <= 2 or when weekly review volume spikes. Trustpilot is often the #1 non-Google review surface your customers see before buying.
  • Competitor analysis and market research — Pass 10 competitor domains in a single run, filter by filterDate: "last3months", and compare TrustScore, review volume and complaint patterns. Works for e-commerce, SaaS, banking, insurance and hospitality verticals.
  • B2B lead generation by industry — Use search mode with keywords like "web hosting", "crm software", "bookkeeping services" and extract the email, phone, websiteUrl and address fields per matched business. Great for outbound SDR teams, niche B2B agencies and list-building services.
  • E-commerce aggregator content — Build a best-of-category page (e.g. "top 10 mattress brands by TrustScore") with live, deep-linked reviews. Set includeBusinessInfo: true and use the returned businessUrl for citation links.
  • Customer-voice input for ML pipelines — Feed structured reviews into sentiment analysis, topic modelling or fine-tuning pipelines. The 28 review fields give you author reputation (authorReviewCount), recency (publishedDate), reply behaviour (hasReply), and moderation metadata (isVerified, source) out of the box.
  • Investor / equity research — Track TrustScore and review volume month over month as a leading indicator of consumer sentiment for publicly-traded retailers, D2C brands and online services.
  • Public-relations and crisis response — Run an hourly scrape for your brand and trigger a PagerDuty alert on sudden bursts of negative reviews — often the first visible sign of an ops issue or a social-media firestorm.

How to use this Trustpilot scraper

Scrape reviews for one business

{
"mode": "reviews",
"businessUrls": ["amazon.com"],
"maxReviews": 100,
"sortBy": "recency"
}

Scrape 1-star reviews from a competitor

{
"mode": "reviews",
"businessUrls": ["competitor.com"],
"maxReviews": 500,
"filterRating": "1",
"sortBy": "recency"
}

Perfect for finding the exact complaints your sales team should neutralize on a competitive deal — or your CX team should proactively fix in your own product.

Compare multiple businesses in one run

{
"mode": "reviews",
"businessUrls": ["shopify.com", "bigcommerce.com", "wix.com"],
"maxReviews": 200,
"sortBy": "recency",
"filterLanguage": "en"
}

Each row includes businessDomain so you can trivially group and compare in SQL, pandas or a spreadsheet.

Scrape all Spanish-language reviews of a brand

{
"mode": "reviews",
"businessUrls": ["airbnb.com"],
"maxReviews": 0,
"filterLanguage": "es"
}

maxReviews: 0 scrapes every available review. Combine with filterLanguage and filterDate to keep the run focused.

Find businesses by keyword (search mode)

{
"mode": "search",
"searchKeywords": ["web hosting", "car insurance"],
"maxSearchResults": 50
}

Returns matching businesses with email, phone, address, website, TrustScore and category — a ready-to-use B2B contact list filtered by Trustpilot's own industry taxonomy.

Input parameters

ParameterTypeDefaultDescription
modestring"reviews""reviews" to scrape reviews, "search" to find businesses by keyword
businessUrlsarray["amazon.com"]Trustpilot URLs or plain domains (reviews mode)
searchKeywordsarray[]Keywords to find businesses (search mode)
maxSearchResultsinteger20Max businesses per keyword in search mode (1–200)
maxReviewsinteger100Max reviews per business. Set 0 for all reviews.
filterRatingstring"all"Filter by stars: "all", "1", "2", "3", "4", "5"
sortBystring"recency""recency" (newest first) or "relevance"
filterLanguagestring""Language code: en, es, de, fr, pt, it, nl, ja, ko… Empty = all
filterDatestring""Date range: "last30days", "last3months", "last6months", "last12months". Empty = all time
onlyVerifiedbooleanfalseOnly keep verified reviews
includeCompanyReplybooleantrueInclude business reply text and dates
includeBusinessInfobooleantrueInclude a business-info summary record per domain

Output example (JSON)

Review record

{
"recordType": "review",
"reviewId": "69ca869e845138cac088b1b7",
"reviewUrl": "https://www.trustpilot.com/reviews/69ca869e845138cac088b1b7",
"businessName": "Amazon",
"businessDomain": "amazon.com",
"title": "Good products nice",
"text": "Good products, fast delivery, and easy returns.",
"rating": 5,
"publishedDate": "2026-03-30T16:20:14.000Z",
"experienceDate": "2026-03-30T00:00:00.000Z",
"updatedDate": null,
"authorId": "697c86936a04cac3fd6889d7",
"authorName": "Jo Sarath",
"authorLocation": null,
"authorCountry": "IN",
"authorReviewCount": 3,
"authorImageUrl": "https://user-images.trustpilot.com/697c86936a04cac3fd6889d7/73x73.png",
"isVerified": false,
"verificationLevel": "not-verified",
"source": "Organic",
"language": "en",
"likesCount": 0,
"hasReply": false,
"replyText": null,
"replyDate": null,
"replyUpdatedDate": null,
"scrapedAtPageNumber": 1,
"scrapedAt": "2026-03-30T19:26:40.667Z"
}

Business-info record

{
"recordType": "business_info",
"businessUnitId": "46ad346800006400050092d0",
"businessName": "Amazon",
"domain": "amazon.com",
"trustScore": 1.7,
"overallRating": 1.5,
"totalReviews": 44789,
"isCompanyVerified": true,
"categories": ["Shoe Store", "Hobby Store", "Clothing Store", "Book Store"],
"businessUrl": "https://www.trustpilot.com/review/amazon.com",
"websiteUrl": "https://www.amazon.com",
"phone": null,
"email": null,
"address": null
}

How to call this Trustpilot scraper from your code

From the Apify API (curl)

curl -X POST 'https://api.apify.com/v2/acts/makework36~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"mode": "reviews",
"businessUrls": ["shopify.com"],
"maxReviews": 100,
"filterLanguage": "en",
"filterDate": "last3months"
}'

From Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("makework36/trustpilot-reviews-scraper").call(run_input={
"mode": "reviews",
"businessUrls": ["shopify.com", "bigcommerce.com", "wix.com"],
"maxReviews": 200,
"filterLanguage": "en",
"filterDate": "last3months",
"sortBy": "recency",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["recordType"] == "review":
print(item["businessDomain"], item["rating"], item["title"])

From Node.js (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('makework36/trustpilot-reviews-scraper').call({
mode: 'reviews',
businessUrls: ['airbnb.com'],
maxReviews: 100,
filterRating: '1',
sortBy: 'recency',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.table(items
.filter((i) => i.recordType === 'review')
.map((r) => ({ domain: r.businessDomain, rating: r.rating, title: r.title })));

Export to CSV

From the console run page → ExportCSV. Or via the dataset API:

https://api.apify.com/v2/datasets/DATASET_ID/items?format=csv&token=YOUR_TOKEN

Performance and cost

  • ~20 reviews per page, with automatic pagination across all pages Trustpilot exposes.
  • ~1–2 seconds per page — HTTP only, no browser.
  • 1,000 reviews complete in about 1 minute; 10,000 reviews in ~10 minutes.
  • Pay-per-event (see Pricing section below). No subscription, no minimum spend.
  • 128 MB memory is enough for most runs. Bump to 256 MB only if you scrape dozens of domains in one go.
  • Triple fallback extraction (__NEXT_DATA__ → JSON-LD → HTML) keeps the scraper running through Trustpilot frontend tweaks.

Trustpilot scraper comparison — how this compares to other Trustpilot scrapers on Apify Store

There are several Trustpilot scrapers on Apify Store. Here is how this one stacks up on the dimensions that actually matter: field coverage, speed, cost and developer ergonomics. All alternatives are anonymized because pricing and fields can shift week to week.

FeatureThis scraperBrowser-based Trustpilot scraper with residential proxyMinimal Trustpilot reviews scraper (HTML-only)Trustpilot business-search-only scraper
Review fields returned2815–20~10N/A
Business-info fields148–105Varies
Business-search mode with contact infoYesPartialNoYes (only mode)
Search returns email / phone / addressYesPartialNoUsually yes
Scraping engineRaw HTTPHeadless browser + residentialHTML scrapingRaw HTTP
Triple-fallback extraction__NEXT_DATA__ → JSON-LD → HTMLUsually one pathHTML-onlyN/A
Star-rating filterYesYesPartialN/A
Language filterYes (en, es, de, fr, pt, it, nl, ja, ko…)YesNoN/A
Date range filterYes (30 days, 3 / 6 / 12 months)PartialNoN/A
Verified-only filterYesPartialNoN/A
Multi-business inputYes (array of domains)YesSometimes one-at-a-timeYes
Speed per 1,000 reviews~1 minute10–15 minutes~1 minuteN/A
Cost per 1,000 reviews~$0.155–10× higher (browser + residential)ComparableN/A
Export formatsJSON / CSV / Excel / XMLJSON / CSVJSONJSON
Code examples in READMEPython / Node.js / curl / PHPOften noneOften noneOften none
MCP server alternativeReddit MCP and Airbnb MCP on same accountRareNoNo

The honest take: if you only care about a handful of reviews and already own a headless-browser Trustpilot pipeline, don't switch. If you need the richest field set, both modes in a single actor, and HTTP-level speed and cost, this scraper is the better fit.

Step-by-step tutorial — your first Trustpilot reviews scrape in 3 minutes

  1. Sign up for Apify — go to apify.com and create a free account. You get a $5 trial credit, enough for ~30,000 review results to evaluate the scraper.
  2. Open this actor — click Trustpilot Reviews ScraperTry for free.
  3. Pick a mode — leave mode as reviews for a first run.
  4. Enter business URLs — put a domain in businessUrls, e.g. amazon.com, shopify.com, or your own company domain.
  5. Tune filtersmaxReviews: 100, filterLanguage: "en", sortBy: "recency". Optional: filterDate: "last3months", onlyVerified: true.
  6. Click Start — the run finishes in seconds. Open the Dataset tab.
  7. Export — click Export → pick JSON, CSV, Excel or XML. Or pull via the API using the listItems endpoint shown above.
  8. Schedule it — click SchedulesCreate new schedule to re-run every hour, day or week. Each run writes to a fresh dataset.

That is the entire setup. No Trustpilot contract, no CAPTCHAs, no proxies to manage.

Advanced usage patterns

Pattern 1 — daily brand reputation dashboard

Schedule a daily run against your own domain plus your top three competitors. Push results into Snowflake or BigQuery and build a Looker dashboard with trustScore over time, weekly review volume, distribution by star rating and % of 1- and 2-star reviews with company reply. This is the single highest-ROI use case for most CX teams, and it works in under an hour of setup.

Pattern 2 — automated crisis alert

Run the scraper every 30 minutes on your own domain with sortBy: "recency" and maxReviews: 20. Dedupe by reviewId. Any time the last 10 reviews include 3 or more 1-star ratings, trigger a PagerDuty incident. Trustpilot spikes are often the first visible signal of an ops problem.

Pattern 3 — B2B lead generation by industry

Use search mode with keywords like "web hosting", "crm software", "bookkeeping services", "property management". Collect businessName, domain, websiteUrl, email, phone, address, trustScore, totalReviews. Filter where trustScore >= 4.0 (to prioritize serious businesses) and export the list to your CRM or sales engagement tool. Gives you a prospect list filtered by Trustpilot's own industry taxonomy, with contact info included.

Pattern 4 — voice-of-customer analysis for product

Scrape 1,000+ reviews of your own domain, dump into a vector database, cluster by topic with a small LLM, and surface the top complaints and delights week over week. The text, rating, experienceDate and authorReviewCount fields give you everything a topic model needs to separate signal (power users) from noise.

Pattern 5 — competitor content marketing playbook

Scrape 5-star reviews of competitors (filterRating: "5"), extract the words your competitor's customers use to describe what they love, and use those verbatim in your own landing pages and ads. Same technique with 1-star reviews identifies competitor weaknesses you can turn into differentiators.

More code examples

PHP

<?php
$token = 'YOUR_APIFY_TOKEN';
$payload = json_encode([
'mode' => 'reviews',
'businessUrls' => ['tesla.com'],
'maxReviews' => 200,
'filterLanguage' => 'en',
'sortBy' => 'recency',
]);
$ch = curl_init("https://api.apify.com/v2/acts/makework36~trustpilot-reviews-scraper/run-sync-get-dataset-items?token=$token");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$items = json_decode($response, true);
foreach ($items as $r) {
if (($r['recordType'] ?? '') === 'review') {
echo $r['businessDomain'] . " " . $r['rating'] . "★ — " . $r['title'] . "\n";
}
}

Zapier and Make.com (no-code)

Both Zapier and Make.com have an official Apify integration. Typical setup:

  1. Trigger — Schedule, webhook, or a new row in a Google Sheet of domains you want to monitor.
  2. Action — Apify → Run an Actor synchronously → select makework36/trustpilot-reviews-scraper → pass JSON input.
  3. Downstream — Write each review to Airtable, Google Sheets, Notion, a Slack channel, a Discord webhook, or a Postmark / Resend email.

Output is already clean JSON, so no formatter step is required — map businessDomain, rating, title, text and reviewUrl into the downstream action.

Troubleshooting

Empty dataset — no reviews returned

  • Double-check the domain in businessUrls. Use the canonical one Trustpilot recognizes (amazon.com, not www.amazon.com).
  • If you passed a Trustpilot URL, make sure it contains /review/<domain> — the scraper accepts both full URLs and plain domains.
  • If you combined multiple filters (e.g. filterRating: "1" + onlyVerified: true + filterLanguage: "ja"), loosen them — each filter is a hard cut, not a nudge.

Many fields are null Not every reviewer shares location or profile image, and not every business lists phone or email on Trustpilot. null means "not publicly available" — it does not mean the scraper failed.

Pagination seems to stop short of totalReviews Trustpilot's pagination sometimes terminates before totalReviews for very large businesses (40,000+ reviews). Use filterDate to pull in time-sliced batches and union the datasets.

Rate-limited or blocked IPs The Apify Proxy rotates automatically. For sweeps of dozens of domains in one run, split into batches of 10–20 and stagger them a minute or two apart.

Search mode returns fewer results than expected Trustpilot's search only returns publicly-indexed profiles. Very niche keywords can produce small result sets. Try broader keywords or a related industry term.

Which date field should I use? publishedDate is when the review was posted to Trustpilot. experienceDate is when the reviewer says the experience happened. Use publishedDate for volume-over-time charts; use experienceDate for incident-matching (e.g. "reviews about last Tuesday's outage").

Pricing

Pay-per-event model:

  • Billed per batch of reviews scraped (as of 2026-04-22).
  • Apify gives every new user a $5 free trial, enough to evaluate the scraper on several businesses.
  • No subscription, no minimum, no egress fees.
  • Business-search mode is billed per search completed — no per-result fee for search.

Rough cost guidance:

ScenarioReviewsEstimated cost
Quick check on 1 company20~$0.01
Competitor comparison (3 companies)300~$0.05
Full reputation audit1,000~$0.15
Large-scale research10,000~$1.50
Business search (50 results)~$0.01

Plan guidance

Apify planRecommended forNotes
FREE (trial credit)First-time evaluation, personal projects~$5 credit — enough for several thousand reviews
STARTERSmall brand monitoring, freelance CX consultantsMonthly credit + proxy included
SCALEMulti-client agencies, mid-market CX teamsHigher concurrency, more proxy bandwidth
BUSINESSReputation-monitoring SaaS products, large e-commerce orgsSLAs, priority support
ENTERPRISE / DIAMONDEnterprise brand-safety platforms, equity research desksDedicated resources, custom terms

FAQ

Do I need a Trustpilot account or API key? No. This scraper reads publicly visible review pages. No login, no cookies, no Trustpilot Business API required.

How many reviews can I get per run? Set maxReviews: 0 to get all available reviews. Most businesses have a few hundred to a few thousand. Very large companies can exceed 40,000 reviews — use filterDate or filterRating to get manageable batches.

What languages are supported? All languages available on Trustpilot. Use filterLanguage with any ISO 639-1 code: en, es, de, fr, pt, it, nl, ja, ko, sv, da, fi, no, pl, and more. Empty string means "all languages".

How fast is it? About 20 reviews per page, one page per 1–2 seconds. 100 reviews take under 10 seconds; 1,000 reviews take about a minute; 10,000 reviews about 10 minutes.

Can I filter by date range? Yes. Use filterDate with "last30days", "last3months", "last6months" or "last12months". Leave empty for all time.

Can I scrape multiple businesses in one run? Yes. Pass an array of domains or URLs in businessUrls. The scraper processes them sequentially with automatic pagination for each. Each review record includes businessDomain so you can group downstream.

What is the difference between reviews mode and search mode? Reviews mode scrapes actual review text for businesses you already know. Search mode finds businesses by keyword and returns their profile with contact info — email, phone, address, website, TrustScore, total reviews. One is for reputation work, the other is for lead generation.

Can I schedule automatic runs? Yes. Set up a schedule in the Apify console to run the scraper daily, weekly or monthly. Combine with integrations (Google Sheets, Slack, webhooks, Postgres, Snowflake) to automate your review-monitoring pipeline.

Why are email and phone sometimes null? Businesses only show contact info when they have claimed their Trustpilot profile and chosen to publish it. That is public information as-published, not scraped from elsewhere. null simply means the business has not listed it.

Is the data real-time? Yes. Every run hits Trustpilot live — no cache. You get the exact reviews and ratings visible on the Trustpilot page at the moment of the request.

Do you have a scraper for other review platforms or social networks? Yes. See Related scrapers below — same account publishes scrapers for Reddit (including an MCP server for AI agents), Airbnb, Booking.com, Vrbo and flights.

Changelog

  • v0.4 (2026-04-22) — SEO-friendly rewrite of the README, expanded use cases, explicit code examples in Python, Node.js, curl and PHP, new comparison table, tutorial and troubleshooting sections. No breaking API changes.
  • v0.3 (2026-03-15) — Added business-search mode with contact info. Expanded business-info record to 14 fields. New filterDate input.
  • v0.2 (2026-02-02) — Added language filter, verified-only filter, and triple-fallback extraction (__NEXT_DATA__ → JSON-LD → HTML).
  • v0.1 (2026-01-10) — Initial release: reviews mode with 22 fields, one-business input, recency / relevance sort.

This Trustpilot scraper reads only publicly visible data — reviews, ratings and business profiles that Trustpilot itself publishes for every visitor. The actor does not bypass logins, paywalls, CAPTCHAs behind accounts, or private data. We use rate-limited HTTP requests that respect Trustpilot's server resources; we do not circumvent access controls.

You are responsible for ensuring your use of the scraped data complies with applicable laws — notably GDPR, CCPA and Trustpilot's own Terms of Use. Common legitimate uses include market research, reputation monitoring, academic research and competitive analysis. When using personal data from reviewers (names, images, countries), follow the data-protection principles of your jurisdiction — minimize, secure and purpose-limit.


🙏 Ran this Trustpilot scraper successfully? Leaving a review helps the Apify algorithm surface this actor to other brand managers, market researchers and lead-gen teams. Much appreciated.