# Trustpilot Reviews Scraper (`azzouzana/trustpilot-scraper`) Actor

From $0.4/1k 💰 Scrape Trustpilot reviews at scale with 70+ data points (ratings, text, country, names, replies, full business profiles, reviews distributions and more). Bypass Trustpilot’s ~200 limit at lightning speed! Export to JSON/CSV/Excel/API. AI-agent ready - start now! 🚀

- **URL**: https://apify.com/azzouzana/trustpilot-scraper.md
- **Developed by:** [Azzouzana](https://apify.com/azzouzana) (community)
- **Categories:** Automation, Lead generation, SEO tools
- **Stats:** 48 total users, 11 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.40 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Fast Trustpilot Reviews Scraper 🔥 Beyond the 200-Review limit

**Trustpilot stops you at ~200 reviews. This actor doesn’t.** Paste a company URL or slug and pull reviews in **lightning-fast** flat JSON — star rating, title, full text, dates, verified flag, company reply, reviewer name, country, and more.

⚡ Filters, sort, and export-ready rows in seconds — the kind of speed and depth that makes old “scrape the first page” workflows obsolete. Perfect for **brand monitoring, competitor research, and lead enrichment**.

**From $0.40 per 1,000 reviews** JSON, CSV, Excel · Apify API · AI-agent ready 🚀

### 🤩 Features

- **Easy input** — domain slug or full Trustpilot review URL
- **Filters** — star rating, date range, language, verified only, replies only, keyword search
- **Sort** — most recent or most relevant
- **Bypasses the 200-cap** — go beyond Trustpilot’s ~200-review browsing limit and collect more than that when available
- **Optional company data** — business contact, trust score, star breakdown, transparency info on each row
- **Flat rows** — ready for CSV, Excel, CRM, or API

### 📚 How to use

1. [Create a free Apify account](https://apify.com/sign-up?fpr=cbgdsf) - no credit card required.
2. Open this Actor in Apify Console.
3. Add a **Company URL or slug**.
4. Set **Max reviews** and any optional filters.
5. Click **Start** and download reviews from the dataset tab.

#### Supported company input

| Format | Example |
|--------|---------|
| Domain slug | `ecigone.co.uk` |
| Slug with www | `www.nike.com` |
| Full review URL | `https://www.trustpilot.com/review/stripe.com` |
| Full review URL (www slug) | `https://www.trustpilot.com/review/www.nike.com` |

````

ecigone.co.uk
www.nike.com
stripe.com
https://www.trustpilot.com/review/shopify.com
https://www.trustpilot.com/review/www.nike.com

````

### 🤔 Why scrape Trustpilot reviews?

- Monitor your brand reputation over time
- Compare competitors by rating and feedback
- Enrich sales leads with trust signals
- Track verified reviews and company replies
- Export reviewer countries for market analysis

### 🆓 Free tier limitations

We want you to see how this actor works before you commit. To keep things fair for everyone, the **free tier** usually includes these trial limits:

- **Sample data:** up to **5 reviews** per run - enough to check data quality.
- **Daily cap:** **5 runs** per calendar day (UTC).
- **Between runs:** at least **1 minute** before you can start another run.

> Free-user limits can change with platform load and your intended usage. [**Upgrade to a paid plan**](https://apify.com/pricing?fpr=cbgdsf) for unlimited extraction!


### 📥 Input

| Field | Description | Default |
|-------|-------------|---------|
| `company` | Trustpilot URL, domain, or slug | `ecigone.co.uk` |
| `maxItems` | Max reviews to collect (Bypass the 200 cap) | 100 |
| `sortBy` | Most recent or most relevant | `recency` |
| `filterStars` | Star ratings 1–5 (leave empty for all) | — |
| `filterLanguages` | Single language or all | `all` |
| `filterCountries` | Reviewer country codes, e.g. `US`, `GB` | — |
| `filterDateRange` | All time, last 30 days, 3 / 6 / 12 months | `all` |
| `filterVerifiedOnly` | Verified reviews only | `false` |
| `filterRepliesOnly` | Reviews with a company reply only | `false` |
| `searchKeywords` | Keyword in review text | — |
| `includeBusinessDetails` | Add full business profile (Name, contacts, business status, trustScore etc..) | `false` |
| `includeReviewsDistribution` | Add trust score and star breakdown | `false` |
| `includeTransparency` | Add transparency page fields | `false` |

Only `company` is required.

#### Example input

**Quick test — one company, 100 recent reviews**

```json
{
  "company": "apify.com",
  "maxItems": 100,
  "sortBy": "recency"
}
````

**Filtered — 3-star verified reviews from the last 3 months**

```json
{
  "company": "https://www.trustpilot.com/review/stripe.com",
  "maxItems": 500,
  "sortBy": "relevance",
  "filterStars": [3],
  "filterDateRange": "last3months",
  "filterVerifiedOnly": true,
  "filterCountries": ["US", "GB"]
}
```

**Full export — company data on every row**

```json
{
  "company": "shopify.com",
  "sortBy": "recency",
  "includeBusinessDetails": true,
  "includeReviewsDistribution": true,
  "includeTransparency": true
}
```

### 🧐 Output

Each row is one review. Company fields appear on every row when you turn on the matching input flags.

```json
{
  "reviewId": "6a61d53617bd1e98284606ae",
  "reviewUrl": "https://www.trustpilot.com/reviews/6a61d53617bd1e98284606ae",
  "reviewTitle": "Business Coach",
  "reviewText": "As a business coach, I regularly work with clients from a wide variety of sectors. I make sure to carry out extensive research in advance into the sector-specific requirements and the current competitive landscape, both across Germany as a whole and within the region in particular. Using the Google Maps Scraper saves me hours – or even days – of tedious manual research, from which I would then have to laboriously filter out duplicates and multiple entries.",
  "reviewRating": 4,
  "reviewLanguage": "en",
  "reviewPublishedDate": "2026-07-23T10:47:50.000Z",
  "reviewExperiencedDate": "2026-07-23T00:00:00.000Z",
  "reviewUpdatedDate": null,
  "reviewIsVerified": false,
  "reviewSource": "BasicLink",
  "reviewLikes": 0,
  "reviewerId": "6a61d5297b418c16b6899045",
  "reviewerUrl": "https://www.trustpilot.com/users/6a61d5297b418c16b6899045",
  "reviewerName": "Gerald Jürgens",
  "reviewerCountryCode": "DE",
  "reviewerReviewCount": 1,
  "replyText": null,
  "replyPublishedDate": null,
  "businessUnit": "apify.com",
  "scrapedAt": "2026-07-23T11:43:54.636Z",
  "business_id": "62ac9c3177fbadc00785d7fe",
  "business_displayName": "Apify",
  "business_identifyingName": "apify.com",
  "business_numberOfReviews": 636,
  "business_numberOfReviewsLast12Months": 499,
  "business_trustScore": 4.8,
  "business_websiteUrl": "https://apify.com",
  "business_websiteTitle": "apify.com",
  "business_profileImageUrl": "https://s3-eu-west-1.amazonaws.com/tpd/logos/62ac9c3177fbadc00785d7fe/0x0.png",
  "business_customHeaderUrl": null,
  "business_promotion": null,
  "business_hideCompetitorModule": false,
  "business_stars": 5,
  "business_categories": [
    {
      "id": "software_company",
      "name": "Software Company",
      "rank": "undefined",
      "cardinality": "undefined",
      "isPrimary": true
    },
    {
      "id": "computer_software_store",
      "name": "Computer Software Store",
      "rank": "undefined",
      "cardinality": "undefined",
      "isPrimary": false
    },
    {
      "id": "research_and_product_development",
      "name": "Research and Product Development",
      "rank": "undefined",
      "cardinality": "undefined",
      "isPrimary": false
    },
    {
      "id": "software_vendor",
      "name": "Software Vendor",
      "rank": "undefined",
      "cardinality": "undefined",
      "isPrimary": false
    },
    {
      "id": "online_marketplace",
      "name": "Online Marketplace",
      "rank": "undefined",
      "cardinality": "undefined",
      "isPrimary": false
    }
  ],
  "business_breadcrumb_topLevelId": "electronics_technology",
  "business_breadcrumb_topLevelDisplayName": "Electronics & Technology",
  "business_breadcrumb_midLevelId": "internet_software",
  "business_breadcrumb_midLevelDisplayName": "Internet & Software",
  "business_breadcrumb_bottomLevelId": "software_company",
  "business_breadcrumb_bottomLevelDisplayName": "Software Company",
  "business_isClaimed": true,
  "business_isClosed": false,
  "business_isTemporarilyClosed": false,
  "business_locationsCount": 0,
  "business_isCollectingReviews": false,
  "business_verification_verifiedByGoogle": false,
  "business_verification_verifiedPaymentMethod": false,
  "business_verification_verifiedUserIdentity": false,
  "business_hasCollectedIncentivisedReviews": false,
  "business_countryCode": "CZ",
  "business_consumerAlert": null,
  "business_consumerAlerts": null,
  "business_isMerged": false,
  "business_contactInfo_email": "hello@apify.com",
  "business_contactInfo_address": "Vodičkova 704/36, Nové Město",
  "business_contactInfo_city": "Prague",
  "business_contactInfo_country": "CZ",
  "business_contactInfo_phone": null,
  "business_contactInfo_zipCode": "110 00",
  "business_activity_isUsingPaidFeatures": false,
  "business_activity_hasSubscription": false,
  "business_activity_claimedDate": "2024-07-30T11:24:59.000Z",
  "business_activity_isClaimed": true,
  "business_activity_previouslyClaimed": true,
  "business_activity_replyBehavior_averageDaysToReply": 0,
  "business_activity_replyBehavior_negativeReviewsWithRepliesCount": 0,
  "business_activity_replyBehavior_replyPercentage": 0,
  "business_activity_replyBehavior_totalNegativeReviewsCount": 13,
  "business_activity_verification_verifiedByGoogle": false,
  "business_activity_verification_verifiedPaymentMethod": false,
  "business_activity_verification_verifiedUserIdentity": false,
  "business_activity_hasBusinessUnitMergeHistory": false,
  "business_activity_isUsingAIResponses": false,
  "business_activity_hasRecentlyInvitedUsers": true,
  "business_hasCustomHeaderSetting": false,
  "business_hasPromotionSetting": false,
  "business_hasLocationModuleAccess": false,
  "businessName": "Apify",
  "businessWebsite": "https://apify.com",
  "businessEmail": "hello@apify.com",
  "businessPhone": null,
  "businessCity": "Prague",
  "businessZipCode": "110 00",
  "businessAddress": "Vodičkova 704/36, Nové Město, Prague, 110 00",
  "businessCountry": "CZ",
  "businessUrl": "https://www.trustpilot.com/review/apify.com",
  "trustScore": 4.8,
  "totalReviews": 636,
  "starsOne": 13,
  "starsTwo": 2,
  "starsThree": 3,
  "starsFour": 44,
  "starsFive": 574,
  "basicLinkRate": 83,
  "basicLinkRateSource": "trustpilot",
  "hasCollectedIncentivisedReviews": false,
  "consumerAlert": null,
  "consumerAlerts": []
}
```

Without the company-data flags, rows contain only the review and reviewer fields plus `businessUnit` and `scrapedAt`.

### ❓ FAQ

**How much does it cost to run this actor?**\
Pricing starts from $0.40 per 1,000 reviews ($0.4/1K), depending on your Apify plan.

**Why am I only getting 5 results?**\
On the free Apify plan, each run is limited to 5 reviews, so you can check data quality. Upgrade to a paid plan to use your full **Max reviews** setting.

**Can I get more than ~200 reviews for one company?**\
Yes. On Trustpilot’s site you hit a limit around **200 reviews** per company page. This actor is built to collect beyond that when they are publicly available.

**Can I scrape several companies in one run?**\
No. One company per run. Start another run for a different URL or slug.

**Do I need a Trustpilot account?**\
No. The actor collects publicly visible review pages.

**What export formats are available?**\
JSON, CSV, Excel, and API.

### 🔎 SEO Keywords

Trustpilot scraper, scrape Trustpilot reviews, Trustpilot review export, company reviews scraper, review monitoring, reputation scraper, customer feedback data, Trustpilot data extraction, Apify Trustpilot, web scraping Trustpilot, brand reputation tool, review sentiment export

### 🔍 Looking for something else?

[Browse thousands of scrapers on Apify Store](https://apify.com/store?fpr=cbgdsf)

### 📬 Contact & Support

**Need a custom solution? Have a feature request?**\
We'd love to hear from you!

- 💬 **Discord**: `@azzouzana`
- 📧 **Email**: <labs@azzouzana.com>

***

### ⚠️ Disclaimer

This actor is not affiliated with Trustpilot A/S or any of its subsidiaries. All trademarks belong to their respective owners. It only collects publicly visible review data and does not access content behind login or private accounts.

# Actor input Schema

## `company` (type: `string`):

Trustpilot review page URL, domain, or slug (e.g. apify.com, https://www.trustpilot.com/review/www.nike.com).

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

Maximum unique reviews to collect this run.

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

Most recent (newest first) or most relevant reviews.

## `filterStars` (type: `array`):

Only these star ratings (1–5). Leave empty for all. Multiple values may be split on page cap for deeper coverage.

## `filterLanguages` (type: `string`):

Review language filter (matches Trustpilot UI). All languages = no language filter.

## `filterCountries` (type: `array`):

Only keep reviews from these reviewer countries (client-side filter on reviewerCountryCode). Leave empty for all countries.

## `filterDateRange` (type: `string`):

Only reviews from the selected time window. All reviews = no date filter.

## `filterVerifiedOnly` (type: `boolean`):

Only include reviews marked as verified by Trustpilot.

## `filterRepliesOnly` (type: `boolean`):

Only include reviews that have a company reply.

## `searchKeywords` (type: `string`):

Keyword filter in review text (max 100 characters).

## `includeBusinessDetails` (type: `boolean`):

Add the full Trustpilot businessUnit profile on each row: flattened business\_\* fields (id, categories, verification, activity, contactInfo, flags) plus businessName, businessWebsite, businessUrl, and contact aliases.

## `includeReviewsDistribution` (type: `boolean`):

Add trustScore, totalReviews, starsOne–starsFive on each review row.

## `includeTransparency` (type: `boolean`):

Fetch transparency page for basicLinkRate and consumer alerts.

## Actor input object example

```json
{
  "company": "apify.com",
  "maxItems": 10,
  "sortBy": "recency",
  "filterLanguages": "all",
  "filterCountries": [],
  "filterDateRange": "all",
  "filterVerifiedOnly": false,
  "filterRepliesOnly": false,
  "includeBusinessDetails": false,
  "includeReviewsDistribution": false,
  "includeTransparency": false
}
```

# 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 = {
    "company": "apify.com",
    "maxItems": 10,
    "filterCountries": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("azzouzana/trustpilot-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 = {
    "company": "apify.com",
    "maxItems": 10,
    "filterCountries": [],
}

# Run the Actor and wait for it to finish
run = client.actor("azzouzana/trustpilot-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 '{
  "company": "apify.com",
  "maxItems": 10,
  "filterCountries": []
}' |
apify call azzouzana/trustpilot-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trustpilot Reviews Scraper",
        "description": "From $0.4/1k 💰 Scrape Trustpilot reviews at scale with 70+ data points (ratings, text, country, names, replies, full business profiles, reviews distributions and more). Bypass Trustpilot’s ~200 limit at lightning speed! Export to JSON/CSV/Excel/API. AI-agent ready - start now! 🚀",
        "version": "0.0",
        "x-build-id": "657rJ09UPxItiyWc4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/azzouzana~trustpilot-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-azzouzana-trustpilot-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/azzouzana~trustpilot-scraper/runs": {
            "post": {
                "operationId": "runs-sync-azzouzana-trustpilot-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/azzouzana~trustpilot-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-azzouzana-trustpilot-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",
                "required": [
                    "company"
                ],
                "properties": {
                    "company": {
                        "title": "Company URL or slug",
                        "type": "string",
                        "description": "Trustpilot review page URL, domain, or slug (e.g. apify.com, https://www.trustpilot.com/review/www.nike.com)."
                    },
                    "maxItems": {
                        "title": "Max reviews",
                        "minimum": 10,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum unique reviews to collect this run.",
                        "default": 100
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "recency",
                            "relevance"
                        ],
                        "type": "string",
                        "description": "Most recent (newest first) or most relevant reviews.",
                        "default": "recency"
                    },
                    "filterStars": {
                        "title": "Star ratings",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only these star ratings (1–5). Leave empty for all. Multiple values may be split on page cap for deeper coverage.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "3",
                                "4",
                                "5"
                            ],
                            "enumTitles": [
                                "1 star",
                                "2 stars",
                                "3 stars",
                                "4 stars",
                                "5 stars"
                            ]
                        }
                    },
                    "filterLanguages": {
                        "title": "Language",
                        "enum": [
                            "all",
                            "en",
                            "fr",
                            "pt",
                            "es",
                            "nl",
                            "it",
                            "id",
                            "de",
                            "zh",
                            "ru",
                            "pl"
                        ],
                        "type": "string",
                        "description": "Review language filter (matches Trustpilot UI). All languages = no language filter.",
                        "default": "all"
                    },
                    "filterCountries": {
                        "title": "Reviewer countries",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only keep reviews from these reviewer countries (client-side filter on reviewerCountryCode). Leave empty for all countries.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "US",
                                "GB",
                                "CA",
                                "AU",
                                "NZ",
                                "IE",
                                "DE",
                                "FR",
                                "ES",
                                "IT",
                                "NL",
                                "BE",
                                "AT",
                                "CH",
                                "SE",
                                "NO",
                                "DK",
                                "FI",
                                "PL",
                                "PT",
                                "CZ",
                                "HU",
                                "RO",
                                "GR",
                                "BG",
                                "HR",
                                "SK",
                                "SI",
                                "LT",
                                "LV",
                                "EE",
                                "LU",
                                "MT",
                                "CY",
                                "IS",
                                "BR",
                                "MX",
                                "IN",
                                "JP",
                                "KR",
                                "SG",
                                "AE",
                                "ZA",
                                "TR",
                                "IL",
                                "SA",
                                "MY",
                                "TH",
                                "HK",
                                "TW"
                            ],
                            "enumTitles": [
                                "US — United States",
                                "GB — United Kingdom",
                                "CA — Canada",
                                "AU — Australia",
                                "NZ — New Zealand",
                                "IE — Ireland",
                                "DE — Germany",
                                "FR — France",
                                "ES — Spain",
                                "IT — Italy",
                                "NL — Netherlands",
                                "BE — Belgium",
                                "AT — Austria",
                                "CH — Switzerland",
                                "SE — Sweden",
                                "NO — Norway",
                                "DK — Denmark",
                                "FI — Finland",
                                "PL — Poland",
                                "PT — Portugal",
                                "CZ — Czech Republic",
                                "HU — Hungary",
                                "RO — Romania",
                                "GR — Greece",
                                "BG — Bulgaria",
                                "HR — Croatia",
                                "SK — Slovakia",
                                "SI — Slovenia",
                                "LT — Lithuania",
                                "LV — Latvia",
                                "EE — Estonia",
                                "LU — Luxembourg",
                                "MT — Malta",
                                "CY — Cyprus",
                                "IS — Iceland",
                                "BR — Brazil",
                                "MX — Mexico",
                                "IN — India",
                                "JP — Japan",
                                "KR — South Korea",
                                "SG — Singapore",
                                "AE — United Arab Emirates",
                                "ZA — South Africa",
                                "TR — Turkey",
                                "IL — Israel",
                                "SA — Saudi Arabia",
                                "MY — Malaysia",
                                "TH — Thailand",
                                "HK — Hong Kong",
                                "TW — Taiwan"
                            ]
                        },
                        "default": []
                    },
                    "filterDateRange": {
                        "title": "Date posted",
                        "enum": [
                            "all",
                            "last30days",
                            "last3months",
                            "last6months",
                            "last12months"
                        ],
                        "type": "string",
                        "description": "Only reviews from the selected time window. All reviews = no date filter.",
                        "default": "all"
                    },
                    "filterVerifiedOnly": {
                        "title": "Verified reviews only",
                        "type": "boolean",
                        "description": "Only include reviews marked as verified by Trustpilot.",
                        "default": false
                    },
                    "filterRepliesOnly": {
                        "title": "Reviews with company reply only",
                        "type": "boolean",
                        "description": "Only include reviews that have a company reply.",
                        "default": false
                    },
                    "searchKeywords": {
                        "title": "Search keywords",
                        "maxLength": 100,
                        "type": "string",
                        "description": "Keyword filter in review text (max 100 characters)."
                    },
                    "includeBusinessDetails": {
                        "title": "Include business unit details",
                        "type": "boolean",
                        "description": "Add the full Trustpilot businessUnit profile on each row: flattened business_* fields (id, categories, verification, activity, contactInfo, flags) plus businessName, businessWebsite, businessUrl, and contact aliases.",
                        "default": false
                    },
                    "includeReviewsDistribution": {
                        "title": "Include review distribution",
                        "type": "boolean",
                        "description": "Add trustScore, totalReviews, starsOne–starsFive on each review row.",
                        "default": false
                    },
                    "includeTransparency": {
                        "title": "Include transparency data",
                        "type": "boolean",
                        "description": "Fetch transparency page for basicLinkRate and consumer alerts.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
