{
  "openapi": "3.0.1",
  "info": {
    "title": "Trustpilot Reviews Scraper - Reviews, Ratings & Replies",
    "description": "Scrape Trustpilot reviews for any company by domain, link or keyword: rating, text, date, reviewer, company replies. Filters, insights. No login.",
    "version": "1.0",
    "x-build-id": "becd59dVSFjDHXvh5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cheapapi~trustpilot-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cheapapi-trustpilot-reviews-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/cheapapi~trustpilot-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cheapapi-trustpilot-reviews-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/cheapapi~trustpilot-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cheapapi-trustpilot-reviews-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Companies to collect reviews for. Enter the website domain as Trustpilot shows it (e.g. www.airbnb.com) or paste the Trustpilot review page link (e.g. https://www.trustpilot.com/review/www.airbnb.com — any country site like uk.trustpilot.com works). One per line; bulk lists are fine.",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerCompany": {
            "title": "Max reviews per company",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "How many reviews to collect for each company (newest first by default). Up to 200, or up to 400 with \"Get more than 200 reviews\" below; 400 per company is a fixed maximum of the data source. You pay per review delivered. Tip: for daily monitoring use a small value such as 20 — see Pricing in the README for the small \"page checked\" fee.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort reviews by",
            "enum": [
              "recency",
              "relevance"
            ],
            "type": "string",
            "description": "Which reviews come first (and therefore which ones you get when you set a limit).",
            "default": "recency"
          },
          "getMoreReviews": {
            "title": "Get more than 200 reviews (up to 400 per company)",
            "type": "boolean",
            "description": "Adds a second request in the other sort order (newest + most relevant) for companies with more reviews, removes duplicates and lets \"Max reviews per company\" go up to 400. The number of extra reviews depends on how much the two orders overlap. Distinct reviews only are charged, plus one extra company event where new reviews were added — details in the README.",
            "default": false
          },
          "includeCompanyReplies": {
            "title": "Include company replies",
            "type": "boolean",
            "description": "Add the company's reply to each review (text, date and all replies). hasCompanyReply is always included.",
            "default": true
          },
          "includeReviewerDetails": {
            "title": "Include reviewer details (personal data)",
            "type": "boolean",
            "description": "Add the reviewer's display name, profile link, avatar link, country and number of reviews written. Off by default because these are personal data; turn on only if you have a lawful reason to process them.",
            "default": false
          },
          "skipPreviouslyScraped": {
            "title": "Only new reviews (skip reviews from earlier runs)",
            "type": "boolean",
            "description": "For monitoring: reviews already delivered by earlier runs with this option on are left out and not charged as reviews. A company with nothing new costs a small \"page checked\" fee (see the README). The list of seen reviews is kept in your key-value store \"trustpilot-reviews-seen\".",
            "default": false
          },
          "generateInsights": {
            "title": "Company insights summary",
            "type": "boolean",
            "description": "Free: saves an INSIGHTS record per run with each company's rating distribution, monthly rating trend, verified and reply rates, and the most frequent words in positive and negative reviews.",
            "default": true
          },
          "minRating": {
            "title": "Minimum star rating",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only reviews with at least this many stars (1–5; 1 = no lower limit). Example: 4 keeps only 4- and 5-star reviews.",
            "default": 1
          },
          "maxRating": {
            "title": "Maximum star rating",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only reviews with at most this many stars (1–5; 5 = no upper limit). Example: 2 keeps only negative (1- and 2-star) reviews.",
            "default": 5
          },
          "onlyVerified": {
            "title": "Only verified reviews",
            "type": "boolean",
            "description": "Only reviews Trustpilot marks as verified.",
            "default": false
          },
          "languages": {
            "title": "Review languages",
            "type": "array",
            "description": "Only reviews in these languages (codes such as en, de, fr, es, it, nl, da). Leave empty for all languages.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Reviews published from",
            "type": "string",
            "description": "Only reviews published on or after this date (YYYY-MM-DD)."
          },
          "dateTo": {
            "title": "Reviews published until",
            "type": "string",
            "description": "Only reviews published on or before this date (YYYY-MM-DD)."
          },
          "searchKeywords": {
            "title": "Find companies by keyword",
            "type": "array",
            "description": "Company names or categories to search on Trustpilot.",
            "items": {
              "type": "string"
            }
          },
          "maxCompaniesPerSearch": {
            "title": "Companies per keyword",
            "minimum": 1,
            "maximum": 140,
            "type": "integer",
            "description": "How many of the top matching companies to use per keyword (1–140). Values above 10 in review mode read extra search pages, which can add small \"page checked\" fees (see the README).",
            "default": 5
          },
          "companiesOnly": {
            "title": "Only list companies (no reviews)",
            "type": "boolean",
            "description": "Return the matching companies (name, domain, website, rating, review count) instead of their reviews — handy for lead lists and market maps.",
            "default": false
          },
          "processingSpeed": {
            "title": "Processing speed",
            "enum": [
              "auto",
              "fast",
              "economy"
            ],
            "type": "string",
            "description": "Fast: results usually in 1–3 minutes. Economy: can take up to ~45 minutes, used for large runs (500+ reviews). Automatic: fast for normal runs, economy for runs of 2,000+ reviews. Event prices are the same; economy needs fewer \"page checked\" fees when a company delivers few reviews.",
            "default": "auto"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}