# Trustpilot Reviews & Company Data Scraper API (`lurkapi/trustpilot-reviews-and-company-data-scraper-api`) Actor

Scrape Trustpilot reviews and company data by company URL, domain, or search. Returns review text, rating, date, reviewer, language, verification, and full company profile (TrustScore, star histogram, category, contact info).

- **URL**: https://apify.com/lurkapi/trustpilot-reviews-and-company-data-scraper-api.md
- **Developed by:** [LurkAPI](https://apify.com/lurkapi) (community)
- **Categories:** E-commerce, Lead generation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.16 / 1,000 review scrapeds

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 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/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

## Trustpilot Reviews & Company Data Scraper API

Get every review from any Trustpilot company page. Star ratings, reviewer names, dates, company replies, and business info, all in one clean export.

### 🎬 What it does

Paste a Trustpilot link (or just a company domain) and get back a spreadsheet of reviews. No login, no setup, no scripts to write.

Here is what you can pull in one run:

1. **Every review**: title, text, 1 to 5 star rating, language, date, reviewer name, reviewer country, and verified badge.
2. **Company replies (add-on)**: opt in to include the company's response to each review. Free to enable, each reply counts as one extra item at the base review price.
3. **Company overview**: TrustScore, review count by star, category, contact details, and how quickly the company usually replies.
4. **Website enrichment (optional)**: contact emails and payment providers (like Stripe or Shopify) pulled from the company's own website.
5. **Filters**: pick by rating, country, language, date range, keyword, verified only, or replies only.

Good for: watching your brand, checking competitors, finding new leads, tracking customer complaints, or building a sentiment dashboard.

### 📋 How to use it

#### Step 1: Add your targets

Paste any of these into the Targets field. Mix and match freely, duplicates are cleaned up so you never pay twice for the same company.

- Trustpilot company page: `https://www.trustpilot.com/review/eneba.com`
- Just the domain: `apple.com`
- Country page: `https://de.trustpilot.com/review/apple.com` (pulls the German audience only)
- Search page: `https://www.trustpilot.com/search?query=nike` (finds the top match and scrapes it)
- Reviewer profile: `https://www.trustpilot.com/users/<id>` (all reviews by one user)
- Single review: `https://www.trustpilot.com/reviews/<id>` (one specific review)

#### Step 2: Pick filters and add-ons

Free filters:

- **Star rating**: pick any combination of 1 to 5 stars. If you pick more than one, results are split evenly across each rating so one bucket cannot eat your whole budget.
- **Reviewer country**: pick as many as you want from 50+ countries.
- **Review language**: pick any of 13 languages (English, German, French, Spanish, Italian, Dutch, Portuguese, Polish, Danish, Swedish, Norwegian, Finnish, Japanese).
- **Verified only**: only show reviews Trustpilot has verified.
- **Replies only**: only show reviews the company answered.
- **Sort order**: newest first, or by Trustpilot's relevance ranking.
- **Company overview row**: get one summary row per company with TrustScore, review breakdown, and contact details.
- **Company replies**: include the company's reply as a separate row.

Paid add-ons (you only pay when they find a match):

- **Date range**: pick a start date and end date. The scraper stops once it goes past the window, so old-review scrapes stay cheap.
- **Keyword filter**: paste words like `refund, scam` or a regex pattern like `refund|scam`. Only reviews mentioning them are returned.
- **Website enrichment**: pull contact email and payment providers (Stripe, Shopify, PayPal, and others) from the company's own website.
- **Transparency data**: pull Trustpilot's public transparency stats for the company (review sources, response speed, and more).

#### Step 3: Run it and get your results

Click Start. Results stream in live under three tabs: Reviews, Companies, and All fields. Download as JSON, CSV, or Excel, or pull them straight into your app through the Apify API.

Every row has a `status` field. `Success` means the row worked. Anything else is a plain-English message like `no reviews found` or `company not found on Trustpilot`, so you can spot and fix problems without reading the logs.

### 💰 Pricing

You pay per result, not per hour. If nothing comes back, nothing gets billed.

| What you pay for | Price |
|---|---|
| Starting the run | $0.00005 (one-off, per run) |
| Each review | $0.00019 on the free Apify plan, less on paid plans |
| Date range filter | $0.10 per 1,000 matching reviews |
| Keyword filter | $0.10 per 1,000 matching reviews |
| Contact email found | $0.03 per company (only when we find one) |
| Payment provider found | $0.03 per company (only when we find one) |
| Transparency data | $0.02 per company (only when the data is available) |

The company overview row and company replies are free. Any add-on only bills when it actually returns data. Turn off any output field you don't need to keep rows lean.

### 💡 Good to know

- **No hidden cap**. Some scrapers stop at 200 or 5,000 reviews per company. This one keeps going until it runs out of reviews or hits your `maxItems`.
- **Fair split across stars**. Pick stars 1 to 5 and each rating gets an even share. No more all-5-star datasets when you asked for a full spread.
- **Multiple countries at once**. Most tools force one country at a time. This one takes any combination.
- **Country pages are separate**. `de.trustpilot.com/review/apple.com` and `www.trustpilot.com/review/apple.com` are two different review pools. Pick the country your audience actually lives in.
- **Any date range**. Set an exact start and end date. No presets, no "last 30 days" lock-in.
- **Slim rows on demand**. Turn any field off to shrink the export. Disabled fields are removed, not sent as empty.
- **Storage lasts as long as your plan allows**. Results sit in your Apify storage. Retention depends on your Apify plan.

### ❓ FAQ

**Why did my run fail?**
Check the `status` field on any partial rows. Most messages tell you exactly what went wrong: "company not found on Trustpilot" means the domain was spelled wrong, "no reviews found" means the company has none matching your filters, "unsupported input shape" means the URL wasn't a Trustpilot link. Rerun for temporary issues, or loosen your filters.

**How long are the results kept?**
Results sit in your Apify storage. How long they stay depends on your Apify plan. On paid plans you can also push results straight to your own database or cloud bucket through Apify integrations.

**How much does a run cost?**
See the Pricing table above. A 500-review scrape is around $0.10. Add-ons only charge when they return a match.

**Can I scrape more than 10,000 reviews from one company?**
Yes. There is no cap. Set `maxItems` to whatever you need. Big brands like Booking.com, Amazon, and Ryanair with hundreds of thousands of reviews all work.

**Can I filter by exact date range?**
Yes. Set a start and end date in `YYYY-MM-DD` format. The scraper stops early once it goes past your window, so old-review scrapes stay cheap.

**Which countries are supported?**
Over 50 reviewer countries, including the US, UK, Canada, Australia, all major European countries, Brazil, and Japan. You can also point at any Trustpilot country page (`de.`, `fr.`, `es.`, `it.`, and so on) as input.

**Can I get the reviewer's info?**
Yes. Every review includes the reviewer's display name, avatar, country, and total review count when Trustpilot shows them, plus verification info.

**Does it include the company's reply?**
Yes. When a company has replied to a review, you get the reply text, the date, and the author. Turn on the Company replies add-on to also get replies as separate rows.

### 🔗 Other tools you might like

- [Google Maps Reviews Scraper](https://apify.com/lurkapi/google-maps-reviews-scraper): reviews, ratings, and reviewer profiles from any Google Maps business.
- [Google Maps Business Leads Scraper](https://apify.com/lurkapi/google-maps-business-leads-scraper): emails, phones, and lead-gen data from any Google Maps business.
- [TikTok Shop Reviews Scraper](https://apify.com/lurkapi/tiktok-shop-reviews-scraper): product reviews and ratings from TikTok Shop.

### ⚖️ Disclaimer

This tool is for personal, research, and educational use. You are responsible for following Trustpilot's Terms of Service and any laws that apply where you live. The developer is not liable for misuse. What data comes back depends on what Trustpilot shows at the time of the run.

**Keywords:** trustpilot scraper, trustpilot reviews scraper, trustpilot company data, review scraping, brand reputation, review monitoring

# Actor input Schema

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

Trustpilot targets to scrape. Accepts several shapes and auto-detects each: full company URL ('https://www.trustpilot.com/review/eneba.com'), bare domain ('apple.com'), regional company URL ('https://de.trustpilot.com/review/apple.com'), user profile URL ('https://www.trustpilot.com/users/<userId>'), single review URL ('https://www.trustpilot.com/reviews/<reviewId>'), or search URL ('https://www.trustpilot.com/search?query=apple'). Mix any combination in one run; targets are deduplicated.
## `maxItems` (type: `integer`):

Total cap on the number of review rows produced across every input. Prefill of 20 keeps the default demo run cheap and fast; raise via API or the Console for a full sweep.
## `filterStars` (type: `array`):

Star ratings to include. Empty = all. When set, the scraper performs a fair-share sweep across the selected star buckets so results aren't dominated by one bucket.
## `filterCountries` (type: `array`):

Only include reviews written by consumers from these countries. Multi-select. Empty = all countries.
## `filterLanguages` (type: `array`):

Only include reviews written in these languages. Multi-select of common Trustpilot review languages. Empty = all languages.
## `filterVerifiedOnly` (type: `boolean`):

Return only reviews Trustpilot has marked as verified (invitation-based or otherwise verified).
## `filterRepliesOnly` (type: `boolean`):

Return only reviews where the company has posted a reply.
## `sort` (type: `string`):

How to order the reviews returned. 'recency' returns newest first; 'relevance' uses Trustpilot's relevance ranking.
## `filterStartDate` (type: `string`):

Only include reviews on or after this date (YYYY-MM-DD).
## `filterEndDate` (type: `string`):

Only include reviews on or before this date (YYYY-MM-DD). Reviews older than this stop pagination early.
## `filterKeywordInclude` (type: `string`):

Only keep reviews that mention these words. Paste comma-separated words (e.g. 'scam, refund') or a regex pattern (e.g. 'scam|refund'). Matches against review title, text, and product names.
## `filterKeywordExclude` (type: `string`):

Only keep reviews that DO NOT mention these words. Paste comma-separated words (e.g. 'scam, refund') or a regex pattern (e.g. 'scam|refund'). Matches against review title, text, and product names.
## `includeCompanyDetails` (type: `boolean`):

Emit one summary row per input target. For company URLs / domains / search-resolved businesses: TrustScore, star histogram, category, contact info, verification badges, response rate. For user profile URLs: reviewer display name, country, verified badge, total reviews written, reads count, likes count.
## `includeTransparencyStats` (type: `boolean`):

Fetch Trustpilot's public transparency page for each company (collection-method mix, basic link rate, reactivated reviews count).
## `enrichEmails` (type: `boolean`):

Fetch the company's linked website and extract contact emails.
## `enrichPayments` (type: `boolean`):

Detect payment processors on the company's website (Stripe, Shopify, PayPal, Adyen, Klarna, Braintree, etc.). Free when paired with Email extraction (the website fetch is shared).
## `outputTitle` (type: `boolean`):

Include the review title.
## `outputText` (type: `boolean`):

Include the review body text.
## `outputRating` (type: `boolean`):

Include the 1-5 star rating.
## `outputLikes` (type: `boolean`):

Include the review's helpful/like count.
## `outputLanguage` (type: `boolean`):

Include the review's language ISO code.
## `outputSource` (type: `boolean`):

Include the review-collection source (InvitationApi, Organic, etc.).
## `outputExperiencedDate` (type: `boolean`):

Include the date the reviewer says they had their experience.
## `outputPublishedDate` (type: `boolean`):

Include the date the review was published on Trustpilot.
## `outputUpdatedDate` (type: `boolean`):

Include the date the review was last edited (null if never edited).
## `outputConsumer` (type: `boolean`):

Include the reviewer's display name, avatar, profile ID, and total review count.
## `outputConsumerCountry` (type: `boolean`):

Include the reviewer's country code.
## `outputReply` (type: `boolean`):

Include the company's reply message and dates (null when no reply).
## `outputVerification` (type: `boolean`):

Include verification metadata (isVerified, verification source, verification level).
## `outputLocation` (type: `boolean`):

Include the reviewer's location object when Trustpilot exposes one.
## `outputProductReviews` (type: `boolean`):

Include per-product review breakdown for reviews that reference specific products.
## `outputInputUrl` (type: `boolean`):

Include the URL/domain from the input list that led to this row.
## `outputSourceBusinessDomain` (type: `boolean`):

Include the Trustpilot business identifier (the domain segment used in the review URL).
## `outputScrapedAt` (type: `boolean`):

Include the ISO timestamp for when the row was scraped.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.trustpilot.com/review/eneba.com",
    "apple.com"
  ],
  "maxItems": 20,
  "filterStars": [],
  "filterCountries": [],
  "filterLanguages": [],
  "filterVerifiedOnly": false,
  "filterRepliesOnly": false,
  "sort": "recency",
  "includeCompanyDetails": false,
  "includeTransparencyStats": false,
  "enrichEmails": false,
  "enrichPayments": false,
  "outputTitle": true,
  "outputText": true,
  "outputRating": true,
  "outputLikes": true,
  "outputLanguage": true,
  "outputSource": true,
  "outputExperiencedDate": true,
  "outputPublishedDate": true,
  "outputUpdatedDate": true,
  "outputConsumer": true,
  "outputConsumerCountry": true,
  "outputReply": true,
  "outputVerification": true,
  "outputLocation": true,
  "outputProductReviews": true,
  "outputInputUrl": true,
  "outputSourceBusinessDomain": true,
  "outputScrapedAt": true
}
````

# Actor output Schema

## `reviews` (type: `string`):

One row per scraped review.

## `companies` (type: `string`):

One row per input company (when Include company data is on).

## `reviewers` (type: `string`):

Reviewer-attributed rows from user-profile targets.

## `all` (type: `string`):

Every emitted row with every field.

# 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 = {
    "startUrls": [
        "https://www.trustpilot.com/review/eneba.com",
        "apple.com"
    ],
    "maxItems": 20,
    "filterStars": [],
    "filterCountries": [],
    "filterLanguages": [],
    "sort": "recency"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lurkapi/trustpilot-reviews-and-company-data-scraper-api").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 = {
    "startUrls": [
        "https://www.trustpilot.com/review/eneba.com",
        "apple.com",
    ],
    "maxItems": 20,
    "filterStars": [],
    "filterCountries": [],
    "filterLanguages": [],
    "sort": "recency",
}

# Run the Actor and wait for it to finish
run = client.actor("lurkapi/trustpilot-reviews-and-company-data-scraper-api").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 '{
  "startUrls": [
    "https://www.trustpilot.com/review/eneba.com",
    "apple.com"
  ],
  "maxItems": 20,
  "filterStars": [],
  "filterCountries": [],
  "filterLanguages": [],
  "sort": "recency"
}' |
apify call lurkapi/trustpilot-reviews-and-company-data-scraper-api --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trustpilot Reviews & Company Data Scraper API",
        "description": "Scrape Trustpilot reviews and company data by company URL, domain, or search. Returns review text, rating, date, reviewer, language, verification, and full company profile (TrustScore, star histogram, category, contact info).",
        "version": "0.0",
        "x-build-id": "jfPlUTjTOY6NlDnxm"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lurkapi~trustpilot-reviews-and-company-data-scraper-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lurkapi-trustpilot-reviews-and-company-data-scraper-api",
                "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/lurkapi~trustpilot-reviews-and-company-data-scraper-api/runs": {
            "post": {
                "operationId": "runs-sync-lurkapi-trustpilot-reviews-and-company-data-scraper-api",
                "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/lurkapi~trustpilot-reviews-and-company-data-scraper-api/run-sync": {
            "post": {
                "operationId": "run-sync-lurkapi-trustpilot-reviews-and-company-data-scraper-api",
                "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": {
                    "startUrls": {
                        "title": "Start URLs, domains, or search links",
                        "type": "array",
                        "description": "Trustpilot targets to scrape. Accepts several shapes and auto-detects each: full company URL ('https://www.trustpilot.com/review/eneba.com'), bare domain ('apple.com'), regional company URL ('https://de.trustpilot.com/review/apple.com'), user profile URL ('https://www.trustpilot.com/users/<userId>'), single review URL ('https://www.trustpilot.com/reviews/<reviewId>'), or search URL ('https://www.trustpilot.com/search?query=apple'). Mix any combination in one run; targets are deduplicated.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum reviews across all inputs",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Total cap on the number of review rows produced across every input. Prefill of 20 keeps the default demo run cheap and fast; raise via API or the Console for a full sweep.",
                        "default": 500
                    },
                    "filterStars": {
                        "title": "Star ratings",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Star ratings to include. Empty = all. When set, the scraper performs a fair-share sweep across the selected star buckets so results aren't dominated by one bucket.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "3",
                                "4",
                                "5"
                            ],
                            "enumTitles": [
                                "1 star",
                                "2 stars",
                                "3 stars",
                                "4 stars",
                                "5 stars"
                            ]
                        }
                    },
                    "filterCountries": {
                        "title": "Reviewer countries",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include reviews written by consumers from these countries. Multi-select. Empty = all countries.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "United States",
                                "United Kingdom",
                                "Canada",
                                "Australia",
                                "Germany",
                                "France",
                                "Spain",
                                "Italy",
                                "Netherlands",
                                "Belgium",
                                "Sweden",
                                "Norway",
                                "Denmark",
                                "Finland",
                                "Ireland",
                                "Poland",
                                "Portugal",
                                "Austria",
                                "Switzerland",
                                "Czech Republic",
                                "Slovakia",
                                "Hungary",
                                "Romania",
                                "Greece",
                                "Turkey",
                                "Russia",
                                "Ukraine",
                                "Bulgaria",
                                "Croatia",
                                "Slovenia",
                                "Lithuania",
                                "Latvia",
                                "Estonia",
                                "Iceland",
                                "Luxembourg",
                                "Japan",
                                "South Korea",
                                "China",
                                "India",
                                "Singapore",
                                "Hong Kong",
                                "Malaysia",
                                "Thailand",
                                "Indonesia",
                                "Philippines",
                                "Vietnam",
                                "Brazil",
                                "Mexico",
                                "Argentina",
                                "Chile",
                                "Colombia",
                                "South Africa",
                                "New Zealand",
                                "United Arab Emirates",
                                "Saudi Arabia",
                                "Israel"
                            ],
                            "enumTitles": [
                                "United States",
                                "United Kingdom",
                                "Canada",
                                "Australia",
                                "Germany",
                                "France",
                                "Spain",
                                "Italy",
                                "Netherlands",
                                "Belgium",
                                "Sweden",
                                "Norway",
                                "Denmark",
                                "Finland",
                                "Ireland",
                                "Poland",
                                "Portugal",
                                "Austria",
                                "Switzerland",
                                "Czech Republic",
                                "Slovakia",
                                "Hungary",
                                "Romania",
                                "Greece",
                                "Turkey",
                                "Russia",
                                "Ukraine",
                                "Bulgaria",
                                "Croatia",
                                "Slovenia",
                                "Lithuania",
                                "Latvia",
                                "Estonia",
                                "Iceland",
                                "Luxembourg",
                                "Japan",
                                "South Korea",
                                "China",
                                "India",
                                "Singapore",
                                "Hong Kong",
                                "Malaysia",
                                "Thailand",
                                "Indonesia",
                                "Philippines",
                                "Vietnam",
                                "Brazil",
                                "Mexico",
                                "Argentina",
                                "Chile",
                                "Colombia",
                                "South Africa",
                                "New Zealand",
                                "United Arab Emirates",
                                "Saudi Arabia",
                                "Israel"
                            ]
                        }
                    },
                    "filterLanguages": {
                        "title": "Review languages",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include reviews written in these languages. Multi-select of common Trustpilot review languages. Empty = all languages.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "en",
                                "de",
                                "fr",
                                "es",
                                "it",
                                "nl",
                                "pt",
                                "pl",
                                "da",
                                "sv",
                                "no",
                                "fi",
                                "ja"
                            ],
                            "enumTitles": [
                                "English (en)",
                                "German (de)",
                                "French (fr)",
                                "Spanish (es)",
                                "Italian (it)",
                                "Dutch (nl)",
                                "Portuguese (pt)",
                                "Polish (pl)",
                                "Danish (da)",
                                "Swedish (sv)",
                                "Norwegian (no)",
                                "Finnish (fi)",
                                "Japanese (ja)"
                            ]
                        }
                    },
                    "filterVerifiedOnly": {
                        "title": "Only verified reviews",
                        "type": "boolean",
                        "description": "Return only reviews Trustpilot has marked as verified (invitation-based or otherwise verified).",
                        "default": false
                    },
                    "filterRepliesOnly": {
                        "title": "Only reviews with a company reply",
                        "type": "boolean",
                        "description": "Return only reviews where the company has posted a reply.",
                        "default": false
                    },
                    "sort": {
                        "title": "Sort reviews by",
                        "enum": [
                            "recency",
                            "relevance"
                        ],
                        "type": "string",
                        "description": "How to order the reviews returned. 'recency' returns newest first; 'relevance' uses Trustpilot's relevance ranking.",
                        "default": "recency"
                    },
                    "filterStartDate": {
                        "title": "Start date (YYYY-MM-DD) ($)",
                        "type": "string",
                        "description": "Only include reviews on or after this date (YYYY-MM-DD)."
                    },
                    "filterEndDate": {
                        "title": "End date (YYYY-MM-DD) ($)",
                        "type": "string",
                        "description": "Only include reviews on or before this date (YYYY-MM-DD). Reviews older than this stop pagination early."
                    },
                    "filterKeywordInclude": {
                        "title": "Include keywords or regex ($)",
                        "type": "string",
                        "description": "Only keep reviews that mention these words. Paste comma-separated words (e.g. 'scam, refund') or a regex pattern (e.g. 'scam|refund'). Matches against review title, text, and product names."
                    },
                    "filterKeywordExclude": {
                        "title": "Exclude keywords or regex ($)",
                        "type": "string",
                        "description": "Only keep reviews that DO NOT mention these words. Paste comma-separated words (e.g. 'scam, refund') or a regex pattern (e.g. 'scam|refund'). Matches against review title, text, and product names."
                    },
                    "includeCompanyDetails": {
                        "title": "Include summary row per input",
                        "type": "boolean",
                        "description": "Emit one summary row per input target. For company URLs / domains / search-resolved businesses: TrustScore, star histogram, category, contact info, verification badges, response rate. For user profile URLs: reviewer display name, country, verified badge, total reviews written, reads count, likes count.",
                        "default": false
                    },
                    "includeTransparencyStats": {
                        "title": "Include Trustpilot transparency data ($)",
                        "type": "boolean",
                        "description": "Fetch Trustpilot's public transparency page for each company (collection-method mix, basic link rate, reactivated reviews count).",
                        "default": false
                    },
                    "enrichEmails": {
                        "title": "Extract email(s) from company website ($)",
                        "type": "boolean",
                        "description": "Fetch the company's linked website and extract contact emails.",
                        "default": false
                    },
                    "enrichPayments": {
                        "title": "Detect payment processors on company website ($)",
                        "type": "boolean",
                        "description": "Detect payment processors on the company's website (Stripe, Shopify, PayPal, Adyen, Klarna, Braintree, etc.). Free when paired with Email extraction (the website fetch is shared).",
                        "default": false
                    },
                    "outputTitle": {
                        "title": "Review title",
                        "type": "boolean",
                        "description": "Include the review title.",
                        "default": true
                    },
                    "outputText": {
                        "title": "Review text",
                        "type": "boolean",
                        "description": "Include the review body text.",
                        "default": true
                    },
                    "outputRating": {
                        "title": "Rating",
                        "type": "boolean",
                        "description": "Include the 1-5 star rating.",
                        "default": true
                    },
                    "outputLikes": {
                        "title": "Likes count",
                        "type": "boolean",
                        "description": "Include the review's helpful/like count.",
                        "default": true
                    },
                    "outputLanguage": {
                        "title": "Review language",
                        "type": "boolean",
                        "description": "Include the review's language ISO code.",
                        "default": true
                    },
                    "outputSource": {
                        "title": "Review source",
                        "type": "boolean",
                        "description": "Include the review-collection source (InvitationApi, Organic, etc.).",
                        "default": true
                    },
                    "outputExperiencedDate": {
                        "title": "Date of experience",
                        "type": "boolean",
                        "description": "Include the date the reviewer says they had their experience.",
                        "default": true
                    },
                    "outputPublishedDate": {
                        "title": "Published date",
                        "type": "boolean",
                        "description": "Include the date the review was published on Trustpilot.",
                        "default": true
                    },
                    "outputUpdatedDate": {
                        "title": "Updated date",
                        "type": "boolean",
                        "description": "Include the date the review was last edited (null if never edited).",
                        "default": true
                    },
                    "outputConsumer": {
                        "title": "Reviewer profile",
                        "type": "boolean",
                        "description": "Include the reviewer's display name, avatar, profile ID, and total review count.",
                        "default": true
                    },
                    "outputConsumerCountry": {
                        "title": "Reviewer country",
                        "type": "boolean",
                        "description": "Include the reviewer's country code.",
                        "default": true
                    },
                    "outputReply": {
                        "title": "Company reply",
                        "type": "boolean",
                        "description": "Include the company's reply message and dates (null when no reply).",
                        "default": true
                    },
                    "outputVerification": {
                        "title": "Verification metadata",
                        "type": "boolean",
                        "description": "Include verification metadata (isVerified, verification source, verification level).",
                        "default": true
                    },
                    "outputLocation": {
                        "title": "Reviewer location",
                        "type": "boolean",
                        "description": "Include the reviewer's location object when Trustpilot exposes one.",
                        "default": true
                    },
                    "outputProductReviews": {
                        "title": "Product reviews",
                        "type": "boolean",
                        "description": "Include per-product review breakdown for reviews that reference specific products.",
                        "default": true
                    },
                    "outputInputUrl": {
                        "title": "Source input URL",
                        "type": "boolean",
                        "description": "Include the URL/domain from the input list that led to this row.",
                        "default": true
                    },
                    "outputSourceBusinessDomain": {
                        "title": "Source business domain",
                        "type": "boolean",
                        "description": "Include the Trustpilot business identifier (the domain segment used in the review URL).",
                        "default": true
                    },
                    "outputScrapedAt": {
                        "title": "Scraped-at timestamp",
                        "type": "boolean",
                        "description": "Include the ISO timestamp for when the row was scraped.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
