{
  "openapi": "3.0.1",
  "info": {
    "title": "Booking.com Scraper - $2/1k, Rooms & Live Prices",
    "description": "Scrape Booking.com by destination or filtered search URL. Export hotels, live prices, room options, availability, facilities, photos, policies, ratings, addresses, coordinates, and surroundings.",
    "version": "1.0",
    "x-build-id": "CKAA2grtF6bo4xLYs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fascinating_lentil~booking-com-hotel-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fascinating_lentil-booking-com-hotel-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/fascinating_lentil~booking-com-hotel-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fascinating_lentil-booking-com-hotel-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/fascinating_lentil~booking-com-hotel-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fascinating_lentil-booking-com-hotel-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",
        "properties": {
          "destinations": {
            "title": "Destinations",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "List of destinations to search, e.g. London, United Kingdom. Start with one destination for a low-cost test.",
            "default": [
              "London, United Kingdom"
            ],
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Booking.com Search URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Optional Booking.com search-results URLs. Paste URLs after applying filters on Booking.com; the Actor preserves those filters while paginating. When supplied, URL mode takes priority over destinations.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "checkIn": {
            "title": "Check-in Date",
            "type": "string",
            "description": "Optional future check-in date in YYYY-MM-DD format. Leave blank to use 30 days after the run date."
          },
          "checkOut": {
            "title": "Check-out Date",
            "type": "string",
            "description": "Optional future check-out date in YYYY-MM-DD format. Leave blank to use one night after check-in."
          },
          "adults": {
            "title": "Number of Adults",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Number of adults per room.",
            "default": 2
          },
          "rooms": {
            "title": "Number of Rooms",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Number of rooms to search for.",
            "default": 1
          },
          "childrenAges": {
            "title": "Children Ages",
            "maxItems": 10,
            "type": "array",
            "description": "Age of each child, from 0 to 17. Repeated ages are allowed. Example: [5, 9].",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "default": []
          },
          "propertyTypes": {
            "title": "Property Type Filters",
            "type": "array",
            "description": "Optional property type filters. Allowed values: Hotels, Apartments, Hostels, Villas, Resorts, B&Bs, Guest houses. Leave empty for all accommodation types.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "stars": {
            "title": "Star Ratings",
            "maxItems": 5,
            "uniqueItems": true,
            "type": "array",
            "description": "Optional star-category filters. Example: [4, 5].",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            },
            "default": []
          },
          "minReviewScore": {
            "title": "Minimum Review Score",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only include properties with a guest review score at or above this threshold. Leave 0 for the broadest first test.",
            "default": 0
          },
          "minPrice": {
            "title": "Minimum Stay Price",
            "minimum": 0,
            "type": "number",
            "description": "Optional minimum total price in the selected currency."
          },
          "maxPrice": {
            "title": "Maximum Stay Price",
            "minimum": 0,
            "type": "number",
            "description": "Optional maximum total price in the selected currency."
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "popularity",
              "priceLowToHigh",
              "reviewScore",
              "distance"
            ],
            "type": "string",
            "description": "Booking.com result ordering for destination searches. URL mode keeps the ordering from the pasted URL.",
            "default": "popularity"
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of properties per destination or search URL. The Actor follows Booking.com's next-page links and stops at this limit.",
            "default": 25
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "JPY",
              "CAD",
              "AUD",
              "CHF",
              "CNY",
              "INR",
              "BRL",
              "MXN",
              "SEK",
              "NOK",
              "DKK",
              "NZD",
              "KRW",
              "SGD",
              "MYR",
              "THB",
              "TRY"
            ],
            "type": "string",
            "description": "Display currency for prices.",
            "default": "USD"
          },
          "language": {
            "title": "Booking.com Language",
            "enum": [
              "en-us",
              "en-gb",
              "de",
              "es",
              "fr",
              "it",
              "nl",
              "pt-br",
              "pt-pt",
              "ja",
              "zh-cn",
              "zh-tw",
              "ko",
              "ar",
              "hi",
              "tr",
              "pl",
              "sv",
              "da",
              "no",
              "fi"
            ],
            "type": "string",
            "description": "Language used for Booking.com labels and policies. URL mode keeps the language in the pasted URL when present.",
            "default": "en-us"
          },
          "scrapeDetails": {
            "title": "Detailed Property & Room Data",
            "type": "boolean",
            "description": "Visit each property page to add room options, prices, occupancy, meal plans, cancellation policies, availability, facilities, photos, address, coordinates, check-in/out times, description, and surroundings. Slower than fast mode and billed at $5 per 1,000 detailed hotel records. Uses datacenter proxy to keep the price predictable.",
            "default": false
          },
          "maxImages": {
            "title": "Maximum Images Per Property",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum property images returned in detailed mode.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings for scraping. Apify Proxy or a suitable custom proxy is required for cloud runs because Booking.com challenges direct Apify cloud traffic. Leave groups empty for the default datacenter pool. Fast mode can retry on residential when needed; detailed mode does not use Apify Residential because its transfer cost would require an uncompetitive result price. Custom proxy URLs remain supported.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}