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 Trustpilot reviews, ratings, verified status, company replies, reviewer data, and company metrics with date, star, language, and keyword filters.

Pricing

from $0.25 / 1,000 review extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Export public Trustpilot reviews, ratings, verified status, company replies, reviewer data, and company metrics with date, star, language, reply, verification, and keyword filters.

Use this actor when you need a repeatable CSV, JSON, Excel, or API export of Trustpilot reviews for reputation monitoring, customer feedback analysis, competitor benchmarking, complaint triage, or AI-agent workflows.

At a glance

  • Input: Trustpilot company URLs or domains, review and page limits, date/star/language filters, verified-only, replies-only, keyword, sort order, and optional proxy.
  • Output: Company profile data and categories, TrustScore, review title/text/rating, publish/update/experience dates, likes, reviewer IDs/images, verification source, business replies, language, page, and scrape time.
  • Filters: Date range, stars, languages, verified status, company replies, keyword or phrase, sort order, and result limits.
  • Best for: Trustpilot review exports, reputation workflows, review analytics, and Trustpilot API alternative workflows.
  • Public data only: Does not access private Trustpilot business dashboards.

Ready-to-run examples

Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.

What can it do?

  • Export Trustpilot reviews: Save public review titles, text, ratings, dates, reviewer metadata, and review URLs.
  • Collect company context: Add company name, domain, TrustScore, stars, review count, categories, claimed status, and website when public.
  • Filter feedback: Combine date, star, language, verified-only, replies-only, and keyword filters.
  • Capture reviewer and reply details: Include public reviewer IDs/images, verification source, likes, reply dates, and reply updates when available.
  • Use as a Trustpilot reviews API alternative: Run from the Apify UI, API, schedules, webhooks, or the official Apify MCP server.

Common workflows

  • Reputation monitoring: Schedule recent-date exports and track public reviews, ratings, edits, and replies.
  • Complaint triage: Export recent low-star reviews containing phrases such as refund, delivery, or customer service.
  • Competitor benchmarking: Compare review volume, ratings, and themes across companies.
  • Reply coverage audit: Find reviews that do or do not have visible business replies.
  • AI-agent summaries: Let an agent collect reviews before summarizing sentiment and recurring issues.

Input example

{
"startUrls": [
{ "url": "https://www.trustpilot.com/review/example.com" }
],
"companyUrls": [],
"maxReviewsPerCompany": 100,
"stars": [1, 2, 3, 4, 5],
"sort": "recency",
"languages": ["en"],
"dateRange": "last3months",
"verifiedOnly": false,
"repliesOnly": false,
"keyword": "customer service",
"includeReplies": true,
"maxPagesPerCompany": 20,
"maxRunSeconds": 300,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output example

{
"companyUrl": "https://www.trustpilot.com/review/example.com",
"companyDomain": "example.com",
"companyName": "Example Company",
"trustScore": 4.2,
"companyStars": 4.0,
"companyRatingText": "4 out of 5",
"totalReviewCount": 12500,
"companyCategories": ["Online marketplace"],
"companyIsClaimed": true,
"companyWebsite": "https://example.com",
"reviewId": "abc123",
"reviewUrl": "https://www.trustpilot.com/reviews/abc123",
"reviewTitle": "Fast delivery",
"reviewText": "The order arrived quickly and support was helpful.",
"rating": 5,
"publishedDate": "2026-06-20",
"updatedDate": null,
"experienceDate": "2026-06-18",
"isEdited": false,
"likesCount": 3,
"reviewerId": "consumer123",
"reviewerName": "Anna",
"reviewerCountry": "PT",
"reviewerReviewCount": 7,
"reviewerImageUrl": "https://images-static.trustpilot.com/reviewer.png",
"isVerified": true,
"verificationSource": "invitation",
"hasReply": true,
"replyText": "Thanks for your feedback.",
"replyDate": "2026-06-21",
"replyUpdatedDate": null,
"replyAuthor": "Example Company",
"language": "en",
"starsFilter": 5,
"page": 1,
"scrapedAt": "2026-07-03T10:00:00.000Z"
}

Input configuration

SettingJSON keyWhat to enter
Start URLsstartUrlsTrustpilot company review URLs or website domains.
Company URLscompanyUrlsAlias for users who think in company URLs/domains.
Maximum reviews per companymaxReviewsPerCompanyReview rows to save for each company.
StarsstarsOptional star filters such as [1] or [4,5].
Sortsortrecency or relevance.
LanguageslanguagesLanguage filters such as ["en"] or ["all"].
Include repliesincludeRepliesAdds visible business reply fields.
Published withindateRangeall, last30days, last3months, last6months, or last12months.
Verified reviews onlyverifiedOnlyKeeps reviews explicitly marked verified.
Reviews with replies onlyrepliesOnlyKeeps reviews with a visible company reply and automatically captures reply fields.
Keyword or phrasekeywordCase-insensitive phrase required in the review title or body.
Maximum pages per companymaxPagesPerCompanySafety cap for each company, star, and language branch; defaults to 20.
Maximum run secondsmaxRunSecondsOptional 45-600 second work budget; pending work is saved before cleanup.
Proxy configurationproxyConfigurationOptional proxy settings.

Output fields

Field groupFields
CompanycompanyUrl, companyDomain, companyName, trustScore, companyStars, companyRatingText, totalReviewCount, companyCategories, companyIsClaimed, companyWebsite
Review identityreviewId, reviewUrl, reviewTitle, publishedDate, updatedDate, experienceDate, isEdited, page (reviewId is a stable derived fingerprint when Trustpilot does not expose a review URL)
Review contentreviewText, rating, likesCount, language (review language when exposed, otherwise requested filter), starsFilter
ReviewerreviewerId, reviewerName, reviewerCountry, reviewerReviewCount, reviewerImageUrl, isVerified, verificationSource
ReplieshasReply, replyText, replyDate, replyUpdatedDate, replyAuthor
MetadatascrapedAt

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee per run$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
reviewPer Trustpilot review saved to the dataset$0.50 / 1,000$0.45 / 1,000$0.35 / 1,000$0.25 / 1,000$0.18 / 1,000$0.12 / 1,000

Only review rows actually saved to the dataset trigger the review event. Reviews excluded by filters, failed pages, diagnostics, and status information are not billed as review results.

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Tips for best results

  • Use exact Trustpilot company URLs when possible.
  • Use star filters to reduce cost for focused workflows like complaint triage.
  • Keep includeReplies on only when reply fields matter.
  • Use languages to avoid collecting review languages you do not need.
  • Combine dateRange, stars, and keyword for focused scheduled monitoring.
  • Increase maxPagesPerCompany when a selective verified, reply, or keyword filter needs to inspect many pages.
  • If you have an authorized proxy route, configure it explicitly. Trustpilot may still show a verification or access-denial page; the Actor reports that condition instead of treating it as an empty result.

Limits and caveats

  • The actor exports public Trustpilot review pages only.
  • It does not access private Trustpilot Business data or private account dashboards.
  • Some reviews may omit reviewer country, experience date, verification, reply author, or language context.
  • A filtered run can succeed with zero saved rows when readable reviews were inspected but none matched; check RUN_SUMMARY.zeroResultReason and companyResults.
  • Trustpilot can change pagination, filtering, and page structure.
  • The Actor prefers Trustpilot's structured public page data and falls back to visible review cards when that data is unavailable.
  • A verification or access-denial page is reported as a failed run with a specific diagnostic; this Actor does not attempt to solve verification challenges.

API usage

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/example.com' }],
maxReviewsPerCompany: 100,
stars: [1],
dateRange: 'last30days',
keyword: 'refund',
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/example.com"}],
"maxReviewsPerCompany": 100,
"stars": [1],
"dateRange": "last30days",
"keyword": "refund",
"includeReplies": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/fetch_cat~trustpilot-reviews-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{ "url": "https://www.trustpilot.com/review/example.com" }],
"maxReviewsPerCompany": 100,
"stars": [1],
"dateRange": "last30days",
"keyword": "refund",
"includeReplies": true
}'

MCP and AI agents

You can run this actor through the official Apify MCP server at https://mcp.apify.com.

For a focused single-actor tool, use:

https://mcp.apify.com?tools=fetch_cat/trustpilot-reviews-scraper

Claude CLI setup:

$claude mcp add --transport http apify-trustpilot "https://mcp.apify.com?tools=fetch_cat/trustpilot-reviews-scraper"

Claude Desktop or another MCP client can use this JSON configuration:

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

Example prompts:

  • "Export verified Trustpilot reviews from the last three months for example.com, including business replies."
  • "Collect recent 1-star Trustpilot reviews containing refund for these three company domains and return the dataset URL."
  • "Get a small Trustpilot review sample and summarize recurring complaints, keeping links to the source reviews."

Agent-friendly inputs are startUrls, companyUrls, maxReviewsPerCompany, maxPagesPerCompany, stars, sort, languages, dateRange, verifiedOnly, repliesOnly, keyword, includeReplies, and proxyConfiguration.

FAQ

Can I scrape multiple Trustpilot companies in one run?
Yes. Add multiple company URLs or domains to startUrls or companyUrls.

Can I scrape only 1-star reviews?
Yes. Set stars to [1].

Can I export only recent verified reviews?

Yes. Combine a dateRange such as last3months with verifiedOnly: true.

Can I find reviews mentioning a specific problem?

Yes. Set keyword to a case-insensitive phrase such as refund or customer service. The phrase must appear in the review title or body.

Why did a filtered run succeed with an empty dataset?

No readable reviews matched all requested filters. Check RUN_SUMMARY for the per-company outcome, then widen the date, star, verification, reply, language, or keyword filters.

Can I capture business replies?
Yes, when replies are public and includeReplies is enabled.

Can I export to CSV or Excel?
Yes. Download the Apify dataset as CSV, Excel, JSON, XML, RSS, or through the Dataset API.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses review lookup inputs and public review results to produce the output dataset and sends requests to public Trustpilot Reviews pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.