{
  "openapi": "3.0.1",
  "info": {
    "title": "Agoda Hotel Scraper",
    "description": "Scrape Agoda hotel search results, property details, live prices, room availability, and guest reviews. Extract structured hotel data for travel research, market analysis, pricing comparison, lead generation, and competitor monitoring.",
    "version": "0.1",
    "x-build-id": "4xM9GSmXQvZGBo0ke"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlio~agoda-hotel-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlio-agoda-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/crawlio~agoda-hotel-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlio-agoda-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/crawlio~agoda-hotel-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlio-agoda-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "property",
              "reviews"
            ],
            "type": "string",
            "description": "Choose what to extract from Agoda.",
            "default": "search"
          },
          "search": {
            "title": "Hotel search input",
            "type": "object",
            "description": "Configure settings for Agoda hotel search.",
            "properties": {
              "query": {
                "title": "Destination query",
                "type": "string",
                "description": "Destination name to resolve automatically, such as Kuala Lumpur or Bangkok.",
                "default": "Kuala Lumpur",
                "editor": "textfield"
              },
              "cityId": {
                "title": "City ID (Optional)",
                "type": "integer",
                "description": "Agoda city ID. Use this if you already know the destination ID.",
                "editor": "number"
              },
              "checkIn": {
                "title": "Check-in",
                "type": "string",
                "description": "Check-in date in YYYY-MM-DD format. Leave empty to use an automatic upcoming date.",
                "default": "",
                "editor": "datepicker"
              },
              "checkOut": {
                "title": "Check-out",
                "type": "string",
                "description": "Check-out date in YYYY-MM-DD format. Leave empty to use an automatic upcoming date.",
                "default": "",
                "editor": "datepicker"
              },
              "adults": {
                "title": "Adults",
                "type": "integer",
                "description": "Number of adult guests.",
                "default": 2,
                "minimum": 1,
                "maximum": 20,
                "editor": "number"
              },
              "children": {
                "title": "Children",
                "type": "integer",
                "description": "Number of child guests.",
                "default": 0,
                "minimum": 0,
                "maximum": 10,
                "editor": "number"
              },
              "childAges": {
                "title": "Children ages",
                "type": "string",
                "description": "Comma-separated child ages, for example 4,8. Leave empty when Children is 0.",
                "default": "",
                "editor": "textfield"
              },
              "rooms": {
                "title": "Rooms",
                "type": "integer",
                "description": "Number of rooms.",
                "default": 1,
                "minimum": 1,
                "maximum": 8,
                "editor": "number"
              },
              "limit": {
                "title": "Limit",
                "type": "integer",
                "description": "Maximum unique hotel results to return.",
                "default": 20,
                "minimum": 1,
                "maximum": 1000,
                "editor": "number"
              },
              "offset": {
                "title": "Offset",
                "type": "integer",
                "description": "Skip this many unique hotel results before returning data.",
                "default": 0,
                "minimum": 0,
                "maximum": 5000,
                "editor": "number"
              },
              "propertyType": {
                "title": "Property type",
                "type": "string",
                "description": "Filter results by Agoda property type.",
                "default": "any",
                "enum": [
                  "any",
                  "hotel",
                  "apartment_flat",
                  "serviced_apartment",
                  "guesthouse_bed_breakfast",
                  "resort"
                ],
                "enumTitles": [
                  "Any",
                  "Hotel",
                  "Apartment / Flat",
                  "Serviced apartment",
                  "Guesthouse / Bed and breakfast",
                  "Resort"
                ],
                "editor": "select"
              },
              "starRatingMin": {
                "title": "Minimum star rating",
                "type": "string",
                "description": "Minimum Agoda star rating.",
                "enum": [
                  "0",
                  "3",
                  "3.5",
                  "4",
                  "4.5",
                  "5"
                ],
                "enumTitles": [
                  "Any",
                  "3+",
                  "3.5+",
                  "4+",
                  "4.5+",
                  "5"
                ],
                "default": "0",
                "editor": "select"
              },
              "reviewScoreMin": {
                "title": "Minimum review score",
                "type": "string",
                "description": "Minimum Agoda guest review score.",
                "enum": [
                  "0",
                  "6",
                  "7",
                  "8",
                  "9"
                ],
                "enumTitles": [
                  "Any",
                  "6+ Good",
                  "7+ Very good",
                  "8+ Excellent",
                  "9+ Exceptional"
                ],
                "default": "0",
                "editor": "select"
              },
              "cityCenterDistance": {
                "title": "Distance from city center",
                "type": "string",
                "description": "Filter by Agoda city center distance buckets.",
                "default": "any",
                "enum": [
                  "any",
                  "inside_city_center",
                  "lt_2km",
                  "2_to_5km",
                  "5_to_10km",
                  "gt_10km"
                ],
                "enumTitles": [
                  "Any",
                  "Inside city center",
                  "<2 km to center",
                  "2-5 km to center",
                  "5-10 km to center",
                  ">10 km to center"
                ],
                "editor": "select"
              },
              "freeCancellation": {
                "title": "Free cancellation",
                "type": "boolean",
                "description": "Only show properties with Agoda free cancellation offers.",
                "default": false,
                "editor": "checkbox"
              },
              "payAtHotel": {
                "title": "Pay at hotel",
                "type": "boolean",
                "description": "Only show properties that support pay-at-hotel payment.",
                "default": false,
                "editor": "checkbox"
              },
              "bookNowPayLater": {
                "title": "Book now, pay later",
                "type": "boolean",
                "description": "Only show properties with Agoda book-now-pay-later offers.",
                "default": false,
                "editor": "checkbox"
              },
              "bookWithoutCreditCard": {
                "title": "Book without credit card",
                "type": "boolean",
                "description": "Only show properties that can be booked without a credit card.",
                "default": false,
                "editor": "checkbox"
              },
              "payNow": {
                "title": "Pay now",
                "type": "boolean",
                "description": "Only show properties that support pay-now payment.",
                "default": false,
                "editor": "checkbox"
              },
              "breakfastIncluded": {
                "title": "Breakfast included",
                "type": "boolean",
                "description": "Only show properties with breakfast-included room offers.",
                "default": false,
                "editor": "checkbox"
              },
              "outsideFoodDeliveryAllowed": {
                "title": "Outside food delivery allowed",
                "type": "boolean",
                "description": "Only show properties that allow outside food delivery.",
                "default": false,
                "editor": "checkbox"
              },
              "earlyCheckIn": {
                "title": "Early check-in",
                "type": "boolean",
                "description": "Only show properties with early check-in room benefits.",
                "default": false,
                "editor": "checkbox"
              },
              "dinnerIncluded": {
                "title": "Dinner included",
                "type": "boolean",
                "description": "Only show properties with dinner-included room offers.",
                "default": false,
                "editor": "checkbox"
              },
              "swimmingPool": {
                "title": "Swimming pool",
                "type": "boolean",
                "description": "Only show properties that have a swimming pool facility.",
                "default": false,
                "editor": "checkbox"
              },
              "internet": {
                "title": "Internet",
                "type": "boolean",
                "description": "Only show properties that provide internet access.",
                "default": false,
                "editor": "checkbox"
              },
              "parking": {
                "title": "Parking",
                "type": "boolean",
                "description": "Only show properties that provide parking.",
                "default": false,
                "editor": "checkbox"
              },
              "airportTransfer": {
                "title": "Airport transfer",
                "type": "boolean",
                "description": "Only show properties that offer airport transfer.",
                "default": false,
                "editor": "checkbox"
              },
              "gymFitness": {
                "title": "Gym / fitness",
                "type": "boolean",
                "description": "Only show properties with gym or fitness facilities.",
                "default": false,
                "editor": "checkbox"
              }
            },
            "default": {
              "query": "Kuala Lumpur",
              "checkIn": "",
              "checkOut": "",
              "adults": 2,
              "children": 0,
              "childAges": "",
              "rooms": 1,
              "limit": 20,
              "offset": 0,
              "propertyType": "any",
              "starRatingMin": "0",
              "reviewScoreMin": "0",
              "cityCenterDistance": "any"
            },
            "additionalProperties": false
          },
          "property": {
            "title": "Property details input",
            "type": "object",
            "description": "Configure settings for a single Agoda property.",
            "properties": {
              "propertyId": {
                "title": "Property ID (Optional)",
                "type": "integer",
                "description": "Agoda property ID. Use either Property ID or Property URL.",
                "default": 87219375,
                "editor": "number"
              },
              "propertyUrl": {
                "title": "Property URL (Optional)",
                "type": "string",
                "description": "Agoda property URL. Use either Property ID or Property URL.",
                "default": "",
                "editor": "textfield"
              },
              "checkIn": {
                "title": "Check-in",
                "type": "string",
                "description": "Check-in date in YYYY-MM-DD format. Leave empty to use an automatic upcoming date.",
                "default": "",
                "editor": "datepicker"
              },
              "checkOut": {
                "title": "Check-out",
                "type": "string",
                "description": "Check-out date in YYYY-MM-DD format. Leave empty to use an automatic upcoming date.",
                "default": "",
                "editor": "datepicker"
              },
              "adults": {
                "title": "Adults",
                "type": "integer",
                "description": "Number of adult guests.",
                "default": 2,
                "minimum": 1,
                "maximum": 20,
                "editor": "number"
              },
              "children": {
                "title": "Children",
                "type": "integer",
                "description": "Number of child guests.",
                "default": 0,
                "minimum": 0,
                "maximum": 10,
                "editor": "number"
              },
              "childAges": {
                "title": "Children ages",
                "type": "string",
                "description": "Comma-separated child ages, for example 4,8. Leave empty when Children is 0.",
                "default": "",
                "editor": "textfield"
              },
              "rooms": {
                "title": "Rooms",
                "type": "integer",
                "description": "Number of rooms.",
                "default": 1,
                "minimum": 1,
                "maximum": 8,
                "editor": "number"
              },
              "enrichPricing": {
                "title": "Enrich pricing",
                "type": "boolean",
                "description": "Fetch richer room pricing details such as room IDs, supplier IDs, benefits, cashback, and occupancy info.",
                "default": false,
                "editor": "checkbox"
              }
            },
            "default": {
              "propertyId": 87219375,
              "propertyUrl": "",
              "checkIn": "",
              "checkOut": "",
              "adults": 2,
              "children": 0,
              "childAges": "",
              "rooms": 1,
              "enrichPricing": false
            },
            "additionalProperties": false
          },
          "reviews": {
            "title": "Property reviews input",
            "type": "object",
            "description": "Configure settings for Agoda property reviews.",
            "properties": {
              "propertyId": {
                "title": "Property ID (Optional)",
                "type": "integer",
                "description": "Agoda property ID. Use either Property ID or Property URL.",
                "default": 61727253,
                "editor": "number"
              },
              "propertyUrl": {
                "title": "Property URL (Optional)",
                "type": "string",
                "description": "Agoda property URL. Use either Property ID or Property URL.",
                "default": "",
                "editor": "textfield"
              },
              "limit": {
                "title": "Limit",
                "type": "integer",
                "description": "Maximum unique reviews to return.",
                "default": 20,
                "minimum": 1,
                "maximum": 1000,
                "editor": "number"
              },
              "offset": {
                "title": "Offset",
                "type": "integer",
                "description": "Skip this many unique reviews before returning data.",
                "default": 0,
                "minimum": 0,
                "maximum": 5000,
                "editor": "number"
              },
              "sortBy": {
                "title": "Review sort",
                "type": "string",
                "description": "Review sorting mode.",
                "default": "newest",
                "enum": [
                  "newest"
                ],
                "enumTitles": [
                  "Newest"
                ],
                "editor": "select"
              }
            },
            "default": {
              "propertyId": 61727253,
              "propertyUrl": "",
              "limit": 20,
              "offset": 0,
              "sortBy": "newest"
            },
            "additionalProperties": false
          },
          "origin": {
            "title": "Origin country",
            "type": "string",
            "description": "Two-letter Agoda origin country code sent in request headers.",
            "default": "US"
          },
          "languageLocale": {
            "title": "Language locale",
            "type": "string",
            "description": "Agoda language locale header value.",
            "default": "en-us"
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Currency code for prices.",
            "default": "USD"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}