{
  "openapi": "3.0.1",
  "info": {
    "title": "Trustpilot Reviews Scraper ($0.25/1k, No 200 Cap)",
    "description": "Scrape Trustpilot reviews for any company: stars, title, text, date, verified flag, reviewer country and company reply, plus TrustScore, star breakdown and reply rate per company. Filter by stars, language, date or topic, and get only new reviews on schedules. No login. $0.25 per 1,000 reviews.",
    "version": "0.1",
    "x-build-id": "u9974kcqQYEvamabG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/locaihost~trustpilot-reviews/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-locaihost-trustpilot-reviews",
        "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/locaihost~trustpilot-reviews/runs": {
      "post": {
        "operationId": "runs-sync-locaihost-trustpilot-reviews",
        "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/locaihost~trustpilot-reviews/run-sync": {
      "post": {
        "operationId": "run-sync-locaihost-trustpilot-reviews",
        "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 read reviews for. Type the website domain (amazon.com) or paste a Trustpilot review link (https://www.trustpilot.com/review/www.amazon.com, any country site works). To find a company by its name, use Search keywords below.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Find businesses the way Trustpilot's search box does. Each result is a business row: name, website, TrustScore, review count, categories and location.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Trustpilot category ids or links, for example electronics_technology, bank or https://www.trustpilot.com/categories/pet_store. Returns the businesses listed in the category, in Trustpilot's order.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country for categories",
            "type": "string",
            "description": "Two-letter country code for category listings, like US, GB, DE or AU. Leave empty for Trustpilot's default (US). Has no effect on companies or search."
          },
          "maxReviewsPerCompany": {
            "title": "Max reviews per company",
            "minimum": 0,
            "type": "integer",
            "description": "Newest first by default. 0 returns only the company row (TrustScore, review count, star breakdown) with no reviews. Trustpilot shows a logged-out visitor 200 reviews per filter view; above that, the Actor also reads each star rating, language and sort order as separate views, so busy companies give thousands. Use a large number like 100000 for everything a visitor can reach.",
            "default": 100
          },
          "maxBusinessesPerSearch": {
            "title": "Max businesses per search or category",
            "minimum": 0,
            "type": "integer",
            "description": "How many businesses to return for each keyword or category. 0 means all.",
            "default": 50
          },
          "reviewsForFoundBusinesses": {
            "title": "Also get reviews of businesses found",
            "type": "boolean",
            "description": "Read the reviews of every business that a search or category returns, using the review settings below (each review is a charged row). Their business rows are not repeated.",
            "default": false
          },
          "includeCompanyInfo": {
            "title": "Company row for each company ($)",
            "type": "boolean",
            "description": "Add one business row per company in Companies, charged like a review: TrustScore, stars, review count, reviews in the last 12 months, star breakdown, categories, address, claimed or not, and how the company replies to reviews.",
            "default": true
          },
          "stars": {
            "title": "Star ratings",
            "type": "array",
            "description": "Only reviews with these ratings. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "language": {
            "title": "Review language",
            "enum": [
              "all",
              "en",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "da",
              "sv",
              "no",
              "fi",
              "pl",
              "pt",
              "cs",
              "ja",
              "zh",
              "ko",
              "ar",
              "tr",
              "ru"
            ],
            "type": "string",
            "description": "Only reviews written in this language. All languages by default.",
            "default": "all"
          },
          "dateFrom": {
            "title": "Published on or after",
            "type": "string",
            "description": "Only reviews published on or after this date, like 2026-09-01, or a period back from today like 30 days. With newest-first order the Actor stops reading at this date, so it is fast and cheap."
          },
          "verifiedOnly": {
            "title": "Verified reviews only",
            "type": "boolean",
            "description": "Only reviews Trustpilot's own Verified filter returns. It is stricter than the badge on invited reviews (verificationLevel shows which), so many companies have few such reviews.",
            "default": false
          },
          "withRepliesOnly": {
            "title": "Only reviews with a company reply",
            "type": "boolean",
            "description": "Only reviews the company has replied to.",
            "default": false
          },
          "topics": {
            "title": "Topics",
            "type": "array",
            "description": "Only reviews Trustpilot tags with one of these topics, e.g. delivery_service, customer_service, product, value_for_money, refund. A company's page shows its own topics as chips above the reviews; a review with any of the topics you list counts. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "reviewerCountries": {
            "title": "Reviewer countries",
            "type": "array",
            "description": "Only reviews by reviewers from these countries, as two-letter codes like US, GB, DE. Reviews from other countries are left out and not charged. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Order",
            "enum": [
              "recency",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first suits monitoring and date limits. Most relevant is Trustpilot's default order on the page.",
            "default": "recency"
          },
          "onlyNew": {
            "title": "Only new since the last run",
            "type": "boolean",
            "description": "Skip reviews an earlier run with the same companies, searches and filters already returned, so a daily schedule only pays for new reviews. Business rows come back only when their TrustScore or review count changed. Nothing new means nothing charged.",
            "default": false
          },
          "maxResults": {
            "title": "Max rows in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many charged rows across everything. 0 means no limit beyond the settings above.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}