# Trustpilot Reviews Scraper: Ratings, Review Text & Replies (`nezha/trustpilot-reviews-scraper`) Actor

Turn Trustpilot company pages into structured review datasets with ratings, review text, reviewer names, countries, dates, and business replies. Export customer feedback to CSV, Excel, or JSON.

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

## Pricing

$1.50 / 1,000 results

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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, Review Text & Replies

Turn Trustpilot company pages into structured customer feedback datasets in minutes, not hours.

### What this Actor does

Paste one or more Trustpilot company URLs and export ratings, review text, reviewer details, dates, business replies, company ratings, and review counts to CSV, Excel, or JSON.

### Output preview

| Company | Overall rating | Review count | Rating | Reviewer | Review time | Review body |
| --- | --- | --- | --- | --- | --- | --- |
| Paddy Power | 3.7 | 7857 | 5 | David Bos. | 2026-06-19 | Paddypower had to try to bridge the big age gap... |
| Paddy Power | 3.7 | 7857 | 4 | Neil | 2026-05-23 | A very user friendly app easy to navigate... |

<details>
<summary>Show full example JSON record</summary>

```json
{
  "company": "Paddy Power",
  "overallRating": 3.7,
  "reviewCount": 7857,
  "rating": 5,
  "reviewer": "David Bos.",
  "country": "GB",
  "reviewTime": "2026-06-19T00:00:00.000Z",
  "reviewBody": "Paddypower had to try to bridge the big age gap in computer technology...",
  "businessReply": "Thank you for your review.",
  "reviewUrl": "https://www.trustpilot.com/reviews/example",
  "crawledAt": "2026-07-01T08:05:00.000Z"
}
````

</details>

### Quick start

1. Set `maxReviews`. Default is `20` for a fast preview.
2. Paste a Trustpilot company URL.
3. Keep `maxPages: 1` for the first run.
4. Click **Run** and export the dataset.

### Use cases

**Brand reputation monitoring**\
Track recent ratings, complaints, praise, and company replies.

**Competitor research**\
Compare competitors by rating, review volume, recurring pain points, and response quality.

**Support and product analysis**\
Turn review text into structured data for complaint tagging, sentiment analysis, and product feedback.

# Actor input Schema

## `maxReviews` (type: `integer`):

Maximum number of reviews to save. Default is 20 for a fast preview. For production runs, set this value deliberately based on the dataset size you need.

## `companyUrls` (type: `array`):

Trustpilot company review page URLs, such as https://www.trustpilot.com/review/www.paddypower.com.

## `maxPages` (type: `integer`):

Maximum review pages to visit per company. Keep this low for preview runs.

## `includeBusinessReplies` (type: `boolean`):

Also extract company reply text and reply dates when visible on Trustpilot review cards.

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

Optional Apify proxy configuration. A US proxy can improve consistency for Trustpilot pages.

## Actor input object example

```json
{
  "maxReviews": 20,
  "companyUrls": [
    "https://www.trustpilot.com/review/www.paddypower.com"
  ],
  "maxPages": 1,
  "includeBusinessReplies": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "countryCode": "US"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Structured Trustpilot review records.

## `outputSummary` (type: `string`):

Input settings and run statistics for the crawl.

## `failedRequests` (type: `string`):

Requests that failed after all retries.

# 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 = {
    "maxReviews": 20,
    "companyUrls": [
        "https://www.trustpilot.com/review/www.paddypower.com"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "countryCode": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nezha/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 = {
    "maxReviews": 20,
    "companyUrls": ["https://www.trustpilot.com/review/www.paddypower.com"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "countryCode": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("nezha/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 '{
  "maxReviews": 20,
  "companyUrls": [
    "https://www.trustpilot.com/review/www.paddypower.com"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "countryCode": "US"
  }
}' |
apify call nezha/trustpilot-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trustpilot Reviews Scraper: Ratings, Review Text & Replies",
        "description": "Turn Trustpilot company pages into structured review datasets with ratings, review text, reviewer names, countries, dates, and business replies. Export customer feedback to CSV, Excel, or JSON.",
        "version": "0.1",
        "x-build-id": "P3veCMoIVQ2lXKKCX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nezha~trustpilot-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nezha-trustpilot-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nezha~trustpilot-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-nezha-trustpilot-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nezha~trustpilot-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-nezha-trustpilot-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxReviews": {
                        "title": "Max Reviews",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of reviews to save. Default is 20 for a fast preview. For production runs, set this value deliberately based on the dataset size you need.",
                        "default": 20
                    },
                    "companyUrls": {
                        "title": "Trustpilot Company URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Trustpilot company review page URLs, such as https://www.trustpilot.com/review/www.paddypower.com.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPages": {
                        "title": "Max Review Pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum review pages to visit per company. Keep this low for preview runs.",
                        "default": 1
                    },
                    "includeBusinessReplies": {
                        "title": "Include Business Replies",
                        "type": "boolean",
                        "description": "Also extract company reply text and reply dates when visible on Trustpilot review cards.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration. A US proxy can improve consistency for Trustpilot pages."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
