# Trustpilot Reviews Scraper ⭐ Free, No Login, Company Replies (`dz_omar/trustpilot-reviews-scraper`) Actor

Free Trustpilot reviews scraper: export reviews from company links, websites or brand names without logging in. Rating, full text, dates, company reply, reviewer country, verification. Deep coverage, filters, scheduled monitoring and a company profile with Trustpilot's AI summary.

- **URL**: https://apify.com/dz_omar/trustpilot-reviews-scraper.md
- **Developed by:** [FlowExtract API](https://apify.com/dz_omar) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Security:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

**[Trustpilot Reviews Scraper](https://apify.com/dz_omar/trustpilot-reviews-scraper?fpr=smcx63)** is a **free** tool that exports **Trustpilot reviews** for any company — star rating, full text, dates, the **company's reply**, reviewer name, country and review count, and verification labels — **without logging in**. Paste a Trustpilot link, a company website such as `apify.com`, or just a brand name, and press Start.

Perfect for **brand and reputation managers**, **customer-experience and product teams**, **market researchers** and **agencies** who need complete, dependable review data for sentiment analysis, competitor research and reputation monitoring — without copying pages by hand and without paying per review.

### What does Trustpilot Reviews Scraper do?

- **Free to use** — no per-review or per-company charges; a run only uses your own Apify platform credits.
- **One simple input** — Trustpilot links (any country site), company websites or brand names, one per line. Reviewer profile links work too.
- **The same filters as Trustpilot** — rating, verified, replies, date posted, top mentions, search by keyword and language, exactly like the "Filter by" panel on a company page.
- **Deep coverage for large companies** — reads a company's review history in depth, combines everything without duplicates, and reports how many of the matching reviews were read (for example 800 of 834).
- **Newest first, always** — with a limit, you get the newest reviews across every star rating and language.
- **A company row per company** — TrustScore, rating split, review counts per language, reply rate and speed, categories, published contact details, **Trustpilot's AI summary**, topic summaries and similar companies.
- **Reviews exactly as Trustpilot returns them** — no renamed or dropped fields; empty values are kept, so your columns never shift.

#### What data can you extract from Trustpilot?

| Category | Fields |
|---|---|
| Review | `rating`, `title`, `text`, `language`, `likes`, `source`, `id`, review link |
| Dates | `publishedDate`, `experiencedDate` (date of experience), `updatedDate` |
| Company reply | `reply.message`, `reply.publishedDate`, `reply.updatedDate` |
| Reviewer | `displayName`, `countryCode`, `numberOfReviews`, `isVerified`, profile image, reviews of this company |
| Verification | `isVerified`, `verificationLevel`, `verificationSource`, review source |
| Company row | name, website, TrustScore, stars, total reviews, rating split, languages, categories, claimed / verified status, reply rate and speed, contact details, AI summary, topics, similar companies, coverage |

#### Why use Trustpilot Reviews Scraper on Apify?

Running it on Apify gives you **API access**, **scheduling**, **monitoring** and **integrations** (Make, Zapier, n8n, Google Sheets, webhooks) without managing any infrastructure. A first test with 50 reviews uses well under a cent of platform credits.

### How to scrape Trustpilot reviews

1. Open Trustpilot Reviews Scraper in Apify Console.
2. In **Companies**, add one line per company: `https://www.trustpilot.com/review/apify.com`, `apify.com` or `Revolut`.
3. Set **Maximum reviews per company** (start with `50`).
4. Optionally pick filters under **Filter by**: rating, verified, replies, date posted, top mentions, search, language.
5. Click **Start**. Download the results as JSON, CSV or Excel, or read them over the API.

### How much does it cost to scrape Trustpilot reviews?

**The Actor is free.** There is no charge per review, per company or per run. A run only uses Apify platform usage (compute and proxy) from your own account, and Apify's free plan includes monthly platform credits to cover it.

- In our tests, **1,000 reviews used about $0.02–0.04** of platform usage; 50 reviews used about $0.002.
- Every run uses a proxy. If Trustpilot refuses the standard proxy, a run can switch to a residential proxy, which uses more credits for that run.
- Start with **Maximum reviews per company** set to `50` to see the usage of your own inputs.

### Input and output examples

#### Input

```json
{
    "companies": [
        "https://www.trustpilot.com/review/apify.com",
        "https://uk.trustpilot.com/review/www.revolut.com?stars=1&replies=true",
        "Vans"
    ],
    "maxReviewsPerCompany": 500,
    "rating": ["1", "2"],
    "datePosted": "last12months",
    "language": "en"
}
```

| A line in Companies | What happens |
|---|---|
| `https://www.trustpilot.com/review/apify.com` | That company's reviews, with the filters from the form |
| `https://uk.trustpilot.com/review/www.revolut.com?stars=1&replies=true` | A link that carries filters you set on Trustpilot keeps **its own** filters; the form's filters apply to every other line |
| `apify.com` | That company's Trustpilot page |
| `Vans` or `https://www.trustpilot.com/search?query=vans` | The best-matching company on Trustpilot (the run log names it) |
| `https://www.trustpilot.com/users/<id>` | Every review that reviewer wrote, with the company each one is about |

**Top mentions** takes the topic names shown on the company page, such as `Value for money` or `Response time`. Several topics return reviews that mention all of them; a topic a company does not have is named in the run log, and a company with none of them gets a notice instead of unfiltered reviews.

#### Output

#### Review record

A real row (Revolut, 1-star filter with replies):

```json
{
    "id": "6aed0a356eb57ec81d4b9c2b",
    "rating": 1,
    "title": "Won’t try again",
    "text": "I gave up. Rubbish app wouldn’t take photos of my drivers license.\nKept saying the photo was blurry when it wasnt.",
    "language": "en",
    "likes": 0,
    "source": "Organic",
    "labels": { "merged": null, "verification": { "isVerified": false, "createdDateTime": "2026-11-06T00:59:01.000Z", "reviewSourceName": "Organic", "verificationSource": "invitation", "verificationLevel": "not-verified", "hasDachExclusion": false } },
    "dates": { "experiencedDate": "2026-11-05T00:00:00.000Z", "publishedDate": "2026-11-06T00:59:01.000Z", "updatedDate": null, "submittedDate": null },
    "consumer": { "id": "5b740eb54de5666d34f6746f", "displayName": "Daniel", "imageUrl": "", "numberOfReviews": 49, "countryCode": "GB", "hasImage": false, "isVerified": true },
    "reply": { "message": "Hi. We're truly sorry to hear about your concerns with verifying your identity while signing up with us. …", "publishedDate": "2026-11-06T08:31:48.000Z", "updatedDate": null },
    "consumersReviewCountOnSameDomain": 1,
    "report": null,
    "location": null,
    "_meta": {
        "type": "review",
        "source_url": "https://www.trustpilot.com/review/www.revolut.com",
        "review_url": "https://www.trustpilot.com/reviews/6aed0a356eb57ec81d4b9c2b",
        "company": { "id": "55f298320000ff0005832fe0", "identifyingName": "www.revolut.com", "displayName": "Revolut" },
        "input": "https://uk.trustpilot.com/review/www.revolut.com?stars=1&replies=true",
        "scraped_at": "2026-11-06T13:27:31.797Z"
    }
}
```

#### Company record

An excerpt of a real row (Apify):

```json
{
    "businessUnit": { "id": "62ac9c3177fbadc00785d7fe", "displayName": "Apify", "identifyingName": "apify.com", "numberOfReviews": 834, "trustScore": 4.8, "stars": 5, "websiteUrl": "https://apify.com", "isClaimed": true, "countryCode": "CZ", "…": "categories, verification, reply behaviour, contact details" },
    "reviewStatistics": { "ratings": { "total": 834, "one": 14, "two": 4, "three": 4, "four": 64, "five": 748 }, "reviewLanguages": ["…"] },
    "topics": [{ "id": "user_experience", "displayName": "User experience" }, { "id": "staff", "displayName": "Staff" }],
    "aiSummary": null,
    "_meta": {
        "type": "company",
        "source_url": "https://www.trustpilot.com/review/apify.com",
        "coverage": { "reviewsMatchingFilters": 834, "reviewsRead": 800, "delivered": 800, "coveragePercent": 95.9, "stoppedAtLimit": false, "combinationsRead": 63 }
    }
}
```

Every row has `_meta.type`: `review`, `company`, or a notice (`not_found`, `empty`, `guidance`) that explains an input that returned nothing. The Output tab has a **Reviews** table and a **Companies** table.

### Other Actors you might need

- Etsy reviews and product data: [Etsy Product & Reviews Scraper](https://apify.com/dz_omar/etsy-product-reviews-scraper?fpr=smcx63)
- Shopee product reviews: [Shopee Reviews Scraper](https://apify.com/dz_omar/shopee-reviews-scraper?fpr=smcx63)
- TikTok Shop product reviews: [TikTok Shop Reviews Scraper](https://apify.com/dz_omar/tiktok-shop-reviews-scraper?fpr=smcx63)

### FAQ

#### Is it really free?

Yes. The Actor itself costs nothing; a run only uses your Apify platform credits (compute and proxy), which Apify's free plan includes every month.

#### Do I need a Trustpilot account or cookies?

No. It reads only what any visitor sees on trustpilot.com without signing in.

#### How do I export Trustpilot reviews to CSV or Excel?

Run the Actor, open the run's **Output** tab and choose **Export** — CSV, Excel, JSON, XML or HTML. The Reviews table has one review per line.

#### Is there a Trustpilot API for reviews?

Trustpilot's official API is for businesses managing their own profile. To get any company's public reviews as JSON, call this Actor through the Apify API: start a run with the input above and read the dataset — every client library, webhook and no-code integration works.

#### How do I monitor my company's Trustpilot reviews every week?

Create a schedule in Apify Console with **Date posted** set to `Last 30 days`, and send the results to Google Sheets, Slack or a webhook. Add `Replies` or a rating filter to watch only what needs an answer.

#### How do I compare competitors' Trustpilot reviews?

Add each competitor on its own line in **Companies**. Each company gets its own company row with TrustScore, rating split, reply rate and Trustpilot's AI summary, so they line up side by side.

#### How does deep coverage work, and will I get every review?

For large companies the Actor reads the review history in many smaller parts, using only views any visitor can open, and combines them without duplicates. For most companies that is all or nearly all reviews (95.9% of 834 for Apify in our test). For companies with hundreds of thousands of reviews, part of the oldest history can stay out of a visitor's reach. The company row always says how many of the matching reviews were read.

#### Which reviews do I get when I set a limit?

The newest ones, across all star ratings and languages, in date order.

#### What if a company does not have a topic I listed in Top mentions?

That topic is named in the run log and skipped. If a company has none of the listed topics, you get a notice with the topics it does have, instead of unfiltered reviews.

#### What happens if a run is interrupted or reaches its time limit?

It saves its progress and resumes without delivering the same review twice. Close to the run's time limit it stops on its own, delivers what it has and says so in the final status message.

#### Why did my run return fewer reviews than I asked for?

The company has fewer reviews matching your filters, an input was not found or had none of the listed topics (each is reported as a notice), or the run reached its time limit. The final status message says which.

#### Where can I get support?

See below, or open an issue on the Actor's Issues tab.

### For AI agents and LLM apps

Compact reference for AI assistants calling this Actor through the [Apify MCP server](https://mcp.apify.com) or the Apify API (Actor: `dz_omar/trustpilot-reviews-scraper`).

**Purpose:** exports public Trustpilot reviews for companies, brands or reviewer profiles — one dataset row per review, plus one company row per company. Free to use (platform usage only).

**Minimal input:**

```json
{ "companies": ["apify.com"], "maxReviewsPerCompany": 50 }
```

**Behaviors an agent should know:**

- `companies` (required) takes Trustpilot links, websites or brand names, one per item; a brand name resolves to Trustpilot's best match.
- Always set `maxReviewsPerCompany` (default 100, max 100,000); results are newest first.
- Filters: `rating` (array of `"1"`–`"5"`), `verified` and `replies` (booleans), `datePosted` (`all`, `last30days`, `last3months`, `last6months`, `last12months`), `topMentions` (topic names as on the company page), `searchKeyword` (string), `language` (`all` or a two-letter code). A Trustpilot link that already carries filters keeps its own.
- Rows: read `_meta.type` — `review`, `company`, or a notice (`not_found`, `empty`, `guidance`) with `_meta.message` explaining an input that returned nothing.
- Coverage: the company row's `_meta.coverage` gives `reviewsMatchingFilters`, `reviewsRead` and `coveragePercent`.

### Support

- 🌐 **Website:** [flowextractapi.com](https://flowextractapi.com)
- 📧 **Email:** <flowextractapi@outlook.com>
- 💬 **GitHub:** [FlowExtractAPI](https://github.com/FlowExtractAPI)
- 💼 **LinkedIn:** [flowextract-api](https://www.linkedin.com/in/flowextract-api/)
- 🐦 **X (Twitter):** [@FlowExtractAPI](https://x.com/FlowExtractAPI)
- 📱 **Facebook:** [flowextractapi](https://www.facebook.com/flowextractapi)
- 🎵 **TikTok:** [@flowextractapi](https://www.tiktok.com/@flowextractapi)

### Legal & compliance

- **Public data only** — only reviews and company information that Trustpilot shows to any visitor; no login, no account, no cookies, and nothing behind a login or paywall.
- **Moderate request rates** — one visitor session at a time, paced, with back-off when the site slows down.
- **Terms of use** — Trustpilot's terms of use may restrict automated collection; you are responsible for making sure your use complies with them.
- **Personal data** — reviews carry reviewers' display names, countries and profile images; use them in line with GDPR, CCPA and the other laws that apply to you. The scraper keeps no copy of your results outside your own Apify account.
- **Commercial use** — suitable for reputation monitoring, customer-experience analysis and market research, subject to the points above.
- No affiliation with or endorsement by Trustpilot is implied.

***

*Trustpilot Reviews Scraper — by FlowExtract API. Turn any website into structured data.*

# Changelog

This Actor's version history is a separate document: https://apify.com/dz_omar/trustpilot-reviews-scraper/changelog.md

# Actor input Schema

## `companies` (type: `array`):

One per line: a Trustpilot link (<code>https://www.trustpilot.com/review/apify.com</code>), a company website (<code>apify.com</code>) or a company name (<code>Revolut</code>). A link that carries filters you set on Trustpilot keeps them; the filters below apply to every other line.

## `maxReviewsPerCompany` (type: `integer`):

Newest first. 1 to 100,000.

## `rating` (type: `array`):

Only these star ratings. Empty = all ratings.

## `verified` (type: `boolean`):

Reviews are labeled verified when a company automatically invites people to write a review using Trustpilot's supported invitation methods.

## `replies` (type: `boolean`):

Reviews with a reply from a company.

## `datePosted` (type: `string`):

When the review was posted.

## `topMentions` (type: `array`):

Topics as Trustpilot names them on the company page, e.g. <code>User experience</code>, <code>Staff</code>, <code>Value for money</code>, <code>Response time</code>. Several topics = reviews that mention all of them. A topic a company does not have is skipped and named in the run log.

## `searchKeyword` (type: `string`):

Only reviews containing this word, e.g. <code>refund</code>.

## `language` (type: `string`):

Review language. Trustpilot's page shows English by default; here the default is all languages, so you get every review.

## Actor input object example

```json
{
  "companies": [
    "https://www.trustpilot.com/review/apify.com"
  ],
  "maxReviewsPerCompany": 100,
  "verified": false,
  "replies": false,
  "datePosted": "all",
  "language": "all"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "https://www.trustpilot.com/review/apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("dz_omar/trustpilot-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "companies": ["https://www.trustpilot.com/review/apify.com"] }

# Run the Actor and wait for it to finish
run = client.actor("dz_omar/trustpilot-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    "https://www.trustpilot.com/review/apify.com"
  ]
}' |
apify call dz_omar/trustpilot-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dz_omar/trustpilot-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/qGANgE3Xqsj00Z7Qh/builds/RZYSqIGDYZYzzLvJP/openapi.json
