Trustpilot Scraper: Reviews, Companies, Categories, Contacts avatar

Trustpilot Scraper: Reviews, Companies, Categories, Contacts

Pricing

from $0.50 / 1,000 reviews

Go to Apify Store
Trustpilot Scraper: Reviews, Companies, Categories, Contacts

Trustpilot Scraper: Reviews, Companies, Categories, Contacts

Scrape Trustpilot reviews with ratings, replies and reviewer details, then go further: find companies by keyword, list a whole category, pull company metadata, or read a transparency report. 50+ fields per review including AI summaries and B2B contacts (email, phone, address).

Pricing

from $0.50 / 1,000 reviews

Rating

5.0

(1)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

4

Bookmarked

187

Total users

62

Monthly active users

0.51 hours

Issues response

10 days ago

Last modified

Share

Trustpilot scraper - reviews, company search, categories & B2B contacts

Scrapes Trustpilot reviews, ratings, AI summaries, B2B contact details, and Trustpilot's official transparency reports. Talks to the same internal JSON endpoint the Trustpilot React app uses, so payloads are small and fields stay in sync with the live site.

Pricing: $0.50 per 1,000 reviews. $0.20 per 1,000 search/category results. $0.001 per company-info record. $5 per 1,000 transparency reports.

Five modes in one actor: extract reviews, search the company directory, browse a category, pull compact company info, or download the official transparency report.

Want reviews only? Use the dedicated Trustpilot Review Scraper. Reviews-only focus, 1,000 reviews in about 1 minute, bypasses the 200-review cap, $0.50 per 1,000 reviews.


Why this scraper (vs. the official API or competitor actors)

Trustpilot's official Business API needs OAuth credentials, only works for businesses you own, and skips the AI summary, contact info, and transparency data the consumer site shows. Existing Trustpilot scrapers on Apify usually cap at 200 reviews per filter and only extract 25 to 30 fields per review.

ConcernOfficial Trustpilot APIMost Apify Trustpilot scrapersThis scraper
Account / OAuth requiredYes (developer account)NoNo
AI review summary + per-topic summariesNoNoYes
Company contact (email, phone, address)Only your own business1 of 9 actorsYes
Transparency report (240-cell monthly star x method matrix)NoNoYes
Search-by-keyword + browse-by-category modesNo1 of 9 actorsYes
Reviews per companyAPI: capped to your own200 (one filter)~1,000, or several thousand with all languages on
Incremental change tracking (NEW / UPDATED / REAPPEARED)NoNoYes
Price per 1,000 reviewsFree for own data only$0.20 to $3.00$0.50
Per-run start feen/aOften $0.05$0.002
Modes split across separate actors?n/aFrequently 2 to 4One actor

Reliability matters more than field count once you put a scraper on a schedule. Over the last 30 days this actor finished 99.9% of its runs successfully across roughly 6,700 runs.

If you only need your own company's reviews, the Trustpilot Business API is free. For everyone else's data, the consumer site is the source of truth.


What data can you extract?

50+ fields per review. The headline ones:

⭐ Rating + title + body📅 Published, experienced, updated, submitted👤 Reviewer name, country, total reviews✅ Verified status + verification source
💬 Company reply text + author + date🔁 Reviewer's other reviews on same company🌍 Review language ISO code👍 Helpful votes
🏢 Company name, domain, trust score📧 Company email + phone + address📊 Per-star count breakdown (1 to 5)🤖 AI summary + per-topic summaries
🥊 8 similar competitors per company📈 Reply behaviour (avg days, % replied)🤖 Whether the company uses AI replies🏷️ Categories + #X-of-Y category ranking

searchCompanies and categoryBrowser records (lead-gen mode)

One record per business found: companyName, companyDomain, companyTrustScore, companyTotalReviews, companyContactEmail, companyContactPhone, companyContactAddress, city, zip, categories.

companyInfo records (compact metadata mode)

companyId, name, domain, trust score, total reviews, claimed status, full per-star breakdown, contact info, description, country code. About 1.4 KB per record.

Every input is accounted for. A run that is given 500 domains tells you what happened to all 500, so an input that failed is never silently dropped. Each input ends as one of ok, not-found (Trustpilot has no profile for it), rate-limited, blocked, error, duplicate (it resolved to the same company as an earlier input) or skipped (the run hit your charge limit or its time budget first).

The full breakdown is always written to the key-value store record COMPANY_INFO_REPORT, whether or not you change any setting. Set reportFailedInputs to true if you also want the failed inputs as dataset rows, each carrying inputUrl, failureStatus and failureDetail. Failed inputs are never charged.

transparency records (one per company)

replyRate, replyBehavior (avg days to reply, % of negatives replied to), reportingStatistics (reviews flagged, taken offline, reactivated), collectingMethodDistribution (organic vs invited vs redirected vs automatic), and the full 240-cell monthly star x collecting-method matrix.


How many Trustpilot reviews can you scrape per company?

Trustpilot serves at most 200 reviews (10 pages) per filter combination. Page 11 redirects to a login wall, and no scraper can get past that with a single query.

The way around it is to ask for the same company several different ways and merge the results. This actor slices by star rating automatically once you set maxReviews above 200, which brings a typical company to about 1,000 reviews.

To go further, turn on Sweep all languages. Trustpilot serves English only unless you ask otherwise, so that 1,000 is really 1,000 English reviews. A global brand like Amazon carries reviews in 38 languages, and sweeping them takes the same company from 1,000 to several thousand. A company that only sells in one market will add very little, so the gain depends entirely on the brand.

Set maxReviews to the number you actually want. If Trustpilot genuinely runs out, the run finishes with a status message telling you how many companies fell short, instead of quietly returning less than you asked for.


Scrape Trustpilot reviews in any language

Every review carries its own language code, and you can go at this two ways.

Pass languages: ["de", "fr"] to collect specific languages only. Or set sweepAllLanguages: true to collect everything the company has, which is the setting that gets you past the ~1,000 ceiling.

{ "mode": "reviews", "urls": ["amazon.com"], "maxReviews": 3000, "sweepAllLanguages": true }

Leave it off and you get Trustpilot's default, which is English.


How to scrape Trustpilot: step by step

  1. Create a free Apify account. 30 seconds, no card needed.
  2. Open the Trustpilot Scraper in the Apify Console.
  3. Paste a Trustpilot company URL or just a domain (amazon.com, booking.com). Or pick a different mode and pass a search query / category id.
  4. Click Start. A 200-review run finishes in about 30 seconds. A 1,000-review slice run takes 1 to 2 minutes.
  5. Export as JSON, CSV, or Excel, or pull the dataset via the API.

How much does Trustpilot Scraper cost?

Pay per result. Each mode bills its own event so you only pay for what you actually pulled.

ModePer resultPer 1,000Free plan ($5 credit)Starter plan ($29/mo)
reviews$0.0005$0.50~10,000 reviews~58,000 reviews
searchCompanies / categoryBrowser$0.0002$0.20~25,000 businesses~145,000 businesses
companyInfo$0.001$1.00~5,000 companies~29,000 companies
transparency$0.005$5.00~1,000 reports~5,800 reports

A $0.002 start fee applies per run. Apify platform compute is separate and runs roughly $0.02 to $0.05 per 1K reviews on the default 1 GB memory setting; most runs finish well inside the free credit.


Input

{
"mode": "reviews",
"urls": ["amazon.com", "booking.com"],
"maxReviews": 500,
"stars": [1, 2],
"languages": ["en", "de"],
"dateRange": "last3months",
"verifiedOnly": true,
"repliesOnly": false,
"topics": ["customer_service", "delivery_service"],
"keyword": "refund",
"sort": "recency",
"aggressiveSlicing": true,
"sweepAllLanguages": false,
"includeCompanyInfo": true,
"includeContact": true,
"includeStats": true,
"includeSimilarCompetitors": true,
"includeAiSummary": true,
"compact": false
}
FieldTypeDefaultNote
modestringreviewsOne of reviews, searchCompanies, categoryBrowser, companyInfo, transparency
urlsarray[]Company URLs or bare domains. Old companyUrls is still accepted as an alias
searchTermsarray[]Brand names. In reviews mode each one is auto-resolved to a Trustpilot slug via the directory search. In searchCompanies mode each term is run as a search, after searchQuery
maxReviewsint200Up to 10,000 per company. Above 200, slicing kicks in automatically
starsarray[]Subset of [1,2,3,4,5]. Old single-value starFilter still accepted
languagesarray[]ISO codes. Empty means Trustpilot's default view, which is English (a company with no English reviews shows all of its reviews). Turn on sweepAllLanguages to add other languages; it is not applied when 2 or more stars are set with maxReviews at 200 or below. Languages you list are fetched in order until maxReviews is reached, so size maxReviews for the number you list
dateRangestringalllast30days, last3months, last6months, last12months
startDatestringnoneYYYY-MM-DD chronological cutoff applied client-side
verifiedOnlyboolfalseServer-side verified=true filter
repliesOnlyboolfalseServer-side replies=true filter
topicsarray[]e.g. customer_service, delivery_service, refund, product
keywordstringnoneFull-text body search
sortstringrecencyOr relevance
aggressiveSlicingboolautoSlice by star rating and dedupe by review id, to get past the 200-per-filter cap. Auto-on when maxReviews > 200
sweepAllLanguagesboolfalseCollect every language the company has, not just English. This is what takes a big brand past ~1,000 reviews. Not applied when 2 or more stars are set with maxReviews at 200 or below
lookbackDaysintnoneOnly emit reviews published within the last N days (shortcut for startDate)
includeContactbooltrueemail, phone, address per company. In companyInfo mode, setting this to false omits the six contact keys entirely rather than blanking them
includeStatsboolfalsePer-star count breakdown
includeSimilarCompetitorsboolfalse8 competitor companies per record
includeAiSummarybooltrueAI summary + topic summaries on the first review per company
compactboolfalseTrim each record to core fields (good for AI / MCP)
incrementalboolfalseTag each record with changeType (NEW / UPDATED / REAPPEARED). Needs stateKey
stateKeystringnoneIdentifier for the persistent dedupe store; reuse across runs
requestDelayMsint150companyInfo and transparency only. Milliseconds between the start of one request and the next. Range 0 to 10000
maxConcurrencyint8companyInfo and transparency only. How many requests may be in flight at once. Range 1 to 16. This is the setting that controls throughput
reportFailedInputsboolfalsecompanyInfo only. Also write one dataset row for every input that did not return a company, carrying the reason. Off by default because the extra rows add columns to CSV and Excel exports

For searchCompanies, set searchQuery (or searchTerms). For categoryBrowser, set categoryId and searchCountry (default US). Both take maxBusinesses (default 200) and optionally minTrustScore / onlyClaimed.

A few things worth knowing about these settings:

  • maxBusinesses is one limit for the whole run, shared by every query. Once it is reached, later queries are not searched, and the run status names them.
  • minTrustScore and onlyClaimed work in both modes. minTrustScore follows the star rating Trustpilot shows, so 3 keeps 3 stars and up, 4 keeps 4 stars and up, and 5 keeps 4.5 stars and up. A company just under the line (TrustScore 3.8, shown as 4 stars) can appear.
  • searchCountry has no effect in searchCompanies. Trustpilot's company search has no country filter, so results come from every country.
  • maxTrustScore is not supported by Trustpilot and is ignored. It is kept so older inputs still run.

Input examples

One block per mode. Copy, paste, run.

Reviews mode

{
"mode": "reviews",
"urls": ["amazon.com"],
"maxReviews": 500,
"stars": [1, 2],
"sort": "recency"
}

Reviews mode, every language (past the ~1,000 ceiling)

{
"mode": "reviews",
"urls": ["amazon.com"],
"maxReviews": 3000,
"sweepAllLanguages": true
}

Search companies mode

{
"mode": "searchCompanies",
"searchQuery": "car insurance",
"maxBusinesses": 200
}

Browse category mode

{
"mode": "categoryBrowser",
"categoryId": "electronics_technology",
"searchCountry": "US",
"minTrustScore": 4,
"onlyClaimed": true,
"maxBusinesses": 500
}

Company info mode

{
"mode": "companyInfo",
"urls": ["amazon.com", "www.flashbay.com"]
}

Transparency report mode

{
"mode": "transparency",
"urls": ["www.flashbay.com"]
}

Recipes (ready-to-paste)

Pull every review for one company

{ "mode": "reviews", "urls": ["amazon.com"], "maxReviews": 5000, "sweepAllLanguages": true }

Just the 1-star reviews, last 30 days

{ "mode": "reviews", "urls": ["booking.com"], "stars": [1], "dateRange": "last30days", "maxReviews": 200 }

Lead-gen: every car-insurance company on Trustpilot US

{ "mode": "categoryBrowser", "categoryId": "car_insurance_company", "searchCountry": "US", "minTrustScore": 4, "maxBusinesses": 1000 }

Find a company by name (when you don't have the URL)

{ "mode": "searchCompanies", "searchQuery": "Patagonia", "maxBusinesses": 5 }

Cheap company-info pull for an account list

{ "mode": "companyInfo", "urls": ["stripe.com", "twilio.com", "sendgrid.com"] }

Transparency audit (paid Trustpilot subscription? AI replies on?)

{ "mode": "transparency", "urls": ["amazon.com", "booking.com", "nike.com"] }

Brand monitor (run on a schedule, dedupe across runs)

{ "mode": "reviews", "urls": ["yourbrand.com"], "incremental": true, "stateKey": "yourbrand-monitor", "maxReviews": 200 }

Compact output for an LLM context window

{ "mode": "reviews", "urls": ["amazon.com"], "maxReviews": 50, "compact": true }

Output examples

Every row carries type and scrapedAt. Real rows captured from live runs.

Reviews mode, one row per review:

{
"type": "review",
"reviewId": "69ea7eee0e75d9155452e51d",
"title": "Don't book attraction from booking.com",
"text": "I made a booking through Booking.com which was the worst thing I did...",
"rating": 1,
"publishedDate": "2026-04-23T22:19:58.000Z",
"experiencedDate": "2026-04-21T00:00:00.000Z",
"reviewUrl": "https://www.trustpilot.com/reviews/69ea7eee0e75d9155452e51d",
"language": "en",
"source": "Organic",
"isVerified": false,
"verificationLevel": "not-verified",
"likes": 0,
"reviewerName": "zaheer butt",
"authorId": "5b6848cd4de5666d340a4b61",
"authorUrl": "https://www.trustpilot.com/users/5b6848cd4de5666d340a4b61",
"reviewerCountry": "GB",
"reviewerReviewCount": 19,
"reviewerNumberOfReviewsOnSameDomain": 1,
"replyText": null,
"replyDate": null,
"replyAuthor": null,
"companyId": "46d3f1f8000064000500b592",
"companyName": "Booking.com",
"companyDomain": "www.booking.com",
"companyTrustScore": 1.7,
"companyStars": 1.5,
"companyTotalReviews": 108885,
"companyWebsite": "https://www.booking.com",
"companyClaimed": true,
"companyCategories": ["Travel Aggregator", "Hotel"],
"companyDescription": "Offering secure, easy booking since 1996, Booking.com is the world's most popular hotel reservations website, with trusted service in 41 languages.",
"companyReplyBehavior": {
"averageDaysToReply": 0,
"replyPercentage": 0,
"totalNegativeReviewsCount": 19433,
"negativeReviewsWithRepliesCount": 0
},
"companyIsUsingAIResponses": false,
"companyContactEmail": "customer.service@booking.com",
"companyContactPhone": "+31 20 712 5600",
"companyContactAddress": "Herengracht 597",
"companyContactCity": "Amsterdam",
"companyContactCountry": "NL",
"companyStatsRatings": { "total": 108885, "one": 76332, "two": 3764, "three": 2410, "four": 4728, "five": 21651 },
"aiSummary": "Most reviewers were let down by their experience overall. Many people were dissatisfied with the customer service, finding it unhelpful and difficult to reach a real person...",
"topicSummaries": [
{ "topic": "booking_process", "summary": "Reviewers highlight negative aspects of the booking process. Many customers experienced issues such as hidden charges..." },
{ "topic": "customer_service", "summary": "Clients share negative opinions on customer service, with many reviewers expressing extreme disappointment..." }
],
"scrapedAt": "2026-04-23T22:48:56.723Z"
}

A few review fields need a word of explanation. replyAuthor is the company's name, as Trustpilot shows it ("Reply from ..."), and is null when there is no reply. companyCategoryRanking lists each category with position and cardinality (#position of cardinality); both are null for a category where Trustpilot shows no ranking. The AI summary and topic summaries are added to the first review of each company in the run.

Search companies mode, one row per business:

{
"type": "business",
"businessUnitId": "573f69490000ff00058d2373",
"companyName": "Carrot Insurance",
"companyDomain": "www.carrotinsurance.com",
"companyProfileUrl": "https://www.trustpilot.com/review/www.carrotinsurance.com",
"companyTrustScore": 4.6,
"companyStars": 4.5,
"companyTotalReviews": 6952,
"companyContactWebsite": "https://www.carrotinsurance.com",
"companyContactAddress": "98 Liverpool Road, Formby, Liverpool, Merseyside",
"companyContactCity": "Formby",
"companyContactZip": "L37 6BS",
"companyCategories": [
{ "categoryId": "insurance_agency", "displayName": "Insurance Agency", "isPrimary": false }
],
"discoveredVia": "search",
"discoveryQuery": "car insurance",
"scrapedAt": "2026-04-23T22:49:15.395Z"
}

Browse category mode, one row per business:

{
"type": "business",
"businessUnitId": "4bdc9828000064000505dc60",
"companyName": "Flashbay",
"companyDomain": "www.flashbay.com",
"companyProfileUrl": "https://www.trustpilot.com/review/www.flashbay.com",
"companyLogoUrl": "//s3-eu-west-1.amazonaws.com/tpd/screenshotlogo-domain/4bdc9828000064000505dc60/198x149.png",
"companyTrustScore": 5,
"companyStars": 5,
"companyTotalReviews": 19316,
"companyContactEmail": "contact@flashbay.us",
"companyContactWebsite": "https://www.flashbay.com",
"companyContactAddress": "Flashbay Inc. 569 Clyde Avenue, Unit 500, Mountain View, CA 94043",
"companyCategories": [
{ "categoryId": "hobby_store", "displayName": "Hobby Store", "isPrimary": false },
{ "categoryId": "gift_shop", "displayName": "Gift Shop", "isPrimary": false }
],
"discoveredVia": "category",
"discoveryQuery": "electronics_technology",
"scrapedAt": "2026-08-19T09:21:44.512Z"
}

Company info mode, one row per company:

{
"type": "company",
"companyId": "5d03e8ff7e035900016d8934",
"companyName": "Notion",
"companyDomain": "notion.so",
"companyTrustScore": 2.2,
"companyStars": 2,
"companyTotalReviews": 433,
"companyWebsite": "https://notion.so",
"companyLogoUrl": "//s3-eu-west-1.amazonaws.com/tpd/logos/5d03e8ff7e035900016d8934/0x0.png",
"companyProfileUrl": "https://www.trustpilot.com/review/notion.so",
"companyClaimed": true,
"companyCategories": [],
"companyCountryCode": "US",
"companyContactEmail": "team@makenotion.com",
"companyContactPhone": "",
"companyContactAddress": "",
"companyContactCity": "",
"companyContactCountry": "US",
"companyContactZip": "",
"companyDescription": "Notion is the connected workspace that allows teams to easily share documents, take notes, manage projects, and organize knowledge\u2014all in one place. \n\nUsers can create and customize beautiful documents, roadmaps, knowledge bases, and more, helping them work smarter and faster. \n\nNotion is trusted and loved by a global community of individual users and enterprises, including companies like Pixar, Headspace, Codeacademy, and Loom.",
"companyStatsRatings": {
"total": 433,
"one": 188,
"two": 34,
"three": 23,
"four": 47,
"five": 141
},
"scrapedAt": "2026-09-21T19:55:31.785Z"
}

Transparency report mode, one row per company:

{
"type": "transparencyReport",
"companyId": "46d46ce6000064000500c2ad",
"companyName": "Nike",
"companyDomain": "www.nike.com",
"isClaimed": false,
"claimedDate": "2023-11-20T16:17:34.000Z",
"isUsingPaidFeatures": false,
"replyRate": 0,
"reportingStatistics": {
"totalReportsCount": 0,
"reviewsTakenOfflineCount": 0,
"reactivatedReviewsCount": 0
},
"reviewStatistics": {
"collectingMethodDistribution": { "automatic": 0, "manual": 0, "organic": 2326, "redirected": 2, "all": 2328 },
"totalNumberOfReviews": 2328,
"replyBehavior": { "averageDaysToReply": 0, "replyPercentage": 0, "totalNegativeReviewsCount": 1978 },
"monthlyDistribution": "...12-month rolling histogram, star x method per cell..."
}
}

Field availability by mode

Field groupreviewssearchCompaniescategoryBrowsercompanyInfotransparency
Review body, rating, dates✅----
Reviewer name + ID + country✅----
Reviewer profile URL✅----
Company reply text + author✅----
AI summary + topic summaries✅----
Company name + domain + trust score✅✅✅✅partial
Per-star count breakdownopt-in--✅partial
Contact email / phone / addressopt-out✅✅opt-out-
8 similar competitorsopt-in----
Reply behaviour KPIs✅---✅
Reports + investigations + takedowns----✅
Monthly review histogram----✅

Use cases

  1. B2B lead gen - browse a category and grab email + phone + address for every company. Insurance, hosting, crypto, e-commerce - whatever your ICP looks like.
  2. Brand monitoring - schedule a daily incremental run on your own brand; only NEW or UPDATED reviews land in your dataset.
  3. Sentiment analysis at scale - the AI summary and per-topic summaries are already in the output, no LLM call needed downstream.
  4. Competitive intelligence - turn includeSimilarCompetitors: true on and you get 8 ranked competitors per company you scrape, free.
  5. Fake-review detection - the transparency mode exposes Trustpilot's own collecting-method distribution (organic vs invited vs redirected) and report counts. Useful for auditors and journalists.
  6. Pre-purchase research - pull the 1-star reviews from the last 30 days for any product you're considering.
  7. CX / support analytics - export the full review feed plus reply text into your warehouse, group by topic, track resolution rates.
  8. Onboarding screen for sales tools - paste a prospect's website, hit companyInfo mode, and you have a full Trustpilot card to embed.
  9. AI / RAG context - compact mode trims each record to the fields a language model actually needs.

Other scrapers you might like

TripAdvisor Scraper
Hotel + restaurant reviews + ratings.
Google Play Scraper
App listings, reviews, install counts.
Apple App Store Scraper
iOS app reviews + metadata.
LinkedIn Company Scraper
Headcount, industry, HQ.
Shopify Scraper
Store products, prices, variants.
SimilarWeb Scraper
Traffic + ranking data per domain.

Frequently asked questions

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data that falls under GDPR or CCPA without a lawful basis. This actor only touches publicly accessible Trustpilot pages, but you're responsible for how you use the output.

Apify published a detailed breakdown: Is web scraping legal?.

How much does Trustpilot Scraper cost?

Pay-per-result. $0.50 per 1,000 reviews in the default reviews mode. The Apify Free plan gives you $5 in usage credits every month, which is roughly 10,000 reviews. The $29/month Starter plan covers about 58,000 reviews per month.

Other modes are billed differently: search/category results at $0.20 per 1K (lead gen), company info at $1 per 1K, transparency reports at $5 per 1K. A $0.002 start fee applies per run. No subscription lock-in.

Can I integrate Trustpilot Scraper with other tools?

You can push results straight into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and plenty more. The Apify platform treats every actor as a webhook source, so anything that reads webhooks or pulls from an API can consume the output.

See Apify integrations for the full list.

Can I use Trustpilot Scraper with the Apify API?

Yes. Every run is available via the Apify REST API. A minimal start-run call:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~trustpilot-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["amazon.com"], "maxReviews": 100}'

Full docs: Apify API reference.

Can I use Trustpilot Scraper through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call this scraper directly. Setup: Apify MCP docs.

How does it compare to Trustpilot's own Business API?

Trustpilot's Business API is free, but it requires OAuth credentials and only returns data for businesses you control. It also doesn't expose the AI summary, the contact details on the public profile, the similar-competitors list, or the transparency report. If you need any of those, or you want data for companies you don't own, scraping the public site is the only option.

Why am I capped at 200 reviews per filter?

Trustpilot enforces a hard 200-review (10-page) cap on every reviews endpoint server-side, and page 11 redirects to a login wall. The actor slices by star rating to get past it, which reaches roughly 1,000 per company. Turn on Sweep all languages to go beyond that. See how many reviews you can scrape per company for the full picture.

How do I get more than 1,000 reviews from one company?

Turn on Sweep all languages. A normal run collects English only, which tops out near 1,000 per company. Sweeping collects every language the company has, and on a global brand that is the difference between 1,000 and several thousand. Set maxReviews to the number you want and the run stops there.

If the company only sells in one market it will have few non-English reviews, so the sweep adds little. That is a property of the company, not the scraper.

Why does my run status say "Partial"?

It means at least one company could not reach the number you asked for, because Trustpilot ran out of reviews to serve under the filters used. The message tells you how many companies fell short and how many reviews you got in total. Everything collected is in your dataset and you are only charged for what you received.

You will not see it when a company simply has fewer reviews than you asked for and all of them were returned. That is a complete run, not a partial one.

What happens if I run it with no input?

It depends on the mode:

  • reviews: nothing is scraped and no results are billed, only the $0.002 run start fee. The run finishes successfully with an empty dataset and a message asking for urls or searchTerms, so a typo in a field name will not quietly bill you for a company you never asked for.
  • searchCompanies: with no query it searches "amazon" as an example, bills those results, and says so in the run status.
  • categoryBrowser: with no categoryId it browses electronics_technology as an example and bills those results.
  • companyInfo and transparency: with no urls they use amazon.com as an example and bill that record.

Check the mode's required input before you start a scheduled run.

What happens if I pass a domain that isn't on Trustpilot?

The run finishes successfully with no rows for that input. In reviews mode the run status lists the inputs that returned nothing, and in companyInfo mode each one is recorded in the COMPANY_INFO_REPORT record. You don't get charged for results that don't exist. Same goes for typos and unclaimed companies with zero reviews.

In searchCompanies mode, a query with no matches, a failed search, or a query that is really a domain or URL (Trustpilot treats that as a company lookup, not a search) also ends with a run status that says so. For one company, use companyInfo mode instead.

How fast is it?

A 200-review run finishes in about 30 seconds. A 1,000-review run takes about 2 minutes. A 2,500-review run with all languages on takes about 4 minutes. Bot protection is handled automatically, with no proxy setup on your side.


Your feedback

Ran into a bug, want a new field, or need a different market covered? Drop a note in the Issues tab. Every report goes to a human and fixes usually ship the same week.