Trustpilot Scraper: Reviews, Companies, Categories, Contacts
Pricing
from $0.50 / 1,000 reviews
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
Maintained by CommunityActor stats
4
Bookmarked
98
Total users
34
Monthly active users
4 days ago
Last modified
Categories
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.
| Concern | Official Trustpilot API | Most Apify Trustpilot scrapers | This scraper |
|---|---|---|---|
| Account / OAuth required | Yes (developer account) | No | No |
| AI review summary + per-topic summaries | No | No | Yes |
| Company contact (email, phone, address) | Only your own business | 1 of 9 actors | Yes |
| Transparency report (240-cell monthly star x method matrix) | No | No | Yes |
| Search-by-keyword + browse-by-category modes | No | 1 of 9 actors | Yes |
| Reviews per company | API: capped to your own | 200 (one filter) | ~1,000, or several thousand with all languages on |
| Incremental change tracking (NEW / UPDATED / REAPPEARED) | No | No | Yes |
| Price per 1,000 reviews | Free for own data only | $0.20 to $3.00 | $0.50 |
| Per-run start fee | n/a | Often $0.05 | $0.002 |
| Modes split across separate actors? | n/a | Frequently 2 to 4 | One 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, lat, lon, 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.
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
- Create a free Apify account. 30 seconds, no card needed.
- Open the Trustpilot Scraper in the Apify Console.
- 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. - Click Start. A 200-review run finishes in about 30 seconds. A 1,000-review slice run takes 1 to 2 minutes.
- 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.
| Mode | Per result | Per 1,000 | Free 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}
| Field | Type | Default | Note |
|---|---|---|---|
mode | string | reviews | One of reviews, searchCompanies, categoryBrowser, companyInfo, transparency |
urls | array | [] | Company URLs or bare domains. Old companyUrls is still accepted as an alias |
searchTerms | array | [] | Brand names; auto-resolved to a Trustpilot slug via the directory search |
maxReviews | int | 200 | Up to 10,000 per company. Above 200, slicing kicks in automatically |
stars | array | [] | Subset of [1,2,3,4,5]. Old single-value starFilter still accepted |
languages | array | [] | ISO codes. Each language is fetched in order until maxReviews is reached, so size maxReviews for the number of languages you list |
dateRange | string | all | last30days, last3months, last6months, last12months |
startDate | string | none | YYYY-MM-DD chronological cutoff applied client-side |
verifiedOnly | bool | false | Server-side verified=true filter |
repliesOnly | bool | false | Server-side replies=true filter |
topics | array | [] | e.g. customer_service, delivery_service, refund, product |
keyword | string | none | Full-text body search |
sort | string | recency | Or relevance |
aggressiveSlicing | bool | auto | Slice by star rating and dedupe by review id, to get past the 200-per-filter cap. Auto-on when maxReviews > 200 |
sweepAllLanguages | bool | false | Collect every language the company has, not just English. This is what takes a big brand past ~1,000 reviews |
lookbackDays | int | none | Only emit reviews published within the last N days (shortcut for startDate) |
includeContact | bool | true | email, phone, address per company |
includeStats | bool | false | Per-star count breakdown |
includeSimilarCompetitors | bool | false | 8 competitor companies per record |
includeAiSummary | bool | true | AI summary + topic summaries on the first review per company |
compact | bool | false | Trim each record to core fields (good for AI / MCP) |
incremental | bool | false | Tag each record with changeType (NEW / UPDATED / REAPPEARED). Needs stateKey |
stateKey | string | none | Identifier for the persistent dedupe store; reuse across runs |
For searchCompanies and categoryBrowser, set searchQuery (or categoryId), searchCountry (default US), maxBusinesses (default 200), and optionally minTrustScore / maxTrustScore / onlyClaimed.
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","searchCountry": "US","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", "searchCountry": "US", "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"}
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": "4bdc9828000064000505dc60","companyName": "Flashbay","companyDomain": "www.flashbay.com","companyTrustScore": 5,"companyStars": 5,"companyTotalReviews": 19315,"companyWebsite": "https://www.flashbay.com","companyProfileUrl": "https://www.trustpilot.com/review/www.flashbay.com","companyClaimed": true,"companyCountryCode": "US","companyContactEmail": "contact@flashbay.us","companyContactAddress": "Flashbay Inc. 569 Clyde Avenue, Unit 500, Mountain View, CA 94043","companyContactCountry": "US","companyDescription": "Flashbay, one of the world's leading suppliers of branded Flash Drives, Power Banks, Audio Products, Drinkware and more!","companyStatsRatings": { "total": 19315, "one": 78, "two": 32, "three": 96, "four": 802, "five": 18307 },"scrapedAt": "2026-08-19T09:22:04.118Z"}
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 group | reviews | searchCompanies | categoryBrowser | companyInfo | transparency |
|---|---|---|---|---|---|
| Review body, rating, dates | ✅ | - | - | - | - |
| Reviewer name + ID + country | ✅ | - | - | - | - |
| Reviewer profile URL | ✅ | - | - | - | - |
| Company reply text + author | ✅ | - | - | - | - |
| AI summary + topic summaries | ✅ | - | - | - | - |
| Company name + domain + trust score | ✅ | ✅ | ✅ | ✅ | ✅ |
| Per-star count breakdown | opt-in | - | - | ✅ | partial |
| Contact email / phone / address | opt-in | ✅ | ✅ | ✅ | - |
| Lat / lon coordinates | - | ✅ | ✅ | - | - |
| 8 similar competitors | opt-in | - | - | - | - |
| Reply behaviour KPIs | opt-in | - | - | - | ✅ |
| Reports + investigations + takedowns | - | - | - | - | ✅ |
| Monthly review histogram | - | - | - | - | ✅ |
Use cases
- B2B lead gen - browse a category and grab email + phone + address for every company. Insurance, hosting, crypto, e-commerce - whatever your ICP looks like.
- Brand monitoring - schedule a daily incremental run on your own brand; only NEW or UPDATED reviews land in your dataset.
- Sentiment analysis at scale - the AI summary and per-topic summaries are already in the output, no LLM call needed downstream.
- Competitive intelligence - turn
includeSimilarCompetitors: trueon and you get 8 ranked competitors per company you scrape, free. - 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.
- Pre-purchase research - pull the 1-star reviews from the last 30 days for any product you're considering.
- CX / support analytics - export the full review feed plus reply text into your warehouse, group by topic, track resolution rates.
- Onboarding screen for sales tools - paste a prospect's website, hit
companyInfomode, and you have a full Trustpilot card to embed. - 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
Is it legal to scrape Trustpilot?
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?
Nothing is scraped and nothing is charged. The run finishes successfully with an empty dataset and a message asking for urls or searchTerms. A typo in a field name will not quietly bill you for a company you never asked for.
What happens if I pass a domain that isn't on Trustpilot?
The run finishes successfully with an empty dataset and a warning in the logs. You don't get charged for results that don't exist. Same goes for typos, unclaimed companies with zero reviews, or company URLs Trustpilot has merged into another profile.
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.