Trustpilot Reviews Scraper avatar

Trustpilot Reviews Scraper

Pricing

from $0.25 / 1,000 review extracteds

Go to Apify Store
Trustpilot Reviews Scraper

Trustpilot Reviews Scraper

Export public Trustpilot reviews, ratings, business replies and company metrics. Filter by stars or language and download JSON, CSV or Excel.

Pricing

from $0.25 / 1,000 review extracteds

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

9

Monthly active users

8 days ago

Last modified

Share

Export public Trustpilot company reviews with ratings, review text, visible business replies and company metrics. Trustpilot Reviews Scraper turns company review URLs or domains into a dataset for reputation analysis, complaint triage and comparing customer feedback.

Download JSON, CSV or Excel, or retrieve results through the API. Only public review pages are supported. Fields can be missing when Trustpilot does not expose them.

Quick start

  1. Add a Trustpilot company review URL or company domain.
  2. Choose a small review limit and any star or language filters.
  3. Run the Actor and open its dataset.
{
"startUrls": [
{
"url": "https://www.trustpilot.com/review/www.amazon.com"
}
],
"maxReviewsPerCompany": 20,
"sort": "recency",
"includeReplies": true
}

Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.

Ready-to-run examples

Choose a bounded starting point, then adjust its company URLs and review limit. These examples collect public reviews, not a guaranteed date range.

What you get

  • Review content: Titles, text, ratings, dates and source URLs.
  • Company context: Company name, domain, TrustScore and total review count where available.
  • Focused exports: Star and language filters, recent or default listing order and a per-company limit.
  • Replies and reviewers: Visible business replies, reviewer metadata and verification indicators when available.

Who is it for?

  • Reputation teams: Review customer feedback and recurring complaints.
  • Support teams: Group low-star reviews for manual triage.
  • Analysts and agencies: Compare public feedback across companies.
  • AI-assisted research: Retrieve source reviews before summarizing themes.

Input settings

SettingJSON keyWhat it does
Company URLsstartUrlsTrustpilot company review URLs or domains.
Company domainscompanyUrlsAdditional domains or review URLs. Combined with startUrls.
Reviews per companymaxReviewsPerCompany1–5000. Form default 20, omitted API value 200.
Star ratingsstarsOptional ratings, such as [1,2]. Empty means no star filter.
Sort ordersortrecency or relevance (Trustpilot default order).
LanguageslanguagesLanguage codes or all. Empty uses the page default.
Business repliesincludeRepliesIncludes visible reply fields. Default true.
Proxy settingsproxyConfigurationOptional explicit proxy. Omission uses direct access.
Legacy time fieldmaxRunSecondsAccepted but inactive. Use Apify run timeout options.

Provide at least one URL or domain across the two URL lists. At most 100 companies are accepted per run. For a low-star export, add "stars": [1, 2] to the quick-start input. Date-range and keyword filters are not supported.

Output data

Each dataset row represents a saved review. The following is a synthetic shape-only example, not an observed review:

{
"companyUrl": "https://www.trustpilot.com/review/example.com",
"companyDomain": "example.com",
"companyName": null,
"trustScore": null,
"totalReviewCount": null,
"reviewId": "illustrative-review-id",
"reviewUrl": "https://www.trustpilot.com/reviews/illustrative-review-id",
"reviewTitle": null,
"reviewText": null,
"rating": 4,
"reviewerName": null,
"replyText": null,
"page": 1,
"scrapedAt": "2026-10-26T00:00:00.000Z"
}
Field groupFields
CompanycompanyUrl, companyDomain, companyName, trustScore, companyRatingText, totalReviewCount
ReviewreviewId, reviewUrl, reviewTitle, reviewText, rating
DatespublishedDate, updatedDate, experienceDate
ReviewerreviewerId, reviewerName, reviewerCountry, reviewerReviewCount
VerificationisVerified, verificationSource
RepliesreplyText, replyDate, replyAuthor
ContextlikesCount, starsFilter, language, page, scrapedAt

Unavailable values are null. language records the requested filter and may be null when no filter is supplied, rather than identifying every review’s language. RUN_SUMMARY reports per-company outcomes and skipped companies.

Download your results

Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.

See Apify's download and export guide for the available formats and field options.

Pricing

This Actor uses pay-per-event pricing. The start event is charged once after initial input validation, even when no matching reviews are found.

The review event is charged for each review saved to the dataset. Empty outcomes do not create review rows or review charges. The per-company review limit helps bound the number collected.

See the live Pricing tab for current rates and discounts.

Tips for best results

  • Start with an exact company URL. A website domain does not guarantee a Trustpilot profile exists.
  • Keep the first export small. Increase the limit after checking the returned records.
  • Filter for your question. Use low-star ratings for complaint analysis or a language filter for a focused export.
  • Keep source URLs. Check the original reviews before relying on an automated summary.

Limits and caveats

  • Only public company review pages are supported, not private Trustpilot Business dashboards.
  • No date-range or keyword filter is available. Recent ordering is not a date cutoff.
  • Replies and reviewer details depend on what the public page exposes. Reply matching can be incomplete. Verification indicators are not an independent authenticity check.
  • Confirmed missing profiles, login-gated pages and completed extraction with no matching reviews can succeed with an empty dataset and a truthful per-company reason.
  • Mixed batches preserve useful records and report isolated extraction failures in RUN_SUMMARY. Unresolved extraction failures with no useful records still fail. Storage, billing and deadline failures remain fatal.
  • Target-site changes and access checks can limit collection. An empty result alone does not prove that a company is private or deleted.

Automation and integrations

Save your settings for next time

Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.

Run on a schedule

Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.

Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.

Send results to your other tools

Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.

For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.

Slack + n8n research workflow

Use a bounded review export as research input for a Slack question. An MCP-compatible assistant can collect reviews, then n8n or a webhook can pass a summary with source URLs to Slack, Sheets, Notion or your CRM. This Actor does not install or operate a Slack bot.

For setup, follow Apify’s n8n integration guide.

API usage

Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.

The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.

For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.

cURL

curl "https://api.apify.com/v2/acts/fetch_cat~trustpilot-reviews-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.trustpilot.com/review/www.amazon.com"}],"maxReviewsPerCompany":20,"sort":"recency","includeReplies":true}'

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/trustpilot-reviews-scraper').call({
"startUrls": [
{
"url": "https://www.trustpilot.com/review/www.amazon.com"
}
],
"maxReviewsPerCompany": 20,
"sort": "recency",
"includeReplies": true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/trustpilot-reviews-scraper').call(run_input={
'startUrls': [{'url': 'https://www.trustpilot.com/review/www.amazon.com'}],
'maxReviewsPerCompany': 20,
'sort': 'recency',
'includeReplies': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

MCP and AI agents

You can ask your AI assistant to collect data with Trustpilot Reviews Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.

Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.

Easier setup with an Apify plugin

If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.

Use Apify AI in Console

Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Trustpilot Reviews Scraper. You can describe the data you want and ask questions about the results.

Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.

Choose your assistant

Connect just this scraper

To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/trustpilot-reviews-scraper"
}
}
}

Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.

Use Apify's general server

Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Trustpilot Reviews Scraper by Fetch Cat, or give it the identifier fetch_cat/trustpilot-reviews-scraper.

Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.

Example requests

  • “Collect 20 recent public reviews for this company and summarize the recurring complaints with source URLs.”
  • “Get up to 30 low-star reviews for these two companies and compare their main support issues.”
  • “Collect public reviews with business replies for this company and prepare a table of the visible responses.”

Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.

Pay with x402

If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.

Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.

Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.

Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.

Other ways for agents to pay

Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.

FAQ

Can I export Trustpilot reviews to CSV or Excel?

Yes. Run the scraper and export its dataset, or read the same records through the API.

Is this a Trustpilot reviews API alternative?

It provides structured data from public review pages through Apify. It is not an official Trustpilot API or a private business-account integration.

Can I collect only one-star reviews?

Yes. Set stars to [1]. You can also combine supported star ratings.

Do I need a Trustpilot login?

No login is required for the supported public pages. Private dashboards and login-only content are not supported.

Why are fields empty or no reviews returned?

Public pages may omit metadata or replies. Filters can return no matches, and some company profiles are missing or login-gated. Check RUN_SUMMARY for the per-company outcome and inspect any reported extraction failure.

Can I schedule review monitoring?

You can schedule repeated exports in Apify. Comparing runs, detecting new reviews and sending alerts are steps for your own workflow. The scraper does not perform them automatically.

Support and feedback

For custom additions or integrations, email hello@fetchcat.dev.

Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.

Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.

Tried this scraper? We'd love to hear how it worked for you. Leave an honest review from the Actor page to help others choose the right tool and help us improve it. Your feedback means a lot to us.

Made with care for curious people, AI agents and the possibilities in data. ♥