Trustpilot Scraper — Company Reviews Data avatar

Trustpilot Scraper — Company Reviews Data

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Trustpilot Scraper — Company Reviews Data

Trustpilot Scraper — Company Reviews Data

Scrape customer reviews from any company's Trustpilot page. Clean typed JSON: star rating, title, full text, dates, reviewer name & country, verification, company replies & TrustScore per row.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Quietparse

Quietparse

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape customer reviews from any company's page on Trustpilot (trustpilot.com) and get clean, typed JSON: star rating as a number, review title and full text, publication date and date of experience as ISO dates, reviewer name and country, verification status, the company's public reply, and the company's TrustScore on every row. No HTML parsing on your side.

What it does

  • Crawls Trustpilot company review pages (~20 reviews per page request — fast and cheap; public, logged-out pages only).
  • Reads the structured JSON embedded in each page (__NEXT_DATA__) instead of brittle CSS selectors — markup redesigns don't break extraction.
  • Normalizes every value: star image → rating: 1-5, "Date of experience: March 15, 2026" → 2026-03-15, "Verified" label → verified: true, company replies → { text, date }.
  • Accepts plain company domains ("asos.com") or full Trustpilot review URLs; the "www." spelling is corrected automatically.
  • Typical uses: brand monitoring, competitor review analysis, sentiment/ML datasets, churn research from 1-2★ reviews, support-quality tracking from reply rates, market research dashboards.

Input

FieldTypeDefaultDescription
companyDomainsarray of strings["azazie.com"]Company domains as they appear on Trustpilot ("asos.com", "www.asos.com"). Wrong "www." form is auto-corrected.
companyUrlsarray of stringsFull trustpilot.com review URLs (https://www.trustpilot.com/review/<domain>). Combined with the domains.
languagesstring"all""all" or one language code ("en", "de", "fr").
sortstring"recency""recency" (newest first) or "relevance" (Trustpilot's default ranking).
minRating / maxRatingintegerKeep only reviews in this star range (1-5). Filtered-out reviews are never charged.
maxReviewsPerCompanyinteger100Cap per company (max 5,000 — see Limitations for the practical site ceiling).
maxResultsinteger100Hard cap across all companies (max 10,000). Free-plan users are capped at 50.
proxyConfigurationobjectApify Residential proxyTrustpilot is behind AWS WAF; residential proxy is required (datacenter IPs are blocked).

Example input:

{
"companyDomains": ["asos.com", "boohoo.com"],
"maxRating": 2,
"maxReviewsPerCompany": 200,
"maxResults": 400
}

Output sample

One dataset item per review:

{
"review_id": "69bbddbadb7b31e0e7f1b0dc",
"company_domain": "www.asos.com",
"company_name": "ASOS",
"company_trust_score": 1.8,
"company_total_reviews": 190654,
"rating": 1,
"title": "ordered yesterday with next day…",
"text": "ordered yesterday with next day delivery, hasn't even been dispatched...",
"language": "en",
"date_published": "2026-03-19T10:47:54.000Z",
"date_of_experience": "2026-03-19",
"reviewer_name": "Megan",
"reviewer_country": "GB",
"reviewer_review_count": 1,
"verified": false,
"company_reply": null,
"review_url": "https://www.trustpilot.com/reviews/69bbddbadb7b31e0e7f1b0dc",
"scraped_at": "2026-06-12T10:00:00.000Z"
}

Field notes: verified is true only when Trustpilot itself labeled the review Verified (a confirmed business interaction) — invited and organic reviews are false. company_reply is { "text": "...", "date": "..." } when the business replied, otherwise null. date_of_experience, reviewer_country, reviewer_review_count, text, and language are null when Trustpilot doesn't show them. company_trust_score and company_total_reviews are snapshots at scrape time, repeated on every row so each review is self-contained in CSV exports.

Pricing & free-tier policy

This Actor uses pay-per-event pricing:

EventWhen charged
Actor start (apify-actor-start)Automatically by Apify, once per run (per GB of memory)
Company review (apify-default-dataset-item)Automatically by Apify, per default-dataset item

Per-item and per-start prices are shown on the Actor's Pricing tab in Apify Store.

You only pay for reviews that pass output-schema validation — malformed rows and reviews removed by your star-rating filter are never charged. Set Maximum cost per run in Apify Console to cap spend; the Actor stops gracefully at the limit and keeps everything scraped so far.

Free tier — stated plainly: users on the Apify free plan get up to 50 reviews per run. The run still finishes successfully with a clear status message when the cap is reached. Any paid Apify plan unlocks the full 10,000-reviews-per-run limit.

Limitations

  • Review pages only (v1). Reviewer profile pages and Trustpilot category /search pages are not crawled.
  • Logged-out visitors only see a company's most recent reviews — about 200 per query (10 pages × 20), and Trustpilot's public star filter overlaps heavily with that same recency feed. The Actor splits deep requests by star rating to reach a little further, but the measured practical ceiling is ~200-300 of the most-recent reviews per company. Full multi-year archives of very large companies are not reachable from public pages — by design, this Actor never logs in.
  • Politeness by design: pages are loaded in a real headless browser, sequentially, with a randomized 2-5 s delay through rotating residential proxies (Trustpilot is fronted by AWS WAF, which a browser clears).
  • Reviewer fields contain exactly what Trustpilot shows publicly (display name, country code, review count) — no enrichment, no contact details. If you process this data in the EU/UK, you are the controller for your use; handle it per GDPR.
  • Reviews change constantly (edits, removals, new replies) — treat results as a snapshot (scraped_at is on every row).

Support

Found an issue or need a field added? Open an issue on the Actor page and it will usually be handled within a few days.