{
  "openapi": "3.0.1",
  "info": {
    "title": "Hilton Room Rates Scraper",
    "description": "Scrape every room Hilton is selling for a hotel and your dates. Just add hotel codes or hilton.com URLs and get nightly rate, stay total, Honors points cost, bed count, amenities, image and rate plan names. Points rows carry the cash price beside the points. $3.50 per 1,000 priced hotel-stays.",
    "version": "1.0",
    "x-build-id": "dPfNJnNgQGlqt8qxG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/boncross~hilton-room-rates/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-boncross-hilton-room-rates",
        "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/boncross~hilton-room-rates/runs": {
      "post": {
        "operationId": "runs-sync-boncross-hilton-room-rates",
        "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/boncross~hilton-room-rates/run-sync": {
      "post": {
        "operationId": "run-sync-boncross-hilton-room-rates",
        "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": {
          "hotels": {
            "title": "Hotels",
            "type": "array",
            "description": "Hotel codes such as LONCWHI, or any hilton.com hotel or booking URL.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs (bulk upload)",
            "type": "array",
            "description": "Hilton page addresses, with the option to load them in bulk from a file, a Google Sheet or a remote list. Use this when you have more links than you want to paste. Combined with anything in the list above.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxRoomsPerHotel": {
            "title": "Maximum rooms per hotel-stay",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Cap the rooms returned for each hotel and stay, cheapest first; every rate plan of a kept room is returned. 0 returns every room.",
            "default": 0
          },
          "maxItems": {
            "title": "Maximum hotel-stays for the whole run",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many priced hotel-stays across the run: one hotel, one stay, one rate mode, with all its rooms and rate plans. With the monthly price calendar, each priced date counts as one. 0 means no limit. Sold-out and unchanged stays are not counted.",
            "default": 0
          },
          "maxRows": {
            "title": "Maximum rows for the whole run",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many rows (one per room and rate plan). The last hotel-stay is cut to fit, keeping its cheapest rates, and billed as one stay. 0 means no limit; the run stops at whichever cap it reaches first.",
            "default": 0
          },
          "checkIn": {
            "title": "Check-in",
            "type": "string",
            "description": "YYYY-MM-DD. Leave empty to use the days-ahead setting. Lowercase checkin also works."
          },
          "checkOut": {
            "title": "Check-out",
            "type": "string",
            "description": "YYYY-MM-DD. Leave empty to use the number of nights. Lowercase checkout also works."
          },
          "checkInDaysAhead": {
            "title": "Days ahead",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Used when no check-in date is given: how many days from today the stay starts.",
            "default": 30
          },
          "nights": {
            "title": "Nights",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Used when no check-out date is given.",
            "default": 2
          },
          "stays": {
            "title": "Extra stays",
            "type": "array",
            "description": "Price several date ranges in one run. Each item takes checkIn and checkOut. Overrides the single stay above."
          },
          "adults": {
            "title": "Adults per room",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Number of adults in each room.",
            "default": 2
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "How many rooms to price.",
            "default": 1
          },
          "childrenAges": {
            "title": "Child ages",
            "type": "array",
            "description": "Ages of children sharing the room, for example [7, 10]."
          },
          "rateModes": {
            "title": "Rate types",
            "type": "array",
            "description": "Cash returns money rates. Points returns Honors award nights. Choose both to get each room twice, once priced each way.",
            "items": {
              "type": "string",
              "enum": [
                "cash",
                "points"
              ]
            },
            "default": [
              "cash"
            ]
          },
          "specialRate": {
            "title": "Special rate",
            "enum": [
              "",
              "aaa",
              "senior",
              "governmentMilitary",
              "travelAgent",
              "smb"
            ],
            "type": "string",
            "description": "Ask for a discounted rate category instead of the public one.",
            "default": ""
          },
          "promoCode": {
            "title": "Promotion code",
            "type": "string",
            "description": "A promotion code to price the stay with."
          },
          "corporateId": {
            "title": "Corporate account",
            "type": "string",
            "description": "A corporate account number to price the stay with."
          },
          "groupCode": {
            "title": "Group code",
            "type": "string",
            "description": "A group booking code to price the stay with."
          },
          "includeUnavailable": {
            "title": "Include rooms with no price",
            "type": "boolean",
            "description": "Keep rooms the hotel lists but is not selling for these dates.",
            "default": false
          },
          "allRatePlans": {
            "title": "Every rate plan",
            "type": "boolean",
            "description": "Off (the default): one row per room, the lead rate Hilton shows first for it. On: one row for every rate plan each room sells under (flexible, advance purchase, breakfast included, member and special rates), each with its own price and terms, often 10 to 30 times as many rows. A stay keeps at most its 250 cheapest rates.",
            "default": false
          },
          "priceCalendar": {
            "title": "Monthly price calendar",
            "type": "boolean",
            "description": "Instead of the room grid, return one row per hotel and arrival date: the lowest nightly rate for a stay of your length starting that day, its rate plan and room type, rooms left at that rate, and with the points rate mode the lowest points price. The calendar starts at your check-in date and runs to the end of that month, then through each further month you ask for.",
            "default": false
          },
          "calendarMonths": {
            "title": "Calendar months",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "With the monthly price calendar: how many months to cover. The month of the check-in date counts as the first and is covered from the check-in date on. Each further month is covered in full.",
            "default": 1
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Three-letter code such as USD or JPY. Default USD; clear it for the hotel's own currency.",
            "default": "USD"
          },
          "priceStoreName": {
            "title": "Price memory store",
            "type": "string",
            "description": "Name a store and the actor remembers the lowest rate for each hotel and stay, then reports the change on the next run."
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed",
            "type": "boolean",
            "description": "Skip a hotel and stay whose lowest rate has not moved since the last run. Needs a price memory store.",
            "default": false
          },
          "includeRawData": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Add the untouched record from the site next to the parsed fields.",
            "default": false
          },
          "delayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 30000,
            "type": "integer",
            "description": "Optional pause before each call, in milliseconds. 0 (the default) runs as fast as the parallel limit allows. Values above 2000 are treated as 2000.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "How many requests run at once across the whole run. The default is the fastest level measured clean; lower it only if a run reports refusals or errors.",
            "default": 16
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}