{
  "openapi": "3.0.1",
  "info": {
    "title": "Agoda Hotels Scraper",
    "description": "Agoda hotels scraper: search by city, area or hotel and get one row per hotel with its price and availability for your dates, with and without taxes, free cancellation, breakfast, guest review score, stars and location. Ask for room offers to get every room and rate on the hotel's page.",
    "version": "0.1",
    "x-build-id": "JHxGng0NcoA2hXQQl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~agoda-hotels-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-agoda-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/dami_studio~agoda-hotels-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-agoda-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/dami_studio~agoda-hotels-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-agoda-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": {
          "destinations": {
            "title": "Destinations",
            "type": "array",
            "description": "Cities or areas to search, one per line: a name as Agoda spells it (Bangkok, Shibuya), an Agoda city ID (9395), or the link of a city search from agoda.com. Each one comes back as a list of hotels with the price for your dates.",
            "items": {
              "type": "string"
            }
          },
          "hotels": {
            "title": "Hotels",
            "type": "array",
            "description": "Specific hotels, one per line: the hotel's link from agoda.com, its Agoda ID (10715), or its name. Each comes back with its details and every room offer for your dates.",
            "items": {
              "type": "string"
            }
          },
          "checkIn": {
            "title": "Check-in date",
            "type": "string",
            "description": "The first night of the stay. Leave it empty for 30 days from today."
          },
          "checkOut": {
            "title": "Check-out date",
            "type": "string",
            "description": "The day you leave. Leave it empty to stay the number of nights below. A stay is at most 30 nights."
          },
          "nights": {
            "title": "Nights",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Used only when Check-out date is empty.",
            "default": 1
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 36,
            "type": "integer",
            "description": "Adults in the party. Prices change with it.",
            "default": 2
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "maximum": 9,
            "type": "integer",
            "description": "Children in the party. Each is priced as 8 years old unless you give their ages below.",
            "default": 0
          },
          "childrenAges": {
            "title": "Children's ages",
            "type": "array",
            "description": "One age per child, 0 to 17. When filled it replaces Children.",
            "items": {
              "type": "string"
            }
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "Rooms to book. Every room needs at least one adult.",
            "default": 1
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "AUD",
              "CAD",
              "NZD",
              "SGD",
              "HKD",
              "JPY",
              "KRW",
              "CNY",
              "TWD",
              "THB",
              "MYR",
              "IDR",
              "PHP",
              "VND",
              "INR",
              "AED",
              "SAR",
              "QAR",
              "KWD",
              "BHD",
              "OMR",
              "ILS",
              "TRY",
              "CHF",
              "SEK",
              "NOK",
              "DKK",
              "PLN",
              "CZK",
              "HUF",
              "RUB",
              "UAH",
              "ZAR",
              "BRL",
              "MXN",
              "ARS",
              "CLP",
              "COP",
              "PEN",
              "EGP",
              "MAD",
              "PKR",
              "BDT",
              "LKR",
              "NPR",
              "MMK",
              "KHR",
              "LAK",
              "MOP",
              "FJD"
            ],
            "type": "string",
            "description": "The currency every price comes back in.",
            "default": "USD"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en-us",
              "en-gb",
              "en-au",
              "de-de",
              "fr-fr",
              "es-es",
              "it-it",
              "nl-nl",
              "pt-pt",
              "pt-br",
              "sv-se",
              "nb-no",
              "da-dk",
              "fi-fi",
              "pl-pl",
              "cs-cz",
              "hu-hu",
              "ro-ro",
              "el-gr",
              "tr-tr",
              "ru-ru",
              "uk-ua",
              "he-il",
              "ar-ae",
              "ja-jp",
              "ko-kr",
              "zh-cn",
              "zh-tw",
              "zh-hk",
              "th-th",
              "vi-vn",
              "id-id",
              "ms-my"
            ],
            "type": "string",
            "description": "The language Agoda answers in: facilities, areas, descriptions and room names, and the hotel's name where Agoda has one in that language.",
            "default": "en-us"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "recommended",
              "price_low_to_high",
              "price_high_to_low",
              "top_guest_ratings",
              "guest_score_low_to_high"
            ],
            "type": "string",
            "description": "The order a destination's hotels come back in, which decides which come first when you cap the results. Lowest guest score first puts hotels with no score yet last, and needs a few hotels per destination: 1 in a small town, about 6 in Bangkok, 8 in Tokyo, 28 in Bali. Ask for fewer and a free note says the number to use.",
            "default": "recommended"
          },
          "starRatings": {
            "title": "Star rating",
            "type": "array",
            "description": "Only hotels with these star ratings. A 4.5 counts as 4.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "minReviewScore": {
            "title": "Minimum guest score",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only hotels whose guest score out of 10 is at least this. Hotels with no score yet are left out."
          },
          "maxReviewScore": {
            "title": "Maximum guest score",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only hotels whose guest score out of 10 is at most this. Hotels with no score yet are left out."
          },
          "minPrice": {
            "title": "Minimum price per night",
            "minimum": 0,
            "type": "integer",
            "description": "Per room per night before taxes, in the currency above."
          },
          "maxPrice": {
            "title": "Maximum price per night",
            "minimum": 0,
            "type": "integer",
            "description": "Per room per night before taxes, in the currency above."
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "all",
              "hotels",
              "homes"
            ],
            "type": "string",
            "description": "Hotels, homes and apartments, or both.",
            "default": "all"
          },
          "freeCancellationOnly": {
            "title": "Free cancellation only",
            "type": "boolean",
            "description": "Only hotels with a room you can cancel for free; the price shown is that room's.",
            "default": false
          },
          "breakfastIncludedOnly": {
            "title": "Breakfast included only",
            "type": "boolean",
            "description": "Only hotels with a room that includes breakfast; the price shown is that room's.",
            "default": false
          },
          "payAtHotelOnly": {
            "title": "Pay at the hotel only",
            "type": "boolean",
            "description": "Only hotels that let you pay at the property.",
            "default": false
          },
          "onlyAvailable": {
            "title": "Only hotels with rooms left",
            "type": "boolean",
            "description": "Leave out hotels that are sold out for your dates. When off, sold-out hotels come back without a price.",
            "default": false
          },
          "includeRoomOffers": {
            "title": "Add details and every room offer",
            "type": "boolean",
            "description": "For destination searches, also read each hotel's own page: description, address, amenities, sub-scores, room types and every room offer with its price and conditions. Slower. Hotels you list above always get this.",
            "default": false
          },
          "includeReviews": {
            "title": "Add guest reviews",
            "type": "boolean",
            "description": "Also get each hotel's guest reviews, newest first, each one as its own row right after its hotel: the score, title and text, what the guest liked and did not, their country, who they travelled with, the room and the nights, and which site the review was left on. Each review is charged $0.0013, on top of the hotel. Hotels you list above get them too. Slower, since each hotel's reviews are a separate read.",
            "default": false
          },
          "reviewsPerHotel": {
            "title": "Reviews per hotel",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many of each hotel's newest reviews to get when Add guest reviews is on, at $0.0013 a review: 20 reviews add $0.026 to a hotel. A hotel with fewer gives what it has, and you pay only for the reviews you get.",
            "default": 20
          },
          "maxResultsPerDestination": {
            "title": "Max hotels per destination",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Hotels to return for each destination, in the order chosen in Sort by.",
            "default": 100
          },
          "maxItems": {
            "title": "Max hotels in total",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "A cap on hotels for the whole run, across every destination and hotel. 0 means no cap beyond the one above.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}