Trustpilot Reviews Scraper — Ratings & Company Replies avatar

Trustpilot Reviews Scraper — Ratings & Company Replies

Pricing

from $0.50 / 1,000 review extracteds

Go to Apify Store
Trustpilot Reviews Scraper — Ratings & Company Replies

Trustpilot Reviews Scraper — Ratings & Company Replies

Public Trustpilot review export. Collection is currently under maintenance because source access is restricted. Review history and successful collection are not currently confirmed. $0.50 per 1,000 delivered reviews plus a small start event.

Pricing

from $0.50 / 1,000 review extracteds

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Trustpilot Reviews Scraper — Ratings, Replies & Filters

Export public Trustpilot review text, ratings, publication and experience dates, reviewer details, and company replies. Paste company domains or Trustpilot company URLs, select limits, and download reviews as JSON, CSV or Excel from Apify.

Source availability: this reader collects accessible public review pages. Access can change or be refused. Start small, inspect SUMMARY and ERRORS, and check the current maintenance notice. A successful sample does not establish complete historical coverage.

Trustpilot review research for support and analytics

Use this Trustpilot reviews scraper for a bounded public feedback sample about companies you already know. It collects observations for analysis; it does not independently verify reviewers, transactions or the truth of complaints. The source's company score and review verification flag remain source statements.

Research workflowFields or recordsInterpretation
Inspect recent customer feedbackreviewId, rating, text, publishedAtState the collection date, limits and filters
Review low-star themesfilterStars plus title/textA selected complaint sample is not overall sentiment
Examine company repliesreplyText and replyPublishedAtMissing replies remain unavailable; no response is sent
Compare known company samplescompanyDomain, companyTrustScore, sourceUrlUse comparable windows; samples can differ in coverage
Maintain your own review observationsreviewId and INCREMENTAL_STATEDeduplicate in your destination across runs

For a first test, use one company and a handful of reviews before requesting more pages. A review can have valid identity, text and rating while optional reviewer or reply fields remain null. Do not replace missing values with invented reviewer attributes.

Start with one company

{
"companyUrls": ["wise.com"],
"maxReviews": 25,
"maxPages": 2
}

Company input accepts wise.com or https://www.trustpilot.com/review/wise.com. Duplicate companies are removed. The default limit is 50 matching reviews and three pages per company. A source restriction produces diagnostics, not an invented empty result.

Focus the collection

{
"companyUrls": ["wise.com", "apify.com"],
"maxReviews": 50,
"maxPages": 5,
"filterStars": [1, 2],
"filterLanguages": ["en"],
"filterCountries": ["GB", "US"],
"startDate": "2026-10-01",
"repliesOnly": true
}

Filters compose: a review must match every selected condition. Star, language and reviewer-country filters use the values observed on the review. verifiedOnly requires an explicit verified flag; an unknown flag never counts as verified. repliesOnly requires nonempty reply text.

startDate is inclusive and applies to publication date. Rolling windows use 30, 90, 180 or 365 days. Combining a rolling window with startDate uses the later cutoff. sortBy accepts recency or relevance and preserves source order. Filters are evaluated across requested pages; a page with no matching reviews does not stop the next page.

Results and coverage

The default dataset contains review rows only. Each row has a genuine reviewId and reviewUrl, integer rating, title/text, dates, reviewer fields, verification and reply fields, company context, sourceUrl and collection time. Missing optional fields remain null.

Use the Reviews table for export. The legacy datePublished, dateOfExperience, reviewerLocation, verified and ownerReply fields remain available alongside normalized fields. Field switches control normalized output; includeRaw independently adds the original review object.

Free key-value records accompany each run:

RecordPurpose
SUMMARYDelivered counts, company states, pages, stop reasons and coverage
ERRORSInvalid input, source denial/unavailability and partial collection
COMPANIESObserved company profiles when includeCompanyDetails is enabled
INCREMENTAL_STATENewest publication timestamp among delivered reviews per company

maxReviews: 0 removes only the review-count limit. maxPages and the collection time budget still apply. Public visibility may cover only a subset of a brand's history. coverageComplete concerns the accessible public list within the requested filters; it never proves access to private, removed or otherwise unavailable reviews. A page/review/time limit is recorded explicitly.

EMPTY means valid pages were read and no reviews matched. FAILED means collection or delivery failed. PARTIAL keeps useful delivered reviews and records incomplete collection. A source denial is never presented as a review-free company.

For repeat runs, manually pass the date portion of a prior delivered timestamp to startDate. The date is inclusive; deduplicate reviewId in your own destination across runs. This Actor does not automatically accumulate history or reuse another run's storage.

MCP and AI agents

Check the current maintenance notice and input schema before using this Actor through MCP. Use small limits and inspect source diagnostics before increasing collection size.

Select apivault_labs/trustpilot-reviews-scraper in the Actor's API → MCP tab, or connect an authenticated MCP client to:

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

The direct tool is apivault_labs--trustpilot-reviews-scraper. Keep the Apify token in the client's secure authentication configuration. Public source data does not remove the requirement for Apify authentication and applicable run charges. Read tools/list before calling: wrapper fields can differ from the Actor input schema.

Small Actor input:

{
"companyUrls": [
"wise.com"
],
"maxPages": 1
}

Send this object as the direct tool's arguments. Its current wrapper also accepts waitSecs: 45. waitSecs controls how long the tool waits; it is not the Actor run timeout. If the run is still active, poll its returned run ID with get-actor-run; do not start a duplicate. Once terminal, use get-dataset-items with the returned dataset ID and a small limit/field selection, then get-key-value-store-record with the returned store ID and required record key. Missing IDs/records must be reported, not replaced with another run's storage.

An empty dataset is not evidence that the company has no reviews. Inspect SUMMARY.status, stop reasons and ERRORS: EMPTY requires successfully read source pages; source denial is a collection error. Check tools/list or fetch-actor-details for the current input schema before calling. Do not repeatedly retry a known source denial without an access-state change.

Agent request: “Collect up to five public reviews for wise.com from at most one page. Return the actual review count and explain any source errors or collection limits from SUMMARY.”

Keep the first run small. Increase limits only for the requested scope, check current Pricing and cap runtime/spend using controls actually supported by your run client. Distinguish source errors, filtered emptiness and partial delivery; a completed tool call alone does not establish successful data collection.

The JSON above uses one public company page. A source-denied run is not evidence of a review-free company.

Pricing

Current rate: $0.0005 per delivered review ($0.50 per 1,000) plus $0.00005 per run start at the standard memory size. Profile and diagnostic records do not add paid review rows. Example: 25 delivered reviews cost $0.01255 in event fees; 1,000 cost $0.50005. A failed or empty run can still incur the start event.

Apify platform usage is billed separately to the user under the pricing setting active since 18 October 2026 at 19:32:14 UTC. Check the live Pricing tab for the applicable plan and any platform charges before running a larger collection.

Source errors and working-time budget

A source denial or unavailable layout is FAILED when no verified reviews were collected; a later source failure preserves earlier reviews as PARTIAL. SUMMARY, ERRORS and COMPANIES remain free key-value records. Submission errors, invalid reviews, duplicates and filtered rows are not review-result events; start and platform fees can still apply. runBudgetSecs bounds page requests, redirects, body reads and retries; an earlier platform deadline reserves time for final output. Complete source access, directory coverage and full history are not guaranteed. Check the current maintenance notice before relying on unattended collection.

Public-reader source compatibility

The public-page reader uses the same Googlebot User-Agent header as the portfolio’s separate native Trustpilot reader. This header does not verify crawler identity or grant authenticated access; it is an access-dependent implementation choice. Ordinary browser and default HTTP requests failed in the current checks. Successful samples do not guarantee sustained access or full history; access errors still stop collection and remain explicit. Source availability and page limits must be checked in SUMMARY. No account cookies, external API key or proxy is used.

Small, purpose-specific Trustpilot inputs

These are Actor inputs for the current public-page reader. They are separate from the portfolio's other Trustpilot Actor and its different schema: use companyUrls here, not another product's startUrls/contentMode contract. Source access and the requested filters determine whether matching reviews are available.

Five recent public reviews

{
"companyUrls": [
"wise.com"
],
"maxReviews": 5,
"maxPages": 1,
"sortBy": "recency",
"maxConcurrency": 1,
"maxRetries": 0
}

This is a bounded first sample, not five guaranteed reviews. Inspect SUMMARY.companies and ERRORS alongside the delivered rows; one successful page does not prove historical completeness.

A bounded complaint-theme sample

{
"companyUrls": [
"wise.com"
],
"maxReviews": 10,
"maxPages": 2,
"filterStars": [
1,
2
],
"filterDateRange": "last30days",
"maxRetries": 0
}

Filters compose and are applied to observed reviews across pages. A page containing no matching low-star reviews is not by itself the end of the source. Save the filters and collection window with your analysis.

Inspect available company replies

{
"companyUrls": [
"wise.com"
],
"maxReviews": 5,
"maxPages": 2,
"repliesOnly": true,
"includeCompanyDetails": true,
"maxRetries": 0
}

This retrieves observed reply text where present; it neither contacts the company nor calculates an audited response rate. COMPANIES is profile context, not an additional paid review dataset.

Keep a manual date-based observation window

{
"companyUrls": [
"wise.com"
],
"startDate": "2026-10-01",
"maxReviews": 10,
"maxPages": 2,
"includeRaw": false,
"maxRetries": 0
}

The example cutoff is inclusive and intentionally explicit. Replace it with the date relevant to your workflow. Reusing a prior date can return already observed IDs; deduplicate reviewId yourself rather than treating every row as newly published.

Turn a review export into a reproducible worksheet

Retain reviewId, reviewUrl, companyDomain, sourceUrl, scrapedAt and the date/window settings in your destination. The review publication date, experience date, edit date and collection time answer different questions. An edited review can change after your previous observation. A manual publication-date cutoff is not a change feed and does not guarantee discovery of later edits to old reviews.

Use the Reviews Dataset for individual records and COMPANIES for observed profile context. The company-wide total and trust score can refer to a different population from your filtered sample. If you compute a low-star share or reply rate, label it as a statistic over returned matching records, and disclose the collection limits. A five-review complaint sample cannot establish a whole company's customer satisfaction.

Field switches omit groups of normalized fields; includeRaw independently adds the original review object. If minimizing the export, check the switches and leave includeRaw false so that raw content does not defeat the intended field selection. Source text may contain personal information supplied by reviewers; keep only the fields your research needs and control access to raw exports.

Review SUMMARY status, per-company page history and stopReason. REVIEW_LIMIT, PAGE_LIMIT and TIME_LIMIT describe different bounds. If access fails after earlier pages, keep the delivered sample with its partial-state explanation. Do not relabel a collection failure as evidence that the company has no reviews. Retrying a known denial without an access change is not a coverage strategy.

API and n8n HTTP Request workflow

The Actor can be called through Apify's REST run endpoint or the hosted MCP path described above. In n8n, an HTTP Request workflow can start POST https://api.apify.com/v2/acts/apivault_labs~trustpilot-reviews-scraper/runs, using an Apify token stored in credentials and the Actor JSON as the request body. Configure a small result-fee cap and timeout in the client, save the returned run and storage IDs, and poll that run before reading its Dataset. Do not start a new run every time a polling request says RUNNING.

Download JSON for analysis or request format=csv on the returned dataset items endpoint for a spreadsheet. Keep the returned key-value store ID for SUMMARY and ERRORS. A generic HTTP workflow does not imply a dedicated verified n8n node, a standalone PyPI package or additional source access. This README does not advertise an unconfirmed package for this particular Actor ID.

Trustpilot reviews API questions

Does maxReviews=0 collect the entire company history? It removes the review-count cap only. Page, time, platform and source-access limits remain. Public-page exhaustion is not proof of access to private or removed reviews or a complete historical archive.

Is verifiedOnly an independent authenticity check? No. It requires an explicit true source verification flag. Unknown verification does not match. This Actor does not verify purchases or reviewer identity itself.

Why can a filtered run produce fewer results? Ratings, language, reviewer country, dates and reply filters all compose. Narrow filters can exhaust the requested page budget before enough matches are found. Keep null distinct from a nonmatching known value.

Are company profiles charged as reviews? No. The primary fee is $0.0005 per delivered review, plus the $0.00005 start event at the standard memory size and separately paid platform usage. Five delivered reviews at that memory size create $0.00255 in event fees before usage. Failed/filtered/duplicate entries and diagnostic records do not add review-result events.

Does repeated monitoring reuse another run's state? No automatic cross-run history is maintained. INCREMENTAL_STATE records delivered publication timestamps for your application to use; the next run still needs your explicit input. Retain IDs and dated observations in your own storage.

Can an agent conclude that a green run is complete? It must inspect actual rows and SUMMARY/ERRORS. A successful partial collection is useful but incomplete. Report the requested companies, filters, rows and stop reasons. No review responses or outreach messages are sent by these collection examples.