# Trustpilot Full API - Reviews, Company, Category & Insights (`eduair94/trustpilot-full-api`) Actor

The only full Trustpilot data actor: reviews (all filters, no 200-cap), company details, category discovery, consumer profiles, search, and a 89k-company insights corpus.

- **URL**: https://apify.com/eduair94/trustpilot-full-api.md
- **Developed by:** [Eduardo Airaudo](https://apify.com/eduair94) (community)
- **Categories:** E-commerce, Lead generation, AI
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.20 / 1,000 reviews

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Trustpilot Full API — Reviews, Company, Category, Consumer & Insights

**The only full Trustpilot API on Apify — not just a review scraper.**

Every other Trustpilot actor on the Store gives you reviews and maybe a
company card. This one gives you the **whole surface**: reviews with every
filter combined, company details, category discovery, business + category
search, autocomplete, consumer profiles with cross-company history, and a
89,000-company insights corpus, domain registration/trust intelligence,
Tripadvisor, App Store, Google Play, and Crawl4AI website enrichment. One actor,
26 modes, priced to be the
cheapest way to get reviews *and* the only way to get the rest.

> **26** modes in one actor · **dedicated Standby enrichment endpoints** ·
> **$0.20 / 1k** reviews (cheapest full-coverage on the Store) ·
> **no 200-review / page-10 wall** — server-side AWS-WAF handling.

### What you get

- **Reviews** — full pagination past the typical 200-result / 10-page wall.
  Combine star rating, date range, language, topic, aspect, verified-only,
  has-reply, and free-text search in a single call. Filtered and unfiltered
  variants.
- **Company details** — TrustScore, star rating, review count, verification
  and claim status, country, website.
- **Category discovery** — browse a category's companies, recently-reviewed
  companies, newest companies, or the category's own metadata. Nobody else
  on the Store offers category browsing.
- **Consumer profiles** — a reviewer's profile plus their full review history
  across every company they've reviewed. Nobody else on the Store offers this.
- **Search & autocomplete** — business-unit search, category search,
  autocomplete suggestions, and semantic (meaning-based) suggestions.
- **89k-company Insights** — query a pre-built corpus of ~89,000 Trustpilot
  companies by category, country, TrustScore range, review-count range,
  verification/claim status, or pull a top-N leaderboard for a category, or
  full facet breakdowns, or per-company stats — without scraping a thing.
- **Business intelligence enrichments** — RDAP/WHOIS and website trust,
  Tripadvisor discovery/reviews, free public Apple App Store and Google Play
  reviews, cross-source comparisons/topics/alerts, and optional structured
  Crawl4AI website extraction. Results persist to MongoDB by default for
  filters and analytics.

### Modes

Set `mode` in the input and the actor calls the matching endpoint. Inputs
you don't need for a given mode are simply ignored.

| Mode | What it returns | Key inputs |
|---|---|---|
| `reviews` | Company reviews, unfiltered, paginated | `domains[]`, `maxItems` |
| `reviews_filtered` | Company reviews with combinable filters | `domains[]`, `stars[]`, `date`, `languages[]`, `topics[]`, `aspects[]`, `verified`, `replies`, `search`, `sort`, `maxItems` |
| `review_count` | Review count for a company (no scraping every review) | `domains[]`, same filters |
| `company_details` | TrustScore, rating, review count, verification | `domains[]` |
| `company_intelligence` | Company details plus cross-source intelligence | `domains[]`, optional source IDs, `crawl4ai`, `includeTopics`, `refresh`, `noPersist` |
| `domain_intelligence` | RDAP/WHOIS, DNS, TLS, HTTP and website trust | `domains[]`, `registrationOnly`, `refresh` |
| `tripadvisor_search` | Tripadvisor location candidates and match scores | `tripadvisorQuery` or `query`, `limit` |
| `tripadvisor_reviews` | Tripadvisor location metadata and reviews | `tripadvisorUrl` or `tripadvisorId` (URL/type auto-resolved), optional `tripadvisorType`, `domain`, `tripadvisorLimit`, `languages[]` |
| `app_store_reviews` | Free public Apple app metadata and reviews | `appStoreAppId`, `appStoreCountry`, optional `domain` |
| `google_play_reviews` | Free public Google Play metadata, reviews and replies | `googlePlayAppId`, language/country/limit, optional `domain` |
| `crawl4ai_enrichment` | Structured public website intelligence | `domains[]`, `crawlMaxPages`, `companyName`, `refresh`, `noPersist` |
| `category_companies` | Companies in a category | `categoryId`, `country`, `trustScore[]`, `subcategories[]`, `claimed`, `maxItems` |
| `category_recent` | Recently-reviewed companies in a category | same as above |
| `category_newest` | Newest companies in a category | same as above |
| `category_details` | Category metadata | `categoryId`, `country` |
| `consumer` | A reviewer's public profile | `consumerIds[]` |
| `consumer_reviews` | A reviewer's full review history | `consumerIds[]`, `maxItems` |
| `search_business` | Search businesses by name/domain | `query`, `country`, `sortBy`, `perPage` |
| `search_category` | Search categories | `query` |
| `suggestions` | Autocomplete suggestions | `query` |
| `categories_all` | Full category catalogue | `raw` |
| `semantic_suggestions` | Meaning-based business suggestions | `countryCode`, `query` |
| `insights_companies` | Query the 89k-company corpus | `query`, `category`, `country`, `minTrustScore`, `maxTrustScore`, `minReviews`, `maxReviews`, `verified`, `claimed`, `sortBy`, `order`, `maxItems` |
| `insights_top` | Top-N companies for a category | `categoryId`, `countryCode`, `minReviews`, `limit` |
| `insights_facets` | Facet breakdown for a query | `query`, `category`, `country` |
| `insights_company_stats` | Per-company insight stats | `businessUnitId` |

### How we compare

| | **Ours** | automation-lab | memo23 | casper11515 | canadesk |
|---|---|---|---|---|---|
| Model | **PPE (future-proof)** | PPE | PPE | Rental (sunset) | Rental (sunset) |
| Reviews / 1k | **$0.20** | $0.19–0.25 | $0.50–0.75 | $20/mo+usage | $5/mo+usage |
| Past-200 bypass | ✅ | ✅ | ✅ | ❌ often fails | ❌ 100-pg cap |
| Filters (stars+lang+topics+date+verified+replies+search) | ✅ **all, combinable** | partial | partial (no topics/search) | single-value only | date-only (API mode) |
| Company details | ✅ | attached | ✅ | ✅ | aggregates |
| **Category browse / discovery** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Business + category search** | ✅ | ❌ | autosuggest only | ❌ | domain lookup |
| **Autocomplete + semantic suggestions** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Full consumer profiles + history** | ✅ | ❌ | partial | ❌ | ❌ |
| **89k-company insights corpus** | ✅ | ❌ | ❌ | ❌ | ❌ |
| Reliability signal | server-side WAF handling | 99.4%, 0 reviews | 4.7★ 99.6% | 4.1★, many "0 results/crash" | 3.31★ |

Apify is retiring monthly-rental actors — everything above is pay-per-event
(PPE) or already sunsetting. We only compete on PPE, so the pricing above is
apples-to-apples with what's staying on the Store.

#### Reviews price, per 1,000

| Actor | $ / 1k reviews | Coverage |
|---|---|---|
| **Ours** | **$0.20** | reviews **+ discovery + consumer + insights** |
| automation-lab | $0.19–0.25 | reviews only |
| memo23 | $0.50–0.75 | reviews + search |
| casper11515 | $20/mo + usage | reviews (rental, retiring Oct 2026) |
| canadesk | $5/mo + usage | reviews (rental, retiring Oct 2026) |

automation-lab matches our per-review price but stops at reviews. memo23 adds
breadth at 2.5–3.75× the cost. We give the breadth *and* the low price.

### The complaints we fix

Every recurring failure in the rivals' reviews is a design choice we made
differently:

| Common complaint about other actors | How this actor avoids it |
|---|---|
| **"Stops every time at 200 reviews / only scrapes to page 10"** | Server-side AWS-WAF handling pages past the web wall; capped only by your `maxItems`. |
| **"Run succeeds but returns 0 results"** (open, unresolved on a rival) | Upstream errors fail the request with a real status code; pending partial pages are discarded and never charged. |
| **"Uncaught exception / run hangs and gets killed"** | The actor is a thin client over a battle-tested API — no browser, no WAF solving in the run, nothing to crash. |
| **"Verified filter doesn't work / one star value at a time"** | Stars, languages, topics, date, verified, replies and free-text all combine in a single call. |
| **"You must already know the exact company URL"** | Find companies by category, country, TrustScore, free-text or semantic search — no URL needed. |
| **"$20/mo rental, and the model is being retired"** | Pay-per-event only. No subscription, no forced migration — pay for exactly what you pull. |

### Pricing

Pay-per-event (PPE) — you're charged only for results actually delivered,
per 1,000:

| Event | Price / 1,000 | Fires on |
|---|---|---|
| `review` | **$0.20** | each delivered Trustpilot, Tripadvisor, App Store, or Google Play review |
| `count` | $0.20 | each `review_count` call |
| `company` | $0.50 | each company/category-company or combined company-intelligence result |
| `discovery` | $2.50 | each search/suggestion/category or Tripadvisor candidate |
| `consumer` | $3.50 | each consumer profile item (`consumer`, `consumer_reviews`) |
| `insights` | $4.50 | each corpus, domain-intelligence, or Crawl4AI result |

**Free trial:** the first ~500 `review` results are free — try the actor
before you're charged for anything.

**Failed requests cost $0.00.** The Actor has no run-start fee. Results and
charges are committed only after every requested target and page succeeds. If
the upstream API fails, no pending item is published, no result event is
charged, batch runs finish as `FAILED`, and Standby requests return non-2xx so
automated retries can detect the failure.

### Example inputs

Reviews with filters (verified, 4-5 stars, last 3 months, English):

```json
{
  "mode": "reviews_filtered",
  "domains": ["nike.com"],
  "stars": ["4", "5"],
  "date": "last3months",
  "languages": ["en"],
  "verified": true,
  "maxItems": 200
}
````

Company details for one or more domains:

```json
{
  "mode": "company_details",
  "domains": ["nike.com", "adidas.com"]
}
```

Combined intelligence with a bounded website crawl:

```json
{
  "mode": "company_intelligence",
  "domains": ["apify.com"],
  "crawl4ai": true,
  "crawlMaxPages": 3,
  "includeTopics": true
}
```

Google Play as a separate source (free public-store integration):

```json
{
  "mode": "google_play_reviews",
  "googlePlayAppId": "com.whatsapp",
  "googlePlayLanguage": "en",
  "googlePlayCountry": "us",
  "googlePlayLimit": 10,
  "domain": "whatsapp.com"
}
```

Tripadvisor reviews from a location ID (the canonical URL/type is discovered automatically):

```json
{
  "mode": "tripadvisor_reviews",
  "tripadvisorId": 1985911,
  "tripadvisorLimit": 20
}
```

#### Dedicated Standby endpoints

The generic `/?mode=...` API remains backward compatible. These enrichments
also have direct GET paths:

- `/trustpilot/company/intelligence?domain=apify.com&crawl4ai=true`
- `/trustpilot/domain/intelligence?domain=apify.com`
- `/trustpilot/tripadvisor/search?q=Hotel+Example+Montevideo`
- `/trustpilot/tripadvisor/reviews?locationId=1985911`
- `/trustpilot/app-store/reviews?appId=310633997&country=us`
- `/trustpilot/google-play/reviews?appId=com.whatsapp&limit=10`
- `/trustpilot/crawl4ai/enrichment?domain=apify.com&maxPages=3`

Companies in the "bank" category, claimed only:

```json
{
  "mode": "category_companies",
  "categoryId": "bank",
  "country": "US",
  "claimed": true,
  "maxItems": 100
}
```

Top companies in the "bank" category from the insights corpus:

```json
{
  "mode": "insights_top",
  "categoryId": "bank",
  "countryCode": "US",
  "minReviews": 100,
  "limit": 25
}
```

### Output sample

A normalized `reviews` item:

```json
{
  "reviewId": "6123abf1c9a1b2003f1a2b3c",
  "title": "Fast shipping, great quality",
  "text": "Ordered on Monday, arrived Wednesday. Product matched the listing exactly.",
  "rating": 5,
  "publishedDate": "2026-06-02T10:15:00Z",
  "experienceDate": "2026-05-28T00:00:00Z",
  "language": "en",
  "verified": true,
  "consumerId": "5f9a1c2b3d4e5f6a7b8c9d0e",
  "consumerName": "Jordan P.",
  "companyDomain": "nike.com",
  "companyName": "Nike",
  "businessUnitId": "4d6cfb0b00006400057b52a5",
  "hasReply": true,
  "reply": "Thanks for the kind words, Jordan!",
  "url": "https://www.trustpilot.com/reviews/6123abf1c9a1b2003f1a2b3c",
  "_mode": "reviews",
  "_source": "trustpilot"
}
```

A normalized `company_details` item:

```json
{
  "businessUnitId": "4d6cfb0b00006400057b52a5",
  "displayName": "Nike",
  "identifyingName": "nike.com",
  "domain": "nike.com",
  "trustScore": 4.2,
  "stars": 4,
  "numberOfReviews": 18342,
  "countryCode": "US",
  "primaryCategoryId": "clothing_store",
  "verified": true,
  "claimed": true,
  "_mode": "company_details",
  "_source": "trustpilot"
}
```

### Compliance

This actor reads publicly available Trustpilot, Tripadvisor, App Store, Google
Play, and company website pages and public API responses — no login, no
private data, no scraping of content behind
authentication. It does not collect personal data beyond what a reviewer or
business has already published on their public Trustpilot page. You are
responsible for using the data in a way that complies with Trustpilot's
Terms of Service and applicable law (including GDPR and CCPA) in your
jurisdiction and use case — the same standard every other Trustpilot actor
on the Store operates under.

# Actor input Schema

## `mode` (type: `string`):

Which Trustpilot or business-intelligence dataset to pull.

## `domains` (type: `array`):

One or more company domains, e.g. nike.com. Used by review, company, domain-intelligence, and Crawl4AI modes.

## `domain` (type: `string`):

Optional single Trustpilot domain used to link Tripadvisor, App Store, or Google Play results to the company in MongoDB.

## `categoryId` (type: `string`):

Trustpilot category id/slug (e.g. bank). Used by category\_\* and category\_details.

## `consumerIds` (type: `array`):

Trustpilot consumer profile IDs. Used by consumer / consumer\_reviews.

## `businessUnitId` (type: `string`):

Used by insights\_company\_stats.

## `query` (type: `string`):

Used by search\_business / search\_category / suggestions / insights\_companies and as a fallback for tripadvisor\_search.

## `intelligence` (type: `boolean`):

Request domain intelligence, relevant Tripadvisor discovery, app discovery, cross-source comparisons, topics, and alerts. company\_intelligence enables this automatically.

## `domainIntel` (type: `boolean`):

Include normalized RDAP/WHOIS and website trust signals in company\_intelligence.

## `whois` (type: `boolean`):

Alias that enables domain intelligence. RDAP is preferred with native WHOIS fallback.

## `rdap` (type: `boolean`):

Alias that enables domain intelligence. RDAP is preferred with native WHOIS fallback.

## `registrationOnly` (type: `boolean`):

Skip DNS, TLS, HTTP, email-security, and security-header inspection when collecting domain intelligence.

## `tripadvisor` (type: `boolean`):

Enable Tripadvisor discovery and review enrichment for company\_intelligence.

## `tripadvisorQuery` (type: `string`):

Business name plus city or country for tripadvisor\_search.

## `tripadvisorUrl` (type: `string`):

Exact Tripadvisor hotel, restaurant, attraction, or airline review URL.

## `tripadvisorId` (type: `integer`):

Exact Tripadvisor location ID. In tripadvisor\_reviews, the Actor auto-resolves its canonical URL and entity type when neither is supplied.

## `tripadvisorGeoId` (type: `integer`):

Optional Tripadvisor geographic ID used with an explicit location ID.

## `tripadvisorType` (type: `string`):

Optional entity type for an explicit location ID. Supplying it skips automatic ID discovery in tripadvisor\_reviews.

## `tripadvisorLimit` (type: `integer`):

Maximum Tripadvisor reviews to return, from 1 to 200.

## `noTripadvisorDiscovery` (type: `boolean`):

Use only explicit or previously stored Tripadvisor mappings; do not search automatically.

## `appStore` (type: `boolean`):

Enable free public Apple App Store metadata and review enrichment.

## `appStoreAppId` (type: `string`):

Numeric Apple app ID or an App Store URL containing the ID.

## `appStoreCountry` (type: `string`):

Two-letter App Store country or storefront code, default us.

## `googlePlay` (type: `boolean`):

Enable the free public Google Play store integration. No paid Google API is required.

## `googlePlayAppId` (type: `string`):

Android package ID or Google Play app URL.

## `googlePlayLanguage` (type: `string`):

Two-letter language code for Google Play content, default en.

## `googlePlayCountry` (type: `string`):

Two-letter Google Play country or storefront code, default us.

## `googlePlayLimit` (type: `integer`):

Maximum recent Google Play reviews to return, from 1 to 500.

## `crawl4ai` (type: `boolean`):

Enable structured website enrichment through the configured Crawl4AI service.

## `crawlMaxPages` (type: `integer`):

Maximum selected website pages Crawl4AI may process, from 1 to 8.

## `companyName` (type: `string`):

Optional expected company name used to improve Crawl4AI identity-match confidence.

## `includeTopics` (type: `boolean`):

Build normalized positive and negative review topics across available sources.

## `refresh` (type: `boolean`):

Bypass reusable domain-intelligence and Crawl4AI caches where applicable.

## `noPersist` (type: `boolean`):

Skip review, website-enrichment, profile-mapping, and business-intelligence snapshot writes for this request.

## `countryCode` (type: `string`):

ISO country code for semantic\_suggestions (e.g. US).

## `stars` (type: `array`):

Reviews filter: 1-5 (multi-select).

## `date` (type: `string`):

Reviews filter: all / last30days / last3months / last6months / last12months.

## `languages` (type: `array`):

Reviews filter: ISO language codes (e.g. en, de). Empty = all.

## `topics` (type: `array`):

Reviews filter: topic slugs.

## `aspects` (type: `array`):

Reviews filter: aspect slugs.

## `search` (type: `string`):

Reviews filter: free-text within reviews.

## `verified` (type: `boolean`):

Reviews/insights filter.

## `replies` (type: `boolean`):

Reviews filter: only reviews the company has replied to.

## `sort` (type: `string`):

Reviews sort (recency / relevance).

## `country` (type: `string`):

Category/search country filter.

## `trustScore` (type: `array`):

Category filter: trust score buckets.

## `subcategories` (type: `array`):

Category filter: subcategory slugs to narrow a category browse.

## `claimed` (type: `boolean`):

Category filter: only companies that have claimed their profile.

## `perPage` (type: `integer`):

search\_business: number of results per page.

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

search\_business / insights: field to sort results by.

## `category` (type: `string`):

insights\_companies: restrict the corpus query to a category id.

## `minTrustScore` (type: `integer`):

insights\_companies: minimum TrustScore (0-5).

## `maxTrustScore` (type: `integer`):

insights\_companies: maximum TrustScore (0-5).

## `minReviews` (type: `integer`):

insights: minimum review count.

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

insights\_companies: maximum review count.

## `order` (type: `string`):

insights\_companies: sort order, asc or desc.

## `limit` (type: `integer`):

insights\_companies / insights\_top: max results per page.

## `raw` (type: `boolean`):

categories\_all / semantic\_suggestions: return upstream shape verbatim.

## `page` (type: `integer`):

First page to fetch (default 1).

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

Stop after this many results (default 100).

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

Safety cap on pagination (default 50).

## Actor input object example

```json
{
  "mode": "reviews",
  "domains": [
    "nike.com"
  ],
  "tripadvisorLimit": 20,
  "appStoreCountry": "us",
  "googlePlayLanguage": "en",
  "googlePlayCountry": "us",
  "googlePlayLimit": 100,
  "crawlMaxPages": 5,
  "maxItems": 100,
  "maxPages": 50
}
```

# Actor output Schema

## `results` (type: `string`):

Every normalized item produced by this run.

## `resultsCsv` (type: `string`):

The same items as a CSV download.

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

The run's default dataset (with the Overview / Reviews / Companies / Insights / Categories views).

# 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 = {
    "domains": [
        "nike.com"
    ]
};

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

# Run the Actor and wait for it to finish
run = client.actor("eduair94/trustpilot-full-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 '{
  "domains": [
    "nike.com"
  ]
}' |
apify call eduair94/trustpilot-full-api --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trustpilot Full API - Reviews, Company, Category & Insights",
        "description": "The only full Trustpilot data actor: reviews (all filters, no 200-cap), company details, category discovery, consumer profiles, search, and a 89k-company insights corpus.",
        "version": "0.1",
        "x-build-id": "AgI7RPtJ8xKsUCREY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/eduair94~trustpilot-full-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-eduair94-trustpilot-full-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/eduair94~trustpilot-full-api/runs": {
            "post": {
                "operationId": "runs-sync-eduair94-trustpilot-full-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/eduair94~trustpilot-full-api/run-sync": {
            "post": {
                "operationId": "run-sync-eduair94-trustpilot-full-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "reviews",
                            "reviews_filtered",
                            "review_count",
                            "company_details",
                            "company_intelligence",
                            "domain_intelligence",
                            "tripadvisor_search",
                            "tripadvisor_reviews",
                            "app_store_reviews",
                            "google_play_reviews",
                            "crawl4ai_enrichment",
                            "category_companies",
                            "category_recent",
                            "category_newest",
                            "category_details",
                            "consumer",
                            "consumer_reviews",
                            "search_business",
                            "search_category",
                            "suggestions",
                            "categories_all",
                            "semantic_suggestions",
                            "insights_companies",
                            "insights_top",
                            "insights_facets",
                            "insights_company_stats"
                        ],
                        "type": "string",
                        "description": "Which Trustpilot or business-intelligence dataset to pull.",
                        "default": "reviews"
                    },
                    "domains": {
                        "title": "Company domains",
                        "type": "array",
                        "description": "One or more company domains, e.g. nike.com. Used by review, company, domain-intelligence, and Crawl4AI modes.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "domain": {
                        "title": "Associated Trustpilot domain",
                        "type": "string",
                        "description": "Optional single Trustpilot domain used to link Tripadvisor, App Store, or Google Play results to the company in MongoDB."
                    },
                    "categoryId": {
                        "title": "Category ID",
                        "type": "string",
                        "description": "Trustpilot category id/slug (e.g. bank). Used by category_* and category_details."
                    },
                    "consumerIds": {
                        "title": "Consumer IDs",
                        "type": "array",
                        "description": "Trustpilot consumer profile IDs. Used by consumer / consumer_reviews.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "businessUnitId": {
                        "title": "Business Unit ID",
                        "type": "string",
                        "description": "Used by insights_company_stats."
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Used by search_business / search_category / suggestions / insights_companies and as a fallback for tripadvisor_search."
                    },
                    "intelligence": {
                        "title": "Full company intelligence",
                        "type": "boolean",
                        "description": "Request domain intelligence, relevant Tripadvisor discovery, app discovery, cross-source comparisons, topics, and alerts. company_intelligence enables this automatically."
                    },
                    "domainIntel": {
                        "title": "Domain intelligence",
                        "type": "boolean",
                        "description": "Include normalized RDAP/WHOIS and website trust signals in company_intelligence."
                    },
                    "whois": {
                        "title": "WHOIS alias",
                        "type": "boolean",
                        "description": "Alias that enables domain intelligence. RDAP is preferred with native WHOIS fallback."
                    },
                    "rdap": {
                        "title": "RDAP alias",
                        "type": "boolean",
                        "description": "Alias that enables domain intelligence. RDAP is preferred with native WHOIS fallback."
                    },
                    "registrationOnly": {
                        "title": "Registration only",
                        "type": "boolean",
                        "description": "Skip DNS, TLS, HTTP, email-security, and security-header inspection when collecting domain intelligence."
                    },
                    "tripadvisor": {
                        "title": "Enable Tripadvisor",
                        "type": "boolean",
                        "description": "Enable Tripadvisor discovery and review enrichment for company_intelligence."
                    },
                    "tripadvisorQuery": {
                        "title": "Tripadvisor search query",
                        "type": "string",
                        "description": "Business name plus city or country for tripadvisor_search."
                    },
                    "tripadvisorUrl": {
                        "title": "Tripadvisor URL",
                        "type": "string",
                        "description": "Exact Tripadvisor hotel, restaurant, attraction, or airline review URL."
                    },
                    "tripadvisorId": {
                        "title": "Tripadvisor location ID",
                        "type": "integer",
                        "description": "Exact Tripadvisor location ID. In tripadvisor_reviews, the Actor auto-resolves its canonical URL and entity type when neither is supplied."
                    },
                    "tripadvisorGeoId": {
                        "title": "Tripadvisor geographic ID",
                        "type": "integer",
                        "description": "Optional Tripadvisor geographic ID used with an explicit location ID."
                    },
                    "tripadvisorType": {
                        "title": "Tripadvisor entity type",
                        "enum": [
                            "HOTEL",
                            "RESTAURANT",
                            "ATTRACTION",
                            "AIRLINE"
                        ],
                        "type": "string",
                        "description": "Optional entity type for an explicit location ID. Supplying it skips automatic ID discovery in tripadvisor_reviews."
                    },
                    "tripadvisorLimit": {
                        "title": "Tripadvisor review limit",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum Tripadvisor reviews to return, from 1 to 200.",
                        "default": 20
                    },
                    "noTripadvisorDiscovery": {
                        "title": "Disable Tripadvisor discovery",
                        "type": "boolean",
                        "description": "Use only explicit or previously stored Tripadvisor mappings; do not search automatically."
                    },
                    "appStore": {
                        "title": "Enable Apple App Store",
                        "type": "boolean",
                        "description": "Enable free public Apple App Store metadata and review enrichment."
                    },
                    "appStoreAppId": {
                        "title": "Apple App Store ID",
                        "type": "string",
                        "description": "Numeric Apple app ID or an App Store URL containing the ID."
                    },
                    "appStoreCountry": {
                        "title": "Apple storefront country",
                        "type": "string",
                        "description": "Two-letter App Store country or storefront code, default us.",
                        "default": "us"
                    },
                    "googlePlay": {
                        "title": "Enable Google Play",
                        "type": "boolean",
                        "description": "Enable the free public Google Play store integration. No paid Google API is required."
                    },
                    "googlePlayAppId": {
                        "title": "Google Play app ID",
                        "type": "string",
                        "description": "Android package ID or Google Play app URL."
                    },
                    "googlePlayLanguage": {
                        "title": "Google Play language",
                        "type": "string",
                        "description": "Two-letter language code for Google Play content, default en.",
                        "default": "en"
                    },
                    "googlePlayCountry": {
                        "title": "Google Play country",
                        "type": "string",
                        "description": "Two-letter Google Play country or storefront code, default us.",
                        "default": "us"
                    },
                    "googlePlayLimit": {
                        "title": "Google Play review limit",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum recent Google Play reviews to return, from 1 to 500.",
                        "default": 100
                    },
                    "crawl4ai": {
                        "title": "Enable Crawl4AI",
                        "type": "boolean",
                        "description": "Enable structured website enrichment through the configured Crawl4AI service."
                    },
                    "crawlMaxPages": {
                        "title": "Crawl4AI page limit",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Maximum selected website pages Crawl4AI may process, from 1 to 8.",
                        "default": 5
                    },
                    "companyName": {
                        "title": "Expected company name",
                        "type": "string",
                        "description": "Optional expected company name used to improve Crawl4AI identity-match confidence."
                    },
                    "includeTopics": {
                        "title": "Include review topics",
                        "type": "boolean",
                        "description": "Build normalized positive and negative review topics across available sources."
                    },
                    "refresh": {
                        "title": "Refresh cached enrichment",
                        "type": "boolean",
                        "description": "Bypass reusable domain-intelligence and Crawl4AI caches where applicable."
                    },
                    "noPersist": {
                        "title": "Do not persist",
                        "type": "boolean",
                        "description": "Skip review, website-enrichment, profile-mapping, and business-intelligence snapshot writes for this request."
                    },
                    "countryCode": {
                        "title": "Country code",
                        "type": "string",
                        "description": "ISO country code for semantic_suggestions (e.g. US)."
                    },
                    "stars": {
                        "title": "Star filter",
                        "type": "array",
                        "description": "Reviews filter: 1-5 (multi-select).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "date": {
                        "title": "Date range",
                        "type": "string",
                        "description": "Reviews filter: all / last30days / last3months / last6months / last12months."
                    },
                    "languages": {
                        "title": "Languages",
                        "type": "array",
                        "description": "Reviews filter: ISO language codes (e.g. en, de). Empty = all.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "topics": {
                        "title": "Topics",
                        "type": "array",
                        "description": "Reviews filter: topic slugs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "aspects": {
                        "title": "Aspects",
                        "type": "array",
                        "description": "Reviews filter: aspect slugs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "search": {
                        "title": "In-review search",
                        "type": "string",
                        "description": "Reviews filter: free-text within reviews."
                    },
                    "verified": {
                        "title": "Verified only",
                        "type": "boolean",
                        "description": "Reviews/insights filter."
                    },
                    "replies": {
                        "title": "With replies only",
                        "type": "boolean",
                        "description": "Reviews filter: only reviews the company has replied to."
                    },
                    "sort": {
                        "title": "Sort",
                        "type": "string",
                        "description": "Reviews sort (recency / relevance)."
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Category/search country filter."
                    },
                    "trustScore": {
                        "title": "TrustScore filter",
                        "type": "array",
                        "description": "Category filter: trust score buckets.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "subcategories": {
                        "title": "Subcategories",
                        "type": "array",
                        "description": "Category filter: subcategory slugs to narrow a category browse.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "claimed": {
                        "title": "Claimed only",
                        "type": "boolean",
                        "description": "Category filter: only companies that have claimed their profile."
                    },
                    "perPage": {
                        "title": "Results per page",
                        "type": "integer",
                        "description": "search_business: number of results per page."
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "type": "string",
                        "description": "search_business / insights: field to sort results by."
                    },
                    "category": {
                        "title": "Insights category filter",
                        "type": "string",
                        "description": "insights_companies: restrict the corpus query to a category id."
                    },
                    "minTrustScore": {
                        "title": "Min TrustScore",
                        "type": "integer",
                        "description": "insights_companies: minimum TrustScore (0-5)."
                    },
                    "maxTrustScore": {
                        "title": "Max TrustScore",
                        "type": "integer",
                        "description": "insights_companies: maximum TrustScore (0-5)."
                    },
                    "minReviews": {
                        "title": "Min reviews",
                        "type": "integer",
                        "description": "insights: minimum review count."
                    },
                    "maxReviews": {
                        "title": "Max reviews",
                        "type": "integer",
                        "description": "insights_companies: maximum review count."
                    },
                    "order": {
                        "title": "Order",
                        "type": "string",
                        "description": "insights_companies: sort order, asc or desc."
                    },
                    "limit": {
                        "title": "Result limit (insights)",
                        "type": "integer",
                        "description": "insights_companies / insights_top: max results per page."
                    },
                    "raw": {
                        "title": "Raw upstream payload",
                        "type": "boolean",
                        "description": "categories_all / semantic_suggestions: return upstream shape verbatim."
                    },
                    "page": {
                        "title": "Start page",
                        "type": "integer",
                        "description": "First page to fetch (default 1)."
                    },
                    "maxItems": {
                        "title": "Max results",
                        "type": "integer",
                        "description": "Stop after this many results (default 100).",
                        "default": 100
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "type": "integer",
                        "description": "Safety cap on pagination (default 50).",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
