⭐️ Trustpilot Reviews Scraper
Pricing
from $10.00 / 1,000 results
⭐️ Trustpilot Reviews Scraper
Extract full review text, star ratings, and company reply data from Trustpilot profiles to track customer sentiment and SLAs.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
太郎 山田
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Trustpilot Review Intelligence API | Ratings, Samples & Reply Signals
Extract comprehensive review data and company reply signals directly from any Trustpilot profile. For businesses relying on customer feedback to drive sales, manually checking web pages for new ratings is an outdated and error-prone process. This scraper automates the extraction of public sentiment, allowing marketing and customer experience teams to build a structured database of consumer opinions. Just input the target Trustpilot URLs, and the tool will crawl the profile to pull the complete interaction history.
By running this extraction tool on a daily or weekly schedule, you can continuously track customer satisfaction metrics without opening a browser. Support teams frequently use these scraped results to calculate internal metrics, gauge overall brand health, and compare their response times against top competitors in their industry. Catching a low-star rating the moment it is posted allows your agents to step in, address the complaint, and potentially turn a negative experience into a resolved case.
The extracted data provides exactly what you need to run deep text analytics or audit support SLAs. Every successful run outputs specific details including the full review text, the exact star rating given, reviewer contact signals, and precise timestamps for both the original post and the company's reply. This ensures you always know which reviews have been answered and which are still waiting for a resolution.
Store Quickstart
- Start with 3–10 company review URLs or raw domains and keep
reviewLimitaround 25–50. - Use dataset delivery on early runs so blocked or partial cases are easy to inspect.
- Keep
dryRun: truefor validation-only checks before a scheduled or webhook handoff. - After the first useful run, move to the recurring watchlist template, then use the webhook handoff template for negative-review or reply-gap alerts.
What it does
- Accepts multiple Trustpilot company review URLs or raw company domains.
- Fetches company metadata, recent review samples, rating distribution, review language mix, and company reply signals.
- Flags blocked, missing, invalid, or partially collected sources with structured warnings.
- Produces a clean
companiesarray for downstream analytics or enrichment pipelines.
Use Cases
| Who | Why |
|---|---|
| Brand teams | Monitor rating drift and company reply rates across brands or competitors |
| CX teams | Pull recent review samples for QA, escalation, or coaching workflows |
| Agencies | Benchmark multiple clients or competitors in one normalized dataset |
| Revenue / partnerships teams | Enrich company lists with public reputation signals before outreach |
Input
companyUrls: Trustpilot review URLs likehttps://www.trustpilot.com/review/www.shopify.comor domains likeshopify.comreviewLimit: max recent reviews to collect per companydelivery:datasetorwebhookwebhookUrl: optional whendelivery=webhookdryRun: skip dataset writes and only createoutput/result.json
Input Examples
Example: Single-target audit
{"targets": ["example-target-1"],"maxResultsPerTarget": 30}
Example: Bulk portfolio
{"targets": ["target-1","target-2","target-3"],"maxResultsPerTarget": 50,"snapshotKey": "trustpilot-enterprise-review-aggregator-state"}
Example: Recurring delta watch
{"targets": ["target-1"],"snapshotKey": "trustpilot-enterprise-review-aggregator-state","emitChangedOnly": true}
Output shape
Each company row includes:
status:ok,partial,blocked,missing, orinvalidcompany: normalized Trustpilot company metadataratingDistribution: star breakdown when Trustpilot exposes itreviewLanguageDistribution: counts by language when availablereviewSample: normalized recent review samplesreviewSampleSummary: counts, page coverage, verified review count, and reply flagswarnings: structured warnings for blocked, missing, or partial collection scenarios
Output Example
{"status": "ok","company": {"displayName": "Example Co","trustScore": 4.2,"numberOfReviews": 6,"contactInfo": { "city": "Austin", "country": "US" }},"ratingDistribution": {"total": 6,"breakdown": [{ "rating": 5, "count": 4 }]},"reviewSampleSummary": {"collected": 3,"verifiedReviewCount": 2,"companyReplyCount": 1},"reviewSample": [{ "rating": 5, "title": "Fast onboarding", "language": "en", "hasCompanyReply": true }],"warnings": []}
Local run
$npm start
Use input.json for local runs and npm test to run the unit tests.
Related Actors
Pair this actor with other flagship intelligence APIs in the same portfolio:
- Google Maps Review Intelligence API — compare location-level ratings and snippets with brand-level Trustpilot signals.
- G2 & Capterra Review Intelligence API — extend the same workflow into B2B software review surfaces.
- Shopify Store Intelligence API — pair Trustpilot reputation data with public storefront and catalog intelligence.
- YouTube Channel Analytics API — connect review sentiment with creator and content visibility signals.
Pricing & Cost Control
Apify Store pricing is usage-based, so total cost mainly follows how many companyUrls you process and how many review samples you request. Check the Store pricing card for the current per-event rates.
- Start with a small
companyUrlsbatch andreviewLimitof 25–50. - Use dataset delivery first so you can inspect blocked or partial cases.
- Keep scheduled runs focused on shortlists rather than large dumps when possible.
- Use
dryRun: truebefore webhook handoffs.
⭐ Was this helpful?
If this actor saved you time, please leave a ★ rating on Apify Store. It takes 10 seconds, helps other developers discover it, and keeps updates free.
Bug report or feature request? Open an issue on the Issues tab of this actor.