# Trustpilot Reviews Scraper — Ratings, Text & Replies (`hipersoft/trustpilot-reviews-scraper`) Actor

Scrape Trustpilot reviews and company ratings by company domain or Trustpilot URL: star rating, title, text, reviewer name & country, verification, date, company reply, plus company TrustScore and total reviews. No login.

- **URL**: https://apify.com/hipersoft/trustpilot-reviews-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Categories:** Lead generation, E-commerce
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0006 / review scraped

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Trustpilot Reviews Scraper — Ratings, Text & Replies

Collect Trustpilot reviews at scale. Give the Actor company domains (or Trustpilot
review URLs) and it returns every review — **star rating, title, text, reviewer name
and country, verification status, dates, and the company's reply** — plus company-level
**TrustScore and total review count**. No login, no API key.

Great for **reputation monitoring, competitor benchmarking, voice-of-customer analysis
and review datasets**.

### What you get per review

| Field | Notes |
|---|---|
| `rating` | 1–5 stars. |
| `title`, `text` | Review headline and body. |
| `userName`, `userCountry`, `userReviewCount` | Reviewer identity signals. |
| `verified` | Whether Trustpilot verified the review. |
| `experiencedDate`, `publishedDate` | When the experience happened / was posted. |
| `replyText`, `replyDate` | The company's public reply, if any. |
| `companyName`, `trustScore`, `totalReviews` | Company context on every row. |
| `language`, `reviewUrl` | Review language and direct link. |

### Input

```json
{
  "companies": ["apify.com", "www.vans.com", "https://www.trustpilot.com/review/dior.co.uk"],
  "maxReviewsPerCompany": 0,
  "sortBy": "recency"
}
```

- **companies** — company domains or Trustpilot review URLs, one per line.
- **maxReviewsPerCompany** — cap per company (0 = all).
- **sortBy** — `recency` or `relevance`.
- **maxConcurrency** — companies processed in parallel.
- **proxyConfiguration** — **RESIDENTIAL proxies are used by default** for reliable access. Leave as-is.

### Output (one row per review)

```json
{
  "company": "apify.com",
  "companyName": "Apify",
  "trustScore": 4.6,
  "totalReviews": 218,
  "reviewId": "6650f1c2...",
  "rating": 5,
  "title": "Great platform",
  "text": "We've automated our whole pipeline…",
  "userName": "Jane D.",
  "userCountry": "US",
  "verified": true,
  "publishedDate": "2026-07-01T09:12:00Z",
  "replyText": "Thanks Jane!",
  "reviewUrl": "https://www.trustpilot.com/reviews/6650f1c2..."
}
```

### FAQ

**Do I need an API key or Trustpilot account?**
No. There's no login and no API key. The Actor reads Trustpilot public review data — just add company domains or review URLs and run.

**How many reviews can I get per company?**
Set `maxReviewsPerCompany` to any number, or `0` to collect every review a company has. Pass multiple companies in one run and control parallelism with `maxConcurrency`.

**Is scraping Trustpilot legal?**
The Actor reads only publicly available review data from [Trustpilot](https://www.trustpilot.com) — the same JSON its own website uses. Public data is generally collectible, but you are responsible for using it in line with Trustpilot's terms and applicable law.

**Does it collect emails or reviewer contact info?**
No. It captures review content and reviewer identity signals (name, country, review count) but no private contact details like emails.

**What's the output format?**
One structured JSON row per review, including company context (TrustScore, total reviews) and the company's public reply where present. Export as JSON, CSV or Excel.

### Related Actors

Cover reputation across every major platform with these companions:

- [Google Maps Reviews Scraper](https://apify.com/hipersoft/google-maps-reviews) — pull reviewer names, ratings, text and dates from Google Maps places.
- [App Store Reviews Scraper](https://apify.com/hipersoft/appstore-reviews-scraper) — collect Apple App Store reviews and ratings by country.
- [Google Maps Scraper](https://apify.com/hipersoft/google-maps-scraper) — find the businesses and Place IDs behind your review research.
- [Website Content Crawler](https://apify.com/hipersoft/website-content-crawler) — extract clean page text for building review or voice-of-customer datasets.

### Notes

Reads Trustpilot's own public consumer-site data (the same JSON its website uses).
Residential proxies are used to reach it reliably. Only publicly available review data
is collected; use it in line with Trustpilot's terms and applicable law.

# Actor input Schema

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

Company domains or Trustpilot review URLs (e.g. "apify.com", "www.vans.com", "https://www.trustpilot.com/review/dior.co.uk"). One per line.

## `startUrls` (type: `array`):

Alternative to "Companies": a request list of {"url": "..."} Trustpilot review URLs.

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

Cap reviews fetched per company (0 = all).

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

Review order.

## `maxConcurrency` (type: `integer`):

How many companies to process in parallel.

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

Trustpilot blocks datacenter IPs, so RESIDENTIAL proxies are used by default. Leave as-is unless you have a reason to change it.

## Actor input object example

```json
{
  "companies": [
    "apify.com"
  ],
  "maxReviewsPerCompany": 0,
  "sortBy": "recency",
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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": [
        "apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/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": ["apify.com"] }

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

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": [
    "apify.com"
  ]
}' |
apify call hipersoft/trustpilot-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=hipersoft/trustpilot-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/G6pr5M3pEEXxDZLVX/builds/EaraCUaerTQFvnGLj/openapi.json
