Skip to content

Trustpilot Reviews Scraper

Try for free

Scrape public Trustpilot company reviews: rating, review text, reviewer, dates, verification, and the company reply.

⭐ Trustpilot Reviews Scraper

Export public Trustpilot reviews for any company as structured data. Give it a company page, a domain, or a brand name and get one row per review: star rating, title, text, reviewer name and country, verification status, dates, and the company reply when there is one. No Trustpilot login and no API key.

✨ Why use Trustpilot Reviews Scraper?

  • 🔓 No login needed — it reads the same public review list as the company page.
  • 🎚️ Strong filters — keep chosen star ratings, languages, reviewer countries, verified reviews, or only reviews with a company reply.
  • 🕒 Stay incremental — a start date or "last N days" window keeps a scheduled run small.
  • ⚖️ Balanced sampling — split the limit evenly across 1 to 5 stars to get a fair mix.
  • 🏢 Brand name lookup — do not know the domain? Search by brand name and the actor resolves it.
  • 🏷️ Optional company data — add the public company profile and star distribution to each row.

🎯 Use cases

  • 📣 Reputation monitoring — pull the newest reviews for a company you already have a domain for.
  • 🔁 Daily syncs — run on a schedule limited to the last few days.
  • 🗣️ Voice of customer — feed review text into your own sentiment or topic analysis.
  • 🆚 Competitor benchmarking — compare ratings, language mix, and reply habits across brands.
  • 🛟 Support triage — filter to 1-star reviews with no reply to find unanswered complaints.

🚀 How to use

  1. Add Company pages (a review URL, a domain such as www.bankfive.com, or a bare name), or add Brand names to search.
  2. Set Maximum reviews per company (default 10).
  3. Optional: choose star ratings, languages, a date window, verified-only, or replies-only.
  4. Click Start.
  5. Open the dataset and export it as JSON, CSV, or Excel.

📥 Input

FieldTypeWhat it does
startUrlsarrayA Trustpilot review URL, a domain, or a bare name, one company per entry. Reviewer profile URLs are skipped.
searchTermsarrayBrand names to resolve on the public search page.
maxReviewsintegerReviews per company. Default 10.
sortBy / samplingstringrecent or relevancy; recent or balanced (equal share per star).
filterStarsarrayKeep these star ratings.
filterLanguages / scrapeAllReviewsarray / booleanISO codes such as en; all languages by default.
filterCountriesarrayKeep reviewer countries such as US, GB. Applied after the page is read.
filterDateRangestringall, last30days, last3months, last6months, last12months.
startDate / lastDaysstring / integerYYYY-MM-DD cutoff or rolling days. The later cutoff wins.
filterVerifiedOnly / filterRepliesOnlybooleanKeep verified reviews, or reviews with a company reply.
strictNameMatchbooleanWhen resolving a brand, require the name or domain to match.
includeCompanyDetails / includeStatsbooleanAdd the company profile and star distribution.
proxyConfigurationobjectDatacenter proxy by default.
{
  "startUrls": ["https://www.trustpilot.com/review/www.bankfive.com"],
  "maxReviews": 10,
  "sortBy": "recent",
  "sampling": "recent"
}

📤 Output

One dataset row per review.

FieldDescription
id, urlReview id and permanent link.
rating, title, text, languageStars, headline, body, and language.
isVerified, verificationLevel, source, labelsVerification details.
reviewerName, reviewerCountry, reviewerNumberOfReviews, consumerReviewer details.
publishedDate, experiencedDate, updatedDate, datesReview dates.
replyCompany reply with text and publishedDate, or null.
likes, numberOfLikesLikes on the review.
businessName, businessUrl, businessUnitIdThe company reviewed.
scrapedAtWhen the row was collected.

Real item from a test run (trimmed):

{
  "id": "6ac3cbc78f9e6053fec6a008",
  "title": "I like to have a relationship with my…",
  "text": "I like to have a relationship with my bank when you move key employees like the manager … I wonder why.  I will look for",
  "rating": 3,
  "language": "en",
  "source": "InvitationApi",
  "isVerified": true,
  "verificationLevel": "verified",
  "likes": 0,
  "publishedDate": "2026-10-05T18:09:43.000Z",
  "experiencedDate": "2026-04-15T00:00:00.000Z",
  "reviewerName": "Jane Doe",
  "reviewerCountry": "US",
  "reviewerNumberOfReviews": 4,
  "reply": {
    "text": "Hi Jane,\n\nThank you for sharing your feedback. We understand how important it is to build relationships with the pe…",
    "publishedDate": "2026-10-08T19:47:41.000Z"
  },
  "url": "https://www.trustpilot.com/reviews/6ac3cbc78f9e6053fec6a008",
  "businessUrl": "https://www.trustpilot.com/review/www.bankfive.com",
  "businessName": "BankFive",
  "businessUnitId": "5891086e0000ff00059bd8f0",
  "scrapedAt": "2026-10-14T00:44:37.023Z"
}

💰 Pricing

$0.70 per 1,000 reviews, which is $0.0007 per saved review.

Worked example: 1,000 reviews cost $0.70 in review fees. Platform usage is billed separately at standard rates. Trustpilot asks for a short browser check before it serves reviews, and that check is billed as browser time. In our billing test, a 10-review run cost about $0.027 in total, of which $0.007 was review fees and $0.015 was the browser check. Larger runs spread that fixed cost over more reviews.

❓ FAQ

Is it legal to scrape Trustpilot? The actor reads only public reviews. You are responsible for using the data in line with Trustpilot's terms and the privacy rules that apply to you.

Do I need a Trustpilot account or my own proxy? No. Datacenter proxy is built in, and the actor handles the browser check itself.

Why might the count be lower than the number on the profile? The profile total includes reviews that the public list does not return. The actor saves the reviews on the public list.

What happens for an unknown domain? The run succeeds and saves no row for that domain.

Can I pass several companies? Yes. maxReviews applies to each company.

Can I schedule it or use the API? Yes, both. Use lastDays for a daily run that only picks up new reviews.

⚠️ Limits

  • Trustpilot asks for a login after page 10 of a review list, so one list gives at most 200 reviews (20 per page). This is a site limit, not a setting. Balanced sampling reads each star rating as its own list, so it can return up to 1,000 reviews per company; separate runs with star or language filters each get their own 200.
  • Runs take roughly 25 to 35 seconds in our tests because of the browser check.
  • The reviewer-country filter is applied after the page is read, so it can return fewer rows than the limit.
  • Some fields Trustpilot does not publish are null, such as isLatestByConsumerOnBusinessUnit.
  • Reviewer profile URLs are skipped. There is no AI summary and no contact-email lookup.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.