DEV Community

Evan
Evan

Posted on

Scrape all Trustpilot reviews with pagination (Apify Actor)

The problem

Several Trustpilot scrapers stop after the first page (~20 reviews). If you need a fuller history for reputation monitoring, reply analysis or competitor research, you need an Actor that keeps paging.

The Actor

evanatlasx/trustpilot-reviews-scraper

It reads Trustpilot's public review pages page by page until maxReviews or the last page, with star/language filters and dedupe. Pricing at time of writing: $0.0005 per review, plus a tiny Actor Start fee.

Example input

{
    "companyUrls": [
        "https://www.trustpilot.com/review/www.apple.com"
    ],
    "maxReviews": 50,
    "sortBy": "recency"
}
Enter fullscreen mode Exit fullscreen mode

You can also pass a bare domain (booking.com); the Actor follows Trustpilot's redirect. To keep only complaints:

{
    "companyUrls": [
        "apple.com"
    ],
    "maxReviews": 30,
    "stars": [
        "1"
    ],
    "sortBy": "recency"
}
Enter fullscreen mode Exit fullscreen mode

Example output

Real sample for Apple (maxReviews: 50):

{
    "companyUrl": "https://www.trustpilot.com/review/www.apple.com",
    "companyDomain": "www.apple.com",
    "reviewId": "6ae3a327e957768c0d64e03c",
    "rating": 1,
    "title": "Worst customer service experience.",
    "text": "Worst customer service experience.\n\nRuined my excitement of gettting a new phone.\n\n",
    "date": "2026-10-29T21:48:55.000Z",
    "experiencedDate": "2026-10-29T00:00:00.000Z",
    "language": "en",
    "countryCode": "GB",
    "isVerified": false,
    "authorName": "Anri Shengelia",
    "authorId": "6a913e8f174b66af9d05d699",
    "replyText": null,
    "replyDate": null,
    "reviewUrl": "https://www.trustpilot.com/reviews/6ae3a327e957768c0d64e03c",
    "scrapedAt": "2026-10-30T06:49:37.513Z"
}
Enter fullscreen mode Exit fullscreen mode

How to export

  1. Run the Actor with your company list.
  2. Open the dataset → Export CSV/JSON.
  3. Optional: schedule weekly and filter client-side on date / scrapedAt.

Cost sketch

100 reviews ≈ $0.05 in review-scraped events (plus Actor Start). Raise maxReviews only as far as you need — Trustpilot may still cap public listing depth.

Caveats (honest)

  • Public data only; respect Trustpilot's terms and privacy rules (author names are personal data).
  • WAF behaviour can change; the Actor prefers plain HTTP and falls back to headed Chrome when challenged.
  • Site redesigns of Trustpilot's Next.js data routes can require an Actor update.

Related

Top comments (0)