# Trustpilot Review Scraper (`mrdoe/trustpilot-review-scraper`) Actor

Returns reviews for any company on Trustpilot, with ratings, full text, dates, verification status and company replies. No login needed.

- **URL**: https://apify.com/mrdoe/trustpilot-review-scraper.md
- **Developed by:** [MrDoe](https://apify.com/mrdoe) (community)
- **Categories:** E-commerce, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 review returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 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 Review Scraper — get any company's Trustpilot reviews with ratings, full text, dates and company replies](https://api.apify.com/v2/key-value-stores/kE36venAoVchGsE6b/records/trustpilot-review-scraper--hero.png)

### What does Trustpilot Review Scraper do?

Trustpilot Review Scraper returns reviews for any company listed on Trustpilot as clean
structured data. For each review you get the star rating, title, full review text, when it
was posted, whether it's a verified review, how many "useful" likes it has, and - when the
company responded - the full text of their reply. No login, no Trustpilot account needed.

### Why use Trustpilot Review Scraper?

- **No account needed** - works fully logged out, every run.
- **Full detail, not a summary** - complete review title and text, exact dates, verification
  status and like counts, not just a star average.
- **Company replies included** - see exactly how (and whether) a business responds to
  negative feedback.
- **Any company** - just give it the company's domain as it appears on Trustpilot.
- **Filter by rating or language** - pull only 1-star reviews, or only English-language
  reviews, for focused analysis.

### What makes this different

Most review lookups only show you the handful of reviews visible on a company's Trustpilot
page. This Actor pages all the way through a company's reviews automatically, so you can
pull hundreds of real reviews - including company replies - in one run instead of scrolling
and copy-pasting by hand.

### Who uses Trustpilot Review Scraper?

- **Brand and reputation teams** - monitor what customers say about your own company,
  including new complaints, without checking Trustpilot by hand every day.
- **Competitive analysts** - see exactly what customers like and dislike about a competitor,
  straight from their own words, and how the competitor handles complaints.
- **Market researchers** - gauge real customer sentiment and common complaint themes for any
  company or category before making a decision.
- **Customer support and QA teams** - pull recent low-rated reviews to catch recurring issues
  early.

### How it works

![How Trustpilot Review Scraper turns a company domain into review data](https://api.apify.com/v2/key-value-stores/kE36venAoVchGsE6b/records/trustpilot-review-scraper--how-it-works.png)

1. **Your input** - a company's domain, a sort order, and optional star/language filters.
2. **The Actor collects it** - it reads that company's public Trustpilot review data, works
   fully logged out, and pages through automatically up to your limit.
3. **Your output** - one structured record per review, ready for a spreadsheet, dashboard or
   report.

### What data can you extract?

| Field | Description |
|---|---|
| `authorName` / `authorCountryCode` / `authorNumberOfReviews` | The reviewer's display name, country and how many reviews they've written |
| `title` | The review's title |
| `reviewText` | The full review text |
| `rating` | Star rating, 1 to 5 |
| `isVerifiedReview` | Whether Trustpilot marked this review as verified |
| `experiencedDate` / `publishedDate` | When the experience happened and when the review was posted |
| `likes` | How many people found the review useful |
| `companyReply` | The company's reply text and date, if they responded |
| `businessName` / `domain` / `sortedBy` | The company, domain and sort order used for this run |
| `scrapedAt` | When this record was collected (ISO timestamp) |

### How to use Trustpilot Review Scraper

1. Open the Actor and go to the **Input** tab.
2. Enter a **Company domain** - as it appears in the company's Trustpilot URL (see the
   screenshot below).
3. Choose a **Sort by** order and, optionally, a star rating or language filter.
4. Optionally set **Max results**.
5. Click **Start**.
6. Open the **Dataset** tab, or pull results via the API, once the run finishes.

![Trustpilot Review Scraper input form with company domain, sort order and filters](https://api.apify.com/v2/key-value-stores/kE36venAoVchGsE6b/records/trustpilot-review-scraper--input.png)

### Input Parameters

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `companyDomain` | String | Yes | `"www.amazon.com"` | The company's domain as it appears on Trustpilot |
| `sortBy` | String | No | `"recency"` | `"recency"` or `"relevance"` |
| `stars` | Integer | No | None | Only return reviews with this exact star rating (1-5) |
| `languages` | String | No | None | Only return reviews in this language code, e.g. `"en"` |
| `maxItems` | Integer | No | `50` | Maximum number of reviews to return |
| `proxyConfiguration` | Object | No | No proxy | Advanced - this works without a proxy for moderate volumes |

### Output Data

Each review produces one dataset record. Example:

```json
{
    "reviewId": "6ada23985be7249671687af2",
    "domain": "www.godaddy.com",
    "businessName": "GoDaddy",
    "page": 1,
    "sortedBy": "recency",
    "authorName": "rich saxton",
    "authorCountryCode": "US",
    "authorNumberOfReviews": 1,
    "authorIsVerified": false,
    "title": "GoDaddy support was excellent and…",
    "reviewText": "GoDaddy support was excellent and resolved my issue. They are smart & friendly.",
    "rating": 5,
    "language": "en",
    "isVerifiedReview": true,
    "experiencedDate": "2026-10-21T00:00:00.000Z",
    "publishedDate": "2026-10-22T16:54:17.000Z",
    "likes": 0,
    "companyReply": null,
    "scrapedAt": "2026-10-22T16:57:55.786Z"
}
```

![Sample dataset table from Trustpilot Review Scraper](https://api.apify.com/v2/key-value-stores/kE36venAoVchGsE6b/records/trustpilot-review-scraper--output.png)
![Every output field labelled on one example record](https://api.apify.com/v2/key-value-stores/kE36venAoVchGsE6b/records/trustpilot-review-scraper--fields.png)

### Usage Examples

- **Own-company monitoring** - run against your own company's domain on a schedule, sorted
  by `recency`, to catch new complaints or praise as they come in.
- **Competitor research** - run against a competitor's domain to see what their customers
  say, and how they reply.
- **Complaint triage** - set `stars` to `1` to pull only the most critical reviews for
  support follow-up.
- **Reply-rate audit** - compare `companyReply` across a batch of reviews to see how
  consistently a company responds.

### Tips for Best Results

- Use the exact domain shown in the company's Trustpilot URL
  (`trustpilot.com/review/<domain>`) - not the company's marketing name.
- Combine `stars` and `languages` to narrow in on a specific slice of feedback quickly.
- Large companies can have tens of thousands of reviews - set `maxItems` to a sensible
  number for your use case rather than pulling everything at once.

### Known Limitations

- Reflects a snapshot at the time of the run; new reviews are posted continuously.
- Extremely high-volume runs on the same company in quick succession may need to slow down,
  the same as browsing the site manually would.

### Integrations

Connect Trustpilot Review Scraper to the rest of your stack via the [Apify API](https://docs.apify.com/api/v2),
[webhooks](https://docs.apify.com/platform/integrations/webhooks), scheduled runs, or directly
to Google Sheets, Make, and Zapier through Apify's built-in integrations.

### Export Formats

Download results as **JSON, CSV, Excel, or XML** from the Dataset tab, or fetch them
programmatically via the Apify API.

### Frequently Asked Questions

#### Do I need a Trustpilot account or to log in?

No. Every run works fully logged out.

#### Where do I find a company's domain?

It's the part after `/review/` in the company's Trustpilot URL - for example,
`www.amazon.com` in `https://www.trustpilot.com/review/www.amazon.com`. You can also paste
the full URL directly.

#### Can I get only reviews with a specific star rating?

Yes - set `stars` to `1`-`5`.

#### Can I schedule this to run automatically?

Yes, use Apify's built-in [Scheduler](https://docs.apify.com/platform/schedules) to re-check
a company's reviews on any interval you choose.

### Support

Found an issue or have a request? Open it on the Actor's **Issues** tab in the Apify Console.

### Legal / Responsible Use

You're responsible for using this Actor in compliance with applicable laws and the target
platform's terms of service. This Actor retrieves publicly viewable review information only;
it does not collect personal data beyond what reviewers themselves chose to make public.

# Actor input Schema

## `companyDomain` (type: `string`):

The company's domain as it appears on Trustpilot, e.g. "www.amazon.com". You can also paste the full Trustpilot review page URL.

## `sortBy` (type: `string`):

Which order to return reviews in.

## `stars` (type: `integer`):

Only return reviews with this exact star rating (1-5). Leave empty for all ratings.

## `languages` (type: `string`):

Only return reviews in this language code, e.g. "en". Leave empty for all languages.

## `maxItems` (type: `integer`):

Maximum number of reviews to return.

## `proxyConfiguration` (type: `object`):

Advanced - this works without a proxy for moderate volumes.

## Actor input object example

```json
{
  "companyDomain": "www.amazon.com",
  "sortBy": "recency",
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "companyDomain": "www.amazon.com",
    "sortBy": "recency",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("mrdoe/trustpilot-review-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 = {
    "companyDomain": "www.amazon.com",
    "sortBy": "recency",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("mrdoe/trustpilot-review-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 '{
  "companyDomain": "www.amazon.com",
  "sortBy": "recency",
  "maxItems": 50
}' |
apify call mrdoe/trustpilot-review-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mrdoe/trustpilot-review-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/Ex2i3djlHMWL6Oofb/builds/1DYx8H00oVuTScUOV/openapi.json
