{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Hotels Scraper | Prices, Offers and Ratings",
    "description": "Google Hotels scraper that turns any destination into a hotel price table: rates for your dates, star class, guest ratings, taxes and fees, plus the offers of Booking.com, Expedia, Agoda and the hotel's own site with booking links. Address, phone, coordinates, amenities, photos. No account needed.",
    "version": "1.0",
    "x-build-id": "W2x0KHhvLAUngaZqk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~google-hotels-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-google-hotels-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/silentflow~google-hotels-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-google-hotels-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/silentflow~google-hotels-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-google-hotels-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": {
          "searchQueries": {
            "title": "🔍 Destinations or hotels",
            "type": "array",
            "description": "What to search on Google Hotels, one per line. A destination (<code>hotels in Paris</code>, <code>resorts in Bali</code>, <code>hotels near Times Square</code>), a hotel name (<code>Ritz Paris</code>) or the link of a hotel page (<code>https://www.google.com/travel/hotels/entity/...</code>). A destination returns hotels in Google's order, 20 per page, up to several hundred; a hotel name or link returns that hotel alone.",
            "items": {
              "type": "string"
            }
          },
          "checkInDate": {
            "title": "📅 Check-in",
            "type": "string",
            "description": "First night of the stay, as <code>YYYY-MM-DD</code>. Prices, offers and availability are those of this stay. Leave both dates empty to price one night starting tomorrow, computed when the run starts."
          },
          "checkOutDate": {
            "title": "📅 Check-out",
            "type": "string",
            "description": "Departure day, as <code>YYYY-MM-DD</code>, after the check-in. Leave it empty for a one-night stay. Stays of up to 30 nights are priced."
          },
          "maxItems": {
            "title": "🔢 Max hotels",
            "minimum": 1,
            "type": "integer",
            "description": "How many hotels to save in all, across every search. <code>20</code> is one page and takes about ten seconds with the details; <code>200</code> covers a whole city.",
            "default": 50
          },
          "adults": {
            "title": "👤 Adults",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Number of adult guests in the room, 1 to 8. Prices change with the party size.",
            "default": 2
          },
          "currency": {
            "title": "💱 Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CHF",
              "CAD",
              "AUD",
              "NZD",
              "JPY",
              "CNY",
              "HKD",
              "SGD",
              "INR",
              "AED",
              "BRL",
              "MXN",
              "SEK",
              "NOK",
              "DKK",
              "PLN",
              "CZK",
              "TRY",
              "ZAR",
              "THB",
              "KRW"
            ],
            "type": "string",
            "description": "Currency of every price in the output, as Google converts it.",
            "default": "USD"
          },
          "language": {
            "title": "🌐 Language",
            "enum": [
              "en",
              "fr",
              "de",
              "es",
              "it",
              "pt",
              "nl",
              "ja",
              "ko",
              "zh-CN",
              "ar",
              "ru",
              "tr",
              "pl"
            ],
            "type": "string",
            "description": "Language of the descriptions and of the hotel pages Google returns. Amenity names are always in English.",
            "default": "en"
          },
          "includeDetails": {
            "title": "🏨 Include address, taxes and booking offers",
            "type": "boolean",
            "description": "On: every row also carries the street address, the phone, the price breakdown of the stay (base, taxes and fees, total) and the offers of every booking site Google compares (Booking.com, Expedia, Agoda, the hotel's own site...), with their per-night price, total and booking link. One extra read per hotel, about ten seconds per page of 20. Off: the search columns only (name, class, rating, lead price per night, coordinates, photos).",
            "default": true
          },
          "debugMode": {
            "title": "🐞 Debug mode",
            "type": "boolean",
            "description": "Adds detailed lines to the run log. Leave it off for normal runs.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}