{
  "openapi": "3.0.1",
  "info": {
    "title": "TripAdvisor Places Scraper - Most Comprehensive",
    "description": "🔥 ~$0.1/1K places 🔥 Collect TripAdvisor hotels, restaurants, and things to do for cities and supported neighborhoods.",
    "version": "0.1",
    "x-build-id": "hjni7E7Tbja2VNRV4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kaix~tripadvisor-places-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kaix-tripadvisor-places-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/kaix~tripadvisor-places-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kaix-tripadvisor-places-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/kaix~tripadvisor-places-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kaix-tripadvisor-places-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": [
          "locations"
        ],
        "properties": {
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "area",
              "boundingBox",
              "nearby",
              "exact"
            ],
            "type": "string",
            "description": "Choose how the values in Locations should be interpreted.",
            "default": "area"
          },
          "locations": {
            "title": "Locations or TripAdvisor places",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Area mode accepts cities, towns, islands, regions, numeric geography IDs, geography URLs, or Neighborhood, City. Nearby and exact modes require TripAdvisor POI IDs or URLs. Street addresses and postal codes are not area boundaries.",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "boundingBox": {
            "title": "Map boundaries",
            "required": [
              "north",
              "south",
              "east",
              "west"
            ],
            "type": "object",
            "description": "Required for bounding-box mode and optional for nearby mode. The box must not cross the antimeridian.",
            "properties": {
              "north": {
                "title": "North latitude",
                "type": "number",
                "description": "Northern edge.",
                "editor": "number",
                "minimum": -90,
                "maximum": 90
              },
              "south": {
                "title": "South latitude",
                "type": "number",
                "description": "Southern edge.",
                "editor": "number",
                "minimum": -90,
                "maximum": 90
              },
              "east": {
                "title": "East longitude",
                "type": "number",
                "description": "Eastern edge.",
                "editor": "number",
                "minimum": -180,
                "maximum": 180
              },
              "west": {
                "title": "West longitude",
                "type": "number",
                "description": "Western edge.",
                "editor": "number",
                "minimum": -180,
                "maximum": 180
              }
            },
            "additionalProperties": false
          },
          "placeTypes": {
            "title": "Place types",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Collect restaurants, hotels, Things to do, or any combination.",
            "items": {
              "type": "string",
              "enum": [
                "restaurant",
                "hotel",
                "attraction"
              ],
              "enumTitles": [
                "Restaurants",
                "Hotels",
                "Things to do"
              ]
            },
            "default": [
              "restaurant",
              "hotel",
              "attraction"
            ]
          },
          "maxItemsPerType": {
            "title": "Maximum places per type",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum unique places saved for each location and selected place type.",
            "default": 30
          },
          "restaurantFilters": {
            "title": "Restaurant filters",
            "type": "array",
            "description": "Examples: Cuisines = Italian, Minimum rating = 4, Open now = true.",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "title": "Filter",
                  "type": "string",
                  "description": "Restaurant filter.",
                  "editor": "select",
                  "enum": [
                    "awards",
                    "bookable",
                    "cuisines",
                    "diets",
                    "dishes",
                    "establishmentTypes",
                    "meals",
                    "michelinAwards",
                    "minimumRating",
                    "neighborhoods",
                    "openNow",
                    "features",
                    "priceLevels",
                    "styles"
                  ],
                  "enumTitles": [
                    "Awards",
                    "Reservations available",
                    "Cuisines",
                    "Dietary needs",
                    "Dishes",
                    "Establishment types",
                    "Meals",
                    "Michelin awards",
                    "Minimum rating",
                    "Neighborhoods",
                    "Open now",
                    "Features",
                    "Price levels",
                    "Dining styles"
                  ]
                },
                "values": {
                  "title": "Values",
                  "type": "array",
                  "description": "Enter labels shown by TripAdvisor. For a range, enter minimum then maximum.",
                  "editor": "stringList",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "field",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "restaurantSort": {
            "title": "Restaurant order",
            "enum": [
              "auto",
              "popularity",
              "relevance",
              "featured"
            ],
            "type": "string",
            "description": "The Actor verifies that TripAdvisor honored this order.",
            "default": "auto"
          },
          "hotelFilters": {
            "title": "Hotel filters",
            "type": "array",
            "description": "Examples: Amenities = Free Wifi, Classes = 4 stars, Minimum rating = 4.",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "title": "Filter",
                  "type": "string",
                  "description": "Hotel filter.",
                  "editor": "select",
                  "enum": [
                    "amenities",
                    "brands",
                    "classes",
                    "deals",
                    "distance",
                    "neighborhoods",
                    "popular",
                    "price",
                    "minimumRating",
                    "rewards",
                    "styles",
                    "travelerAwards",
                    "types"
                  ],
                  "enumTitles": [
                    "Amenities",
                    "Brands",
                    "Hotel class",
                    "Deals",
                    "Distance",
                    "Neighborhoods",
                    "Popular choices",
                    "Price range",
                    "Minimum rating",
                    "Rewards",
                    "Styles",
                    "Traveler awards",
                    "Accommodation types"
                  ]
                },
                "values": {
                  "title": "Values",
                  "type": "array",
                  "description": "Enter human-readable values. For a range, enter minimum then maximum.",
                  "editor": "stringList",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "field",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "hotelSort": {
            "title": "Hotel order",
            "enum": [
              "auto",
              "bestValue",
              "popularity",
              "priceLowToHigh",
              "distanceFromCityCenter"
            ],
            "type": "string",
            "description": "The Actor verifies that TripAdvisor honored this order.",
            "default": "auto"
          },
          "attractionFilters": {
            "title": "Things to do filters",
            "type": "array",
            "description": "Examples: Category group = Tours, Categories = Museums, Minimum rating = 4, Duration = 1–2 hours.",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "title": "Filter",
                  "type": "string",
                  "description": "Things to do filter.",
                  "editor": "select",
                  "enum": [
                    "tags",
                    "awards",
                    "categories",
                    "categoryGroup",
                    "neighborhoods",
                    "openNow",
                    "minimumRating",
                    "duration"
                  ],
                  "enumTitles": [
                    "Tags",
                    "Awards",
                    "Categories",
                    "Category group",
                    "Neighborhoods",
                    "Open now",
                    "Minimum rating",
                    "Suggested duration"
                  ]
                },
                "values": {
                  "title": "Values",
                  "type": "array",
                  "description": "Enter human-readable values.",
                  "editor": "stringList",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "field",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "attractionSort": {
            "title": "Things to do order",
            "enum": [
              "auto",
              "travelerFavorite",
              "travelerRanked",
              "featured",
              "priceLowToHigh",
              "priceHighToLow",
              "durationShortToLong",
              "durationLongToShort"
            ],
            "type": "string",
            "description": "Available choices can change after selecting a category.",
            "default": "auto"
          },
          "reviewFilters": {
            "title": "Review filters",
            "type": "array",
            "description": "Applied only when Reviews are selected under Additional data.",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "title": "Filter",
                  "type": "string",
                  "description": "Review filter.",
                  "editor": "select",
                  "enum": [
                    "language",
                    "rating",
                    "tripType",
                    "month",
                    "text"
                  ],
                  "enumTitles": [
                    "Language",
                    "Rating",
                    "Trip type",
                    "Travel month",
                    "Text search"
                  ]
                },
                "values": {
                  "title": "Values",
                  "type": "array",
                  "description": "Enter human-readable values.",
                  "editor": "stringList",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "field",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "dataPreset": {
            "title": "Data preset",
            "enum": [
              "listings",
              "coreProfiles",
              "fullProfiles"
            ],
            "type": "string",
            "description": "Listings is fastest. Core profiles adds authoritative place details. Full profiles adds every applicable non-paginated profile section."
          },
          "additionalData": {
            "title": "Additional data",
            "uniqueItems": true,
            "type": "array",
            "description": "Select optional sections and collections. Core details are controlled by Data preset.",
            "items": {
              "type": "string",
              "enum": [
                "about",
                "amenities",
                "menu",
                "openingHours",
                "healthSafety",
                "aiReviewSummary",
                "reviews",
                "tips",
                "questionsAndAnswers",
                "questionFormMetadata",
                "photos",
                "attractionProducts",
                "importantInformation",
                "bookingOffers"
              ],
              "enumTitles": [
                "About",
                "Amenities",
                "Menu",
                "Opening hours",
                "Health and safety",
                "AI review summary",
                "Reviews",
                "Traveler tips",
                "Questions and answers",
                "Question-form metadata",
                "Photos",
                "Attraction products",
                "Product important information",
                "Booking offers"
              ]
            },
            "default": []
          },
          "maxReviewsPerPlace": {
            "title": "Maximum reviews per place",
            "minimum": 1,
            "type": "integer",
            "description": "Used when Reviews are selected.",
            "default": 20
          },
          "maxTipsPerPlace": {
            "title": "Maximum tips per place",
            "minimum": 1,
            "type": "integer",
            "description": "Used when Traveler tips are selected.",
            "default": 20
          },
          "maxQuestionsPerPlace": {
            "title": "Maximum questions per place",
            "minimum": 1,
            "type": "integer",
            "description": "Used when Questions and answers are selected.",
            "default": 20
          },
          "maxPhotosPerPlace": {
            "title": "Maximum photos per place",
            "minimum": 1,
            "type": "integer",
            "description": "Used when Photos are selected.",
            "default": 20
          },
          "maxAttractionProductsPerPlace": {
            "title": "Maximum products per attraction",
            "minimum": 1,
            "type": "integer",
            "description": "Used when Attraction products are selected.",
            "default": 20
          },
          "includeDetails": {
            "title": "Legacy include-details setting",
            "type": "boolean",
            "description": "Retained for existing API integrations. Data preset takes precedence when supplied.",
            "default": true
          },
          "currency": {
            "title": "Currency",
            "pattern": "^[A-Z]{3}$",
            "type": "string",
            "description": "Three-letter currency code. Price availability depends on TripAdvisor.",
            "default": "USD"
          },
          "unitLength": {
            "title": "Distance unit",
            "enum": [
              "MILES",
              "KILOMETERS"
            ],
            "type": "string",
            "description": "Unit used for distances returned by TripAdvisor.",
            "default": "MILES"
          },
          "hotelStay": {
            "title": "Hotel dates and guests",
            "required": [
              "checkIn",
              "checkOut",
              "rooms"
            ],
            "type": "object",
            "description": "Optional. Supplying this requests dated hotel offers. Select Booking offers without this object for undated hotel offers.",
            "properties": {
              "checkIn": {
                "title": "Check-in",
                "type": "string",
                "description": "Hotel check-in date. Use today or a future date.",
                "editor": "datepicker",
                "dateType": "absolute",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              "checkOut": {
                "title": "Check-out",
                "type": "string",
                "description": "Hotel check-out date after check-in.",
                "editor": "datepicker",
                "dateType": "absolute",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              "rooms": {
                "title": "Rooms",
                "type": "array",
                "description": "One object per room, for example {\"adults\":2,\"childrenAges\":[]}.",
                "editor": "json",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "properties": {
                    "adults": {
                      "title": "Adults",
                      "type": "integer",
                      "description": "Adults in this room.",
                      "editor": "number",
                      "minimum": 1,
                      "maximum": 20
                    },
                    "childrenAges": {
                      "title": "Children's ages",
                      "type": "array",
                      "description": "Ages from 0 through 17.",
                      "editor": "json",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 17
                      }
                    }
                  },
                  "required": [
                    "adults"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          },
          "restaurantReservation": {
            "title": "Restaurant date and party",
            "required": [
              "date",
              "time",
              "partySize"
            ],
            "type": "object",
            "description": "Optional. Supplying this requests restaurant availability.",
            "properties": {
              "date": {
                "title": "Date",
                "type": "string",
                "description": "Reservation date. Use today or a future date.",
                "editor": "datepicker",
                "dateType": "absolute",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              "time": {
                "title": "Time",
                "type": "string",
                "description": "Local time in HH:mm format.",
                "editor": "textfield",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
              },
              "partySize": {
                "title": "Party size",
                "type": "integer",
                "description": "Number of diners.",
                "editor": "number",
                "minimum": 1,
                "maximum": 100
              }
            },
            "additionalProperties": false
          },
          "attractionVisit": {
            "title": "Attraction date and travelers",
            "required": [
              "date",
              "travelers"
            ],
            "type": "object",
            "description": "Optional. Supplying this requests attraction and tour availability.",
            "properties": {
              "date": {
                "title": "Visit date",
                "type": "string",
                "description": "Visit date. Use today or a future date.",
                "editor": "datepicker",
                "dateType": "absolute",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              "travelers": {
                "title": "Travelers",
                "type": "array",
                "description": "Traveler counts by age band.",
                "editor": "json",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "properties": {
                    "ageBand": {
                      "title": "Age band",
                      "type": "string",
                      "description": "Traveler age band.",
                      "editor": "select",
                      "enum": [
                        "ADULT",
                        "CHILD",
                        "INFANT",
                        "SENIOR",
                        "YOUTH"
                      ],
                      "enumTitles": [
                        "Adult",
                        "Child",
                        "Infant",
                        "Senior",
                        "Youth"
                      ]
                    },
                    "count": {
                      "title": "Count",
                      "type": "integer",
                      "description": "Number of travelers.",
                      "editor": "number",
                      "minimum": 1,
                      "maximum": 100
                    }
                  },
                  "required": [
                    "ageBand",
                    "count"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}