{
  "openapi": "3.0.1",
  "info": {
    "title": "Agoda Search Scraper",
    "description": "Scrape Agoda search results for any destination and dates. Just add a city, area or Agoda URL and get every property with nightly and stay prices with and without tax, review score, stars, coordinates, cancellation deadline, pay-later, breakfast and rooms left. $4.00 per 1,000 properties.",
    "version": "1.0",
    "x-build-id": "OuSW9Wzd9eTof74qW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/boncross~agoda-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-boncross-agoda-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~agoda-search/runs": {
      "post": {
        "operationId": "runs-sync-boncross-agoda-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~agoda-search/run-sync": {
      "post": {
        "operationId": "run-sync-boncross-agoda-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",
        "required": [
          "destinations"
        ],
        "properties": {
          "destinations": {
            "title": "Destinations",
            "type": "array",
            "description": "Where to search: a city (\"Paris\", \"Bangkok\"), an area or district (\"Times Square\", \"Sukhumvit\"), or a landmark (\"Eiffel Tower\"), by name; an Agoda city id; or an Agoda search URL copied from your browser: city, area and landmark searches all work, and a URL's own dates and guests are used for it.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerDestination": {
            "title": "Max results per destination",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many properties per destination. Agoda gives up to 100 per request and big cities have thousands.",
            "default": 100
          },
          "maxItems": {
            "title": "Maximum results for the whole run",
            "minimum": 0,
            "type": "integer",
            "description": "A run-wide ceiling across every target. The per-target limit above applies to each one separately, so ten targets at 50 each returns 500; set this to cap the total. Zero means no run-wide limit. Rows that report an input the actor could not resolve are not counted here and are never charged for.",
            "default": 0
          },
          "checkIn": {
            "title": "Check-in date",
            "type": "string",
            "description": "Check-in date as YYYY-MM-DD. Leave empty to use the days-ahead field instead. The lowercase spelling checkin still works.",
            "default": ""
          },
          "checkOut": {
            "title": "Check-out date",
            "type": "string",
            "description": "Check-out date as YYYY-MM-DD. Leave empty to use Nights. The lowercase spelling checkout still works.",
            "default": ""
          },
          "checkInDaysAhead": {
            "title": "Check-in days ahead",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "How many days from today to check in. Only used when Check-in is empty. Handy for schedules.",
            "default": 30
          },
          "nights": {
            "title": "Nights",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Length of stay. Only used when Check-out is empty.",
            "default": 2
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Adults per room.",
            "default": 2
          },
          "childrenAges": {
            "title": "Children (ages)",
            "type": "array",
            "description": "One age per child.",
            "default": []
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "How many rooms.",
            "default": 1
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "recommended",
              "price_low_to_high",
              "review_score",
              "price_high_to_low",
              "stars_high_to_low",
              "stars_low_to_high",
              "distance_from_center"
            ],
            "type": "string",
            "description": "Agoda's own orderings. \"Closest to the centre first\" puts properties inside Agoda's city-centre zone first, then the rest by distance from it.",
            "default": "recommended"
          },
          "stars": {
            "title": "Star ratings",
            "type": "array",
            "description": "Keep only these star classes. Agoda Luxe is Agoda's own label for top-rated luxury stays. Applied by Agoda.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "luxe"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars",
                "Agoda Luxe"
              ]
            },
            "default": []
          },
          "accommodationTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Keep only these property types. Applied by Agoda.",
            "items": {
              "type": "string",
              "enum": [
                "hotel",
                "apartment",
                "entire_house",
                "guesthouse",
                "bed_and_breakfast",
                "guest_house",
                "hostel",
                "capsule",
                "villa",
                "resort",
                "resort_villa",
                "serviced_apartment",
                "inn",
                "ryokan",
                "motel",
                "homestay",
                "lodge",
                "chalet",
                "country_house",
                "bungalow",
                "holiday_park",
                "love_hotel",
                "boat",
                "tent",
                "riad",
                "minsu",
                "houseboat",
                "loft",
                "townhouse",
                "yurt"
              ],
              "enumTitles": [
                "Hotel",
                "Apartment/Flat",
                "Entire House",
                "Guesthouse/bed and breakfast",
                "Bed & Breakfast",
                "Guest House",
                "Hostel",
                "Capsule hotel",
                "Villa",
                "Resort",
                "Resort villa",
                "Serviced apartment",
                "Inn",
                "Ryokan",
                "Motel",
                "Homestay",
                "Lodge",
                "Chalet",
                "Country house",
                "Entire bungalow",
                "Holiday park/caravan park",
                "Love hotel",
                "Boat/cruise",
                "Tent",
                "Riad",
                "Minsu",
                "Houseboat",
                "Loft",
                "Townhouse",
                "Yurt"
              ]
            },
            "default": []
          },
          "distanceToCenter": {
            "title": "Distance to center",
            "type": "array",
            "description": "Keep only properties this far from the city centre. Choose several to combine them.",
            "items": {
              "type": "string",
              "enum": [
                "inside",
                "under_2km",
                "from_2_to_5km",
                "from_5_to_10km",
                "over_10km"
              ],
              "enumTitles": [
                "Inside city center",
                "<2 km to center",
                "2-5 km to center",
                "5-10 km to center",
                ">10 km to center"
              ]
            },
            "default": []
          },
          "paymentOptions": {
            "title": "Payment options",
            "type": "array",
            "description": "Keep only properties offering these ways to pay. Free cancellation is also available on its own below.",
            "items": {
              "type": "string",
              "enum": [
                "free_cancellation",
                "pay_later",
                "pay_at_hotel",
                "no_credit_card",
                "pay_now"
              ],
              "enumTitles": [
                "Free cancellation",
                "Book now, pay later",
                "Pay at the hotel",
                "Book without credit card",
                "Pay now"
              ]
            },
            "default": []
          },
          "roomOffers": {
            "title": "Room offers",
            "type": "array",
            "description": "Keep only properties with a room offer including these.",
            "items": {
              "type": "string",
              "enum": [
                "breakfast",
                "lunch",
                "dinner",
                "early_check_in",
                "late_check_out",
                "airport_transfer",
                "free_shuttle",
                "free_sauna",
                "complimentary_snacks",
                "afternoon_tea",
                "car_rental",
                "massage",
                "gluten_free",
                "halal",
                "kids_menu",
                "vegan",
                "vegetarian"
              ],
              "enumTitles": [
                "Breakfast included",
                "Lunch included",
                "Dinner included",
                "Early check-in",
                "Late check-out",
                "Airport transfer",
                "Free shuttle service",
                "Free sauna access",
                "Complimentary snacks",
                "Afternoon tea",
                "Car rental",
                "Full body massage",
                "Gluten-free",
                "Halal",
                "Kids' menu",
                "Vegan",
                "Vegetarian"
              ]
            },
            "default": []
          },
          "propertyFacilities": {
            "title": "Property facilities",
            "type": "array",
            "description": "Keep only properties with these facilities.",
            "items": {
              "type": "string",
              "enum": [
                "internet",
                "car_park",
                "airport_transfer",
                "gym",
                "front_desk_24h",
                "family_friendly",
                "non_smoking",
                "spa_sauna",
                "restaurants",
                "smoking_area",
                "pets_allowed",
                "nightclub",
                "swimming_pool",
                "disabled_facilities",
                "business_facilities",
                "golf_course"
              ],
              "enumTitles": [
                "Internet",
                "Car park",
                "Airport transfer",
                "Gym/fitness",
                "Front desk [24-hour]",
                "Family/child friendly",
                "Non-smoking",
                "Spa/sauna",
                "Restaurants",
                "Smoking area",
                "Pets allowed",
                "Nightclub",
                "Swimming pool",
                "Facilities for disabled guests",
                "Business facilities",
                "Golf course [on-site]"
              ]
            },
            "default": []
          },
          "roomAmenities": {
            "title": "Room amenities",
            "type": "array",
            "description": "Keep only properties with a room that has these amenities.",
            "items": {
              "type": "string",
              "enum": [
                "refrigerator",
                "heating",
                "bathtub",
                "tv",
                "air_conditioning",
                "washing_machine",
                "coffee_tea_maker",
                "internet_access",
                "kitchen",
                "ironing",
                "balcony_terrace",
                "private_pool",
                "pets_allowed_in_room"
              ],
              "enumTitles": [
                "Refrigerator",
                "Heating",
                "Bathtub",
                "TV",
                "Air conditioning",
                "Washing machine",
                "Coffee/tea maker",
                "Internet access",
                "Kitchen",
                "Ironing facilities",
                "Balcony/terrace",
                "Private pool",
                "Pets allowed in room"
              ]
            },
            "default": []
          },
          "bedTypes": {
            "title": "Bed type",
            "type": "array",
            "description": "Keep only properties with a room with one of these beds.",
            "items": {
              "type": "string",
              "enum": [
                "double",
                "single_twin",
                "queen",
                "king",
                "bunk_bed"
              ],
              "enumTitles": [
                "Double",
                "Single/twin",
                "Queen",
                "King",
                "Bunk bed"
              ]
            },
            "default": []
          },
          "goodFor": {
            "title": "Good for",
            "type": "array",
            "description": "Agoda's \"Looking for something special?\" labels.",
            "items": {
              "type": "string",
              "enum": [
                "families",
                "groups",
                "workation",
                "pets"
              ],
              "enumTitles": [
                "Great for Families",
                "Great for Groups",
                "Workation Friendly",
                "Pets Allowed"
              ]
            },
            "default": []
          },
          "minLocationScore": {
            "title": "Minimum location rating",
            "enum": [
              "any",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Keep only properties whose guests rate the location at least this well.",
            "default": "any"
          },
          "excellentFor": {
            "title": "Rated excellent for",
            "type": "array",
            "description": "Agoda's \"Excellent …\" review filters: keep only properties whose guests rate them 8 or more for each aspect ticked. Ticking several means all of them.",
            "items": {
              "type": "string",
              "enum": [
                "cleanliness",
                "service",
                "value_for_money",
                "location",
                "facilities",
                "room_quality"
              ],
              "enumTitles": [
                "Excellent cleanliness",
                "Excellent service",
                "Excellent value for money",
                "Excellent location",
                "Excellent facilities",
                "Excellent room quality"
              ]
            },
            "default": []
          },
          "kidsStayFree": {
            "title": "Kids stay for free",
            "type": "boolean",
            "description": "Keep only properties where children stay free. Add the children's ages under Dates and guests, or there is no child for it to apply to.",
            "default": false
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Keep only homes and apartments with at least this many bedrooms. 0 turns it off.",
            "default": 0
          },
          "minBathrooms": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Keep only properties with at least this many bathrooms. 0 turns it off.",
            "default": 0
          },
          "minBeds": {
            "title": "Minimum beds",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Keep only properties with at least this many beds. 0 turns it off.",
            "default": 0
          },
          "hotelBrands": {
            "title": "Hotel brands",
            "type": "array",
            "description": "Keep only these hotel brands, by name (\"APA Hotels\", \"Toyoko Inn\") as Agoda lists them for the destination. A name that matches no brand there is reported in the log.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "hotelName": {
            "title": "Property name contains",
            "type": "string",
            "description": "Keep only properties whose name contains this text, as Agoda's own name search box matches it (any part of the name, upper or lower case).",
            "default": ""
          },
          "includeNearbySuggestions": {
            "title": "Include nearby suggestions",
            "type": "boolean",
            "description": "When fewer properties match than a page holds, Agoda adds suggestions that do not match your search, such as places in a neighbouring town. They are left out by default. Switch this on to include them, marked isOutsideSearch.",
            "default": false
          },
          "productType": {
            "title": "Hotels or homes",
            "enum": [
              "all",
              "hotels",
              "homes"
            ],
            "type": "string",
            "description": "all, hotels, or homes for Agoda Homes rentals.",
            "default": "all"
          },
          "minReviewScore": {
            "title": "Minimum guest score (0–10)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Minimum Agoda score out of 10. From 6 upwards Agoda applies it as a band (6 Good, 7 Very good, 8 Excellent, 9 Exceptional) and the actor then applies the exact number. 0 turns it off.",
            "default": 0
          },
          "minReviewCount": {
            "title": "Minimum review count",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of reviews. 0 turns it off.",
            "default": 0
          },
          "freeCancellationOnly": {
            "title": "Free cancellation only",
            "type": "boolean",
            "description": "Only properties whose cheapest offer is refundable. Applied by Agoda.",
            "default": false
          },
          "breakfastOnly": {
            "title": "Breakfast included only",
            "type": "boolean",
            "description": "Only properties whose cheapest offer includes breakfast.",
            "default": false
          },
          "minPricePerNight": {
            "title": "Minimum price per room per night",
            "minimum": 0,
            "type": "number",
            "description": "In the selected currency. 0 turns it off.",
            "default": 0
          },
          "maxPricePerNight": {
            "title": "Maximum price per room per night",
            "minimum": 0,
            "type": "number",
            "description": "In the selected currency. 0 turns it off.",
            "default": 0
          },
          "excludeSponsored": {
            "title": "Exclude sponsored listings",
            "type": "boolean",
            "description": "Drop Agoda's paid placements.",
            "default": false
          },
          "onlyAvailable": {
            "title": "Only available properties",
            "type": "boolean",
            "description": "Drop properties that are sold out or unpriced for the dates.",
            "default": true
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "ISO currency code. Agoda quotes in it directly.",
            "default": "USD"
          },
          "priceStoreName": {
            "title": "Price memory store",
            "type": "string",
            "description": "Name of a key-value store. The actor remembers each property's nightly price for the dates, occupancy and currency, and fills previousPricePerNight and priceChange on the next run.",
            "default": ""
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed prices",
            "type": "boolean",
            "description": "With a price store set, skip properties whose price has not moved. Skipped properties are not charged.",
            "default": false
          },
          "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": 8
          },
          "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
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}