{
  "openapi": "3.0.1",
  "info": {
    "title": "Hilton Hotel Search Scraper",
    "description": "Scrape every Hilton hotel for any destination and dates. Add a city and get each Hilton, DoubleTree, Hampton, Waldorf Astoria, Conrad, Curio and Garden Inn with nightly and stay prices, points cost, brand, amenities, guest rating, phone, coordinates and distance. $1.20 per 1,000 hotels.",
    "version": "1.0",
    "x-build-id": "cecOW2CUHu8LcsMMU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/boncross~hilton-hotel-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-boncross-hilton-hotel-search",
        "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-hotel-search/runs": {
      "post": {
        "operationId": "runs-sync-boncross-hilton-hotel-search",
        "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-hotel-search/run-sync": {
      "post": {
        "operationId": "run-sync-boncross-hilton-hotel-search",
        "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",
            "type": "array",
            "description": "Where to search. Use prose the way you would type it on hilton.com (\"London, England, United Kingdom\", \"Tokyo, Japan\", \"Times Square, New York\") or a coordinate pair as \"lat,lng\" (\"51.5074,-0.1278\"). Each destination is resolved to one place, and every Hilton property near it comes back.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerDestination": {
            "title": "Max hotels per destination",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Stop after this many hotels per destination. London has about 70.",
            "default": 100
          },
          "maxItems": {
            "title": "Maximum results for the whole run",
            "minimum": 0,
            "type": "integer",
            "description": "A run-wide ceiling across every target. The per-destination limit above applies to each one separately, so ten cities at 50 each returns 500; set this to cap the total. Zero means no run-wide limit.",
            "default": 0
          },
          "checkIn": {
            "title": "Check-in",
            "type": "string",
            "description": "YYYY-MM-DD. Leave empty to use the rolling window below.",
            "default": ""
          },
          "checkOut": {
            "title": "Check-out",
            "type": "string",
            "description": "YYYY-MM-DD. Leave empty and the stay runs for the number of nights below.",
            "default": ""
          },
          "checkInDaysAhead": {
            "title": "Check-in days ahead",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Used only when check-in is empty, so a scheduled run keeps asking about a stay the same distance away rather than one that drifts into the past.",
            "default": 30
          },
          "nights": {
            "title": "Nights",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Used only when check-out is empty.",
            "default": 1
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many adults per room.",
            "default": 2
          },
          "childrenAges": {
            "title": "Children's ages",
            "type": "array",
            "description": "One age per child. Hilton prices children by age, so an empty list means adults only.",
            "default": []
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "How many rooms to price.",
            "default": 1
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Optional. Keep only these Hilton brands, by code: HI Hilton, DT DoubleTree, HP Hampton, GI Hilton Garden Inn, WA Waldorf Astoria, CH Conrad, QQ Curio, UP Tapestry, RU Tru, HW Homewood Suites, HT Home2 Suites, ES Embassy Suites, PY Canopy, ND NoMad, OL LXR, SA Signia, PE Spark, UA Motto, PO Tempo, LX SLH, YH YOTEL, GU Graduate, AQ Apartment Collection, EY LivSmart Studios, GV Hilton Grand Vacations, OU AutoCamp, ID Outset.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "amenityIds": {
            "title": "Amenities",
            "type": "array",
            "description": "Optional. Keep only hotels carrying these amenity ids (all of them by default, or at least one with the setting below), such as freeBreakfast, freeParking, freeWifi, spa, resort, luxury, beach, golf, casino, allInclusive, digitalKey, concierge, nonSmoking, adjoiningRooms, eveningReception, tennisCourt, ski, boutique, hotelResidence.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "amenityMatch": {
            "title": "Amenities must all match",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "With several amenities: All (the default) keeps only hotels carrying every one, the way Hilton's own amenity filter works; Any keeps a hotel carrying at least one of them.",
            "default": "all"
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep only hotels rated at least this on TripAdvisor, out of 5. Zero keeps everything, including hotels with no rating yet. Accepts a decimal, so 4.5 is a valid floor.",
            "default": 0
          },
          "onlyBookable": {
            "title": "Only bookable hotels",
            "type": "boolean",
            "description": "Drop properties Hilton marks as not yet taking reservations: pre-opening hotels and ones closed for the season.",
            "default": false
          },
          "onlyAvailable": {
            "title": "Only hotels with rooms for these dates",
            "type": "boolean",
            "description": "Drop properties that came back sold out, closed, or not yet open for the stay. Needs dated prices to be on.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "distance",
              "price_asc",
              "price_desc",
              "rating_desc",
              "rating_asc",
              "points_asc",
              "points_desc"
            ],
            "type": "string",
            "description": "Hilton's orderings. Distance is the default. Price and rating orders consider every Hilton in the place, then keep the first N, the way Hilton's own site sorts: so with a cap of 20 and Price: low–high you get the 20 cheapest, not the 20 nearest re-sorted. Points orders use the points price for your dates when Include points is on, otherwise Hilton's published points rate.",
            "default": "distance"
          },
          "includeRates": {
            "title": "Include dated prices",
            "type": "boolean",
            "description": "Price the stay below. Turn this off to list properties only, which is one request per destination instead of one extra per 20 hotels; the row still carries Hilton's undated published lowest rate.",
            "default": true
          },
          "includePoints": {
            "title": "Include points for your dates",
            "type": "boolean",
            "description": "Add the lowest Hilton Honors points price per night for the stay below, beside the cash price. One extra request per 20 hotels.",
            "default": false
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "ISO code to price in, such as USD, GBP or EUR.",
            "default": "USD"
          },
          "distanceUnit": {
            "title": "Distance unit",
            "enum": [
              "mi",
              "km"
            ],
            "type": "string",
            "description": "Unit for the distance from the searched place.",
            "default": "mi"
          },
          "delayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 10000,
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}