{
  "openapi": "3.0.1",
  "info": {
    "title": "Booking.com Reviews Scraper - 36 Fields, Scores & Replies",
    "description": "Extract Booking.com guest reviews: score, positive and negative text, traveller type, room, stay dates, photos and property replies. Add per-property summaries with subscores, score breakdown and language mix. Filter by score, language, season or keyword. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "F6U6qeaYoBIuYoBV0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~booking-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-booking-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/clearpath~booking-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-booking-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/clearpath~booking-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-booking-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": [
          "hotels"
        ],
        "properties": {
          "hotels": {
            "title": "🏨 Properties",
            "minItems": 1,
            "maxItems": 200,
            "type": "array",
            "description": "Booking.com property links, property names, or a mix of both, one per line. Supports up to <b>200 properties per run</b>.<br><br><b>Link:</b> <code>https://www.booking.com/hotel/gb/the-savoy.html</code><br><b>Name:</b> <code>The Savoy London</code>, add the city so the right property is matched.<br><br>Works with hotels, apartments, B&amp;Bs, hostels and villas.",
            "items": {
              "type": "string",
              "maxLength": 1000
            }
          },
          "maxReviewsPerHotel": {
            "title": "🔢 Max reviews per property",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "How many reviews to collect for each property. Set to <b>0</b> to collect every review the property has. Popular hotels can have several thousand.",
            "default": 100
          },
          "language": {
            "title": "🗣️ Output language",
            "enum": [
              "en-gb",
              "en-us",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pt-pt",
              "pl",
              "ru",
              "tr",
              "ja",
              "zh-cn"
            ],
            "type": "string",
            "description": "Language for the labels Booking.com translates: traveller types, subscore names and review topics. Review text always comes back exactly as the guest wrote it.",
            "default": "en-gb"
          },
          "sortBy": {
            "title": "↕️ Sort reviews by",
            "enum": [
              "most_relevant",
              "newest",
              "oldest",
              "highest_score",
              "lowest_score"
            ],
            "type": "string",
            "description": "Which reviews come first. <b>Most relevant</b> is Booking.com's own default ordering. Combine <b>Newest first</b> with a small limit to track recent sentiment cheaply.",
            "default": "most_relevant"
          },
          "includeSummary": {
            "title": "📊 Include property summary",
            "type": "boolean",
            "description": "Adds one row per property to a separate <b>summary</b> dataset: overall score, star rating, address and coordinates, plus subscores (staff, cleanliness, comfort, value, location, wifi), the score breakdown, the language mix, traveller types, seasons, room types and the topics guests mention most. Free: it costs no extra collection. Added for every property your run returns reviews for, and for properties that genuinely have none yet.",
            "default": true
          },
          "scoreBand": {
            "title": "⭐ Only reviews scored",
            "enum": [
              "all",
              "superb",
              "good",
              "passable",
              "poor",
              "very_poor"
            ],
            "type": "string",
            "description": "Booking.com scores reviews from 1 to 10 and groups them into bands. Use <b>Poor</b> or <b>Very poor</b> to pull complaints only.",
            "default": "all"
          },
          "guestType": {
            "title": "👥 Only reviews from",
            "enum": [
              "ALL",
              "FAMILIES",
              "COUPLES",
              "GROUP_OF_FRIENDS",
              "SOLO_TRAVELLERS",
              "BUSINESS_TRAVELLERS"
            ],
            "type": "string",
            "description": "Limit to one kind of traveller.",
            "default": "ALL"
          },
          "season": {
            "title": "🗓️ Only stays during",
            "enum": [
              "all",
              "spring",
              "summer",
              "autumn",
              "winter"
            ],
            "type": "string",
            "description": "Limit to stays in one part of the year, across all years.",
            "default": "all"
          },
          "reviewLanguages": {
            "title": "🌍 Only reviews written in",
            "type": "array",
            "description": "Pick one or more languages. Leave empty for every language. The summary output lists exactly which languages a property has reviews in, and how many of each. Note that English also returns rows tagged <code>xu</code>, which is how Booking.com marks US English.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "ar",
                "bg",
                "ca",
                "zh",
                "hr",
                "cs",
                "da",
                "nl",
                "et",
                "fi",
                "fr",
                "de",
                "el",
                "he",
                "hu",
                "is",
                "id",
                "it",
                "ja",
                "ko",
                "lv",
                "lt",
                "ms",
                "no",
                "pl",
                "pt",
                "ro",
                "ru",
                "sr",
                "sk",
                "sl",
                "es",
                "sv",
                "th",
                "tr",
                "uk",
                "vi"
              ],
              "enumTitles": [
                "English (en)",
                "Arabic (ar)",
                "Bulgarian (bg)",
                "Catalan (ca)",
                "Chinese (zh)",
                "Croatian (hr)",
                "Czech (cs)",
                "Danish (da)",
                "Dutch (nl)",
                "Estonian (et)",
                "Finnish (fi)",
                "French (fr)",
                "German (de)",
                "Greek (el)",
                "Hebrew (he)",
                "Hungarian (hu)",
                "Icelandic (is)",
                "Indonesian (id)",
                "Italian (it)",
                "Japanese (ja)",
                "Korean (ko)",
                "Latvian (lv)",
                "Lithuanian (lt)",
                "Malay (ms)",
                "Norwegian (no)",
                "Polish (pl)",
                "Portuguese (pt)",
                "Romanian (ro)",
                "Russian (ru)",
                "Serbian (sr)",
                "Slovak (sk)",
                "Slovenian (sl)",
                "Spanish (es)",
                "Swedish (sv)",
                "Thai (th)",
                "Turkish (tr)",
                "Ukrainian (uk)",
                "Vietnamese (vi)"
              ]
            },
            "default": []
          },
          "reviewTopics": {
            "title": "💬 Only reviews about",
            "maxItems": 100,
            "type": "array",
            "description": "Topic IDs, for example <code>270</code> for Room. Each property's available topics and their IDs are listed in the <b>summary</b> output, so a first run tells you what to put here.",
            "items": {
              "type": "string",
              "maxLength": 24
            }
          },
          "searchText": {
            "title": "🔎 Only reviews mentioning",
            "maxLength": 200,
            "type": "string",
            "description": "A word or phrase to search for inside the reviews, for example <code>breakfast</code> or <code>air conditioning</code>."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}