{
  "openapi": "3.0.1",
  "info": {
    "title": "TripAdvisor Reviews Scraper",
    "description": "Extract TripAdvisor reviews from hotels, restaurants, attractions, and tours/activities in one run. Sort, filter by rating, trip type, month, language, or keyword, with owner replies, photos, and place metadata included.",
    "version": "0.1",
    "x-build-id": "pbDk4ds2oelEhu2pJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/web_wanderer~tripadvisor-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-web_wanderer-tripadvisor-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/web_wanderer~tripadvisor-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-web_wanderer-tripadvisor-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/web_wanderer~tripadvisor-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-web_wanderer-tripadvisor-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": [
          "startUrls"
        ],
        "properties": {
          "showOriginalReviews": {
            "title": "Show original (untranslated) reviews",
            "type": "boolean",
            "description": "By default, reviews written in other languages are machine-translated into English. Enable this to receive each review in its original language instead. Not supported on attraction tours/activities pages.",
            "default": false
          },
          "include_personal_information": {
            "title": "Include personal information",
            "type": "boolean",
            "description": "When enabled, author name, username, hometown, profile URL and contribution count are included in the output. By default these fields are set to null to comply with GDPR and similar data protection regulations. Only enable this if you have a lawful basis for processing personal data.",
            "default": false
          },
          "startUrls": {
            "title": "Start URLs or location IDs",
            "type": "array",
            "description": "TripAdvisor review page URLs (hotels, restaurants, attractions or attraction tours/activities), or bare numeric TripAdvisor location IDs (the digits after `-d` in the URL, e.g. `671150`).",
            "items": {
              "type": "string"
            }
          },
          "maxReviewsPerLocation": {
            "title": "Reviews per Location",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of reviews to collect per URL. Set to 0 for unlimited.",
            "default": 50
          },
          "sortBy": {
            "title": "Sort reviews by",
            "enum": [
              "default",
              "most_recent",
              "detailed",
              "insightful"
            ],
            "type": "string",
            "description": "Order in which reviews are returned. `default` lets TripAdvisor decide; `most_recent` returns the newest reviews first; `detailed` prioritises the most informative reviews; `insightful` returns the most insightful reviews (only effective on attraction tours/activities pages).",
            "default": "default"
          },
          "searchKeyword": {
            "title": "Search keyword in reviews",
            "type": "string",
            "description": "Free-text keyword to search inside review content. Filtering is performed server-side by TripAdvisor.",
            "default": ""
          },
          "ratings": {
            "title": "Filter by rating",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return reviews with these star ratings. Leave empty to include all ratings.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star (Terrible)",
                "2 stars (Poor)",
                "3 stars (Average)",
                "4 stars (Very good)",
                "5 stars (Excellent)"
              ]
            },
            "default": []
          },
          "tripTypes": {
            "title": "Filter by trip type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return reviews from these traveler segments. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Families",
                "Couples",
                "Solo",
                "Business",
                "Friends"
              ]
            },
            "default": []
          },
          "months": {
            "title": "Filter by month of visit",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return reviews where the visit happened in these months. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10",
                "11",
                "12"
              ],
              "enumTitles": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
              ]
            },
            "default": []
          },
          "reviewLanguage": {
            "title": "Review language",
            "type": "string",
            "description": "ISO language code of the reviews to collect (e.g. en, fr, es, de, it, zhCN). Use `all` to collect reviews in every language. By default, non-English reviews are machine-translated into English.",
            "default": "all"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}