⭐️ Trustpilot Reviews Scraper avatar

⭐️ Trustpilot Reviews Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
⭐️ Trustpilot Reviews Scraper

⭐️ 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 Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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 reviewLimit around 25–50.
  • Use dataset delivery on early runs so blocked or partial cases are easy to inspect.
  • Keep dryRun: true for 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 companies array for downstream analytics or enrichment pipelines.

Use Cases

WhoWhy
Brand teamsMonitor rating drift and company reply rates across brands or competitors
CX teamsPull recent review samples for QA, escalation, or coaching workflows
AgenciesBenchmark multiple clients or competitors in one normalized dataset
Revenue / partnerships teamsEnrich company lists with public reputation signals before outreach

Input

  • companyUrls: Trustpilot review URLs like https://www.trustpilot.com/review/www.shopify.com or domains like shopify.com
  • reviewLimit: max recent reviews to collect per company
  • delivery: dataset or webhook
  • webhookUrl: optional when delivery=webhook
  • dryRun: skip dataset writes and only create output/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, or invalid
  • company: normalized Trustpilot company metadata
  • ratingDistribution: star breakdown when Trustpilot exposes it
  • reviewLanguageDistribution: counts by language when available
  • reviewSample: normalized recent review samples
  • reviewSampleSummary: counts, page coverage, verified review count, and reply flags
  • warnings: 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.

Pair this actor with other flagship intelligence APIs in the same portfolio:

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 companyUrls batch and reviewLimit of 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: true before 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.