{
  "openapi": "3.0.1",
  "info": {
    "title": "Booking.com Scraper | Live Hotel Prices & Availability",
    "description": "Live Booking.com hotel prices and availability. Search a destination or look up a hotel by name for real-time room rates, review scores and direct booking links. Per-country pricing for rate parity checks. Ideal for price monitoring, revenue management, travel apps and AI agents.",
    "version": "0.1",
    "x-build-id": "rCuRDo19ePtvVNViv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mtnrabi~booking-real-time-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mtnrabi-booking-real-time-api",
        "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/mtnrabi~booking-real-time-api/runs": {
      "post": {
        "operationId": "runs-sync-mtnrabi-booking-real-time-api",
        "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/mtnrabi~booking-real-time-api/run-sync": {
      "post": {
        "operationId": "run-sync-mtnrabi-booking-real-time-api",
        "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": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "title": "What do you want to do?",
            "enum": [
              "/search",
              "/hotel_by_name",
              "/hotel",
              "/resolve"
            ],
            "type": "string",
            "description": "Pick the task, then fill in the matching field below. Search a destination is the usual starting point.",
            "default": "/search"
          },
          "destination": {
            "title": "Destination",
            "type": "string",
            "description": "Free text, the same as you would type on Booking.com. City, neighbourhood or landmark all work. Used when searching a destination."
          },
          "hotel_name": {
            "title": "Hotel name",
            "type": "string",
            "description": "Free text hotel name. Used when looking a hotel up by name or finding its Booking.com ID."
          },
          "area": {
            "title": "City or region for the hotel name",
            "type": "string",
            "description": "Optional. Narrows a generic hotel name to one place, for example Budapest. The search becomes the hotel name plus this area, while the name matching still uses the hotel name only."
          },
          "hotel_booking_id": {
            "title": "Booking.com hotel ID",
            "type": "string",
            "description": "The path portion of a Booking.com hotel URL, for example cy/four-seasons-limassol. Use the ID lookup task if you only have the name."
          },
          "checkin_date": {
            "title": "Check-in date",
            "type": "string",
            "description": "Check-in date in YYYY-MM-DD format."
          },
          "checkout_date": {
            "title": "Check-out date",
            "type": "string",
            "description": "Check-out date in YYYY-MM-DD format."
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "type": "integer",
            "description": "Number of adults in the room.",
            "default": 2
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "type": "integer",
            "description": "Number of children in the room.",
            "default": 0
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "ILS",
              "CAD",
              "AUD",
              "CHF",
              "JPY",
              "INR",
              "BRL",
              "MXN",
              "AED",
              "SGD",
              "TRY",
              "PLN",
              "SEK",
              "NOK",
              "DKK",
              "ZAR",
              "THB"
            ],
            "type": "string",
            "description": "Currency for all returned prices.",
            "default": "USD"
          },
          "budget_per_night": {
            "title": "Max price per night",
            "minimum": 1,
            "type": "integer",
            "description": "Only return properties at or below this nightly price, in the currency you picked above. Applies when searching a destination."
          },
          "filters": {
            "title": "Booking.com filters",
            "type": "array",
            "description": "Pick any combination. These map to the real filter checkboxes on Booking.com and apply when searching a destination.",
            "items": {
              "type": "string",
              "enum": [
                "free_cancellation",
                "breakfast_included",
                "breakfast_and_lunch",
                "breakfast_and_dinner",
                "all_meals_included",
                "all_inclusive",
                "free_wifi",
                "swimming_pool",
                "gym",
                "parking",
                "front_desk_24h",
                "review_score_7",
                "review_score_8",
                "review_score_9",
                "private_bathroom",
                "air_conditioning",
                "stars_3",
                "stars_4",
                "stars_5",
                "pets_allowed",
                "adults_only",
                "sauna",
                "very_good_breakfast",
                "accepts_online_payment"
              ],
              "enumTitles": [
                "Free cancellation",
                "Breakfast included",
                "Breakfast and lunch",
                "Breakfast and dinner",
                "All meals included",
                "All inclusive",
                "Free WiFi",
                "Swimming pool",
                "Gym or fitness centre",
                "Parking",
                "24 hour front desk",
                "Review score above 7",
                "Review score above 8",
                "Review score above 9",
                "Private bathroom",
                "Air conditioning",
                "3 stars",
                "4 stars",
                "5 stars",
                "Pets allowed",
                "Adults only",
                "Sauna",
                "Very good breakfast",
                "Accepts online payment"
              ]
            },
            "default": []
          },
          "free_cancellation": {
            "title": "Free cancellation only",
            "type": "boolean",
            "description": "Applies when looking a hotel up by name or listing rooms in one property. For destination searches use the filter list above instead.",
            "default": false
          },
          "proxy_country": {
            "title": "Price from this country",
            "type": "string",
            "description": "Booking.com quotes different rates depending on where the visitor is browsing from. Route the request through a residential proxy in a specific country to see that market's price. Leave empty to use the global pool. Run the same search from two countries and compare to check rate parity."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}