{
  "openapi": "3.0.1",
  "info": {
    "title": "Trustpilot Reviews & Company Data Scraper",
    "description": "Scrape Trustpilot at full depth: company search & details, paginated reviews, best/newest/recently-reviewed companies by category, category taxonomy, and consumer review history. 10 operations, one clean JSON dataset. Built for review monitoring, lead-gen, and review-integrity analysis.",
    "version": "1.0",
    "x-build-id": "M7H6JFhwTdtCgmqii"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~trustpilot-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-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/sian.agency~trustpilot-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-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/sian.agency~trustpilot-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-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",
        "required": [
          "operation"
        ],
        "properties": {
          "operation": {
            "title": "🎛️ Operation",
            "enum": [
              "companySearch",
              "companyDetails",
              "companyReviews",
              "categoryCompanyList",
              "categoryRecentlyReviewed",
              "categoryNewest",
              "categorySearch",
              "categoryDetails",
              "consumerDetails",
              "consumerReviews"
            ],
            "type": "string",
            "description": "Pick ONE operation per run. Each maps to a Trustpilot data endpoint and fills the fields it needs below.\n\n• **Company Search** — find companies by keyword (needs Query)\n• **Company Details** — full profile + Trust Score by domain (needs Company Domain)\n• **Company Reviews** — paginate every review for a company (needs Company Domain)\n• **Companies by Category** — best companies in a category (needs Category ID)\n• **Recently Reviewed in Category** — companies with fresh reviews (needs Category ID)\n• **Newest in Category** — newest companies in a category, great for lead-gen (needs Category ID)\n• **Category Search** — find category IDs by keyword (needs Query)\n• **Category Details** — taxonomy: parent / sibling / sub categories (needs Category ID)\n• **Consumer Details** — a reviewer's profile (needs Consumer ID)\n• **Consumer Reviews** — every review a reviewer wrote (needs Consumer ID)\n\n💡 Get a Company Domain from Company Search, a Category ID from Category Search, and a Consumer ID from any review row.",
            "default": "companyReviews"
          },
          "query": {
            "title": "🔍 Query",
            "type": "string",
            "description": "Search keyword. Used by **Company Search** (e.g. `bestbuy`, `nike`) and **Category Search** (e.g. `electronics`, `software`)."
          },
          "companyDomain": {
            "title": "🌐 Company Domain",
            "type": "string",
            "description": "The company's domain on Trustpilot. Used by **Company Details** and **Company Reviews**. Get it from a Company Search row (the `domain` field, e.g. `www.bestbuy.com` or `gossby.com`)."
          },
          "categoryId": {
            "title": "🗂️ Category ID",
            "type": "string",
            "description": "A Trustpilot category ID (slug). Used by **Companies by Category**, **Recently Reviewed**, **Newest**, and **Category Details**. Get it from a Category Search row (e.g. `electronics_company`, `software_company`)."
          },
          "consumerId": {
            "title": "👤 Consumer ID",
            "type": "string",
            "description": "A Trustpilot consumer (reviewer) ID. Used by **Consumer Details** and **Consumer Reviews**. Get it from the `consumerId` field on any review row."
          },
          "locale": {
            "title": "🌍 Locale",
            "enum": [
              "en-US",
              "en-GB",
              "en-AU",
              "en-CA",
              "en-IE",
              "en-NZ",
              "de-DE",
              "de-AT",
              "de-CH",
              "es-ES",
              "fr-FR",
              "fr-BE",
              "it-IT",
              "nl-NL",
              "nl-BE",
              "da-DK",
              "fi-FI",
              "nb-NO",
              "pl-PL",
              "pt-BR",
              "pt-PT",
              "sv-SE",
              "ja-JP"
            ],
            "type": "string",
            "description": "Trustpilot locale / market. Affects which regional listings and reviews are returned. Defaults to `en-US`.",
            "default": "en-US"
          },
          "maxPages": {
            "title": "📄 Max Pages",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of pages to fetch for paginated operations (Company Search, Company Reviews, Companies by Category, Consumer Reviews). Each upstream call is one page. Ignored for single-shot operations.",
            "default": 5
          },
          "reviewSort": {
            "title": "↕️ Review Sort (Company Reviews)",
            "enum": [
              "most_relevant",
              "recency"
            ],
            "type": "string",
            "description": "Sort order for **Company Reviews**.",
            "default": "most_relevant"
          },
          "datePosted": {
            "title": "📅 Date Posted (Company Reviews)",
            "enum": [
              "any",
              "last_12_months",
              "last_6_months",
              "last_3_months",
              "last_30_days"
            ],
            "type": "string",
            "description": "Restrict **Company Reviews** to a recency window.",
            "default": "any"
          },
          "reviewRating": {
            "title": "⭐ Review Rating Filter (Company Reviews)",
            "type": "string",
            "description": "Only return reviews with a specific star rating. Accepts a single value `1`–`5` (e.g. `5` for only 5-star, `1` for only 1-star). Leave blank for all ratings.",
            "default": ""
          },
          "reviewQuery": {
            "title": "🔎 Review Keyword (Company Reviews)",
            "type": "string",
            "description": "Only return company reviews whose text contains this keyword. Leave blank to return all reviews.",
            "default": ""
          },
          "verifiedOnly": {
            "title": "✅ Verified Only",
            "type": "boolean",
            "description": "**Company Reviews:** only verified reviews. **Companies by Category:** only verified companies.",
            "default": false
          },
          "withReplies": {
            "title": "💬 Only Reviews With Replies (Company Reviews)",
            "type": "boolean",
            "description": "Only return reviews that have a company reply.",
            "default": false
          },
          "minRating": {
            "title": "⭐ Minimum Rating",
            "enum": [
              "any",
              "3",
              "4",
              "4.5"
            ],
            "type": "string",
            "description": "Filter results to companies with at least this rating. Used by **Company Search** and **Companies by Category**.",
            "default": "any"
          },
          "minReviewCount": {
            "title": "🔢 Minimum Review Count (Company Search)",
            "enum": [
              "any",
              "25",
              "50",
              "100",
              "250",
              "500"
            ],
            "type": "string",
            "description": "Only return companies with at least this many reviews.",
            "default": "any"
          },
          "categorySort": {
            "title": "↕️ Category Sort (Companies by Category)",
            "enum": [
              "most_relevant",
              "reviews_count",
              "latest_review"
            ],
            "type": "string",
            "description": "Sort order for **Companies by Category**.",
            "default": "most_relevant"
          },
          "claimedOnly": {
            "title": "🏷️ Claimed Companies Only (Companies by Category)",
            "type": "boolean",
            "description": "Only return companies that have claimed their Trustpilot profile.",
            "default": false
          },
          "country": {
            "title": "🏳️ Country Filter (Companies by Category)",
            "type": "string",
            "description": "Restrict category companies to a country (ISO code, e.g. `US`, `GB`). Leave blank for all.",
            "default": ""
          },
          "cityOrZip": {
            "title": "📍 City or ZIP (Companies by Category)",
            "type": "string",
            "description": "Restrict category companies to a city name or ZIP/postal code. Leave blank for all.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}