{
  "openapi": "3.0.1",
  "info": {
    "title": "Agoda Reviews Scraper",
    "description": "[💰$3 / 1K] ⚡ Fast, cheap Agoda reviews scraper. No login, no API key. Hotel reviews from Agoda and Booking.com plus tour and activity reviews, by hotel name or URL. Rating, text, original language, stay dates, traveler and room type, country, photos, hotel replies, category scores.",
    "version": "1.0",
    "x-build-id": "YljrteXumcb9WlvMz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aboo.script~agoda-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aboo.script-agoda-reviews-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/aboo.script~agoda-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-aboo.script-agoda-reviews-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/aboo.script~agoda-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-aboo.script-agoda-reviews-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Agoda hotel pages (`/<hotel>/hotel/<city>.html`), hotel review pages (`/<hotel>/reviews/<city>.html`), search URLs with a selected hotel (`/search?selectedproperty=<id>`) or activity pages (`/activities/detail?activityId=<id>`).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Hotel names",
            "type": "array",
            "description": "Hotel names to look up on Agoda. The first matching hotel is scraped for each name.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum reviews per hotel or activity",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of reviews to scrape per start URL or hotel name. Use 0 for all reviews.",
            "default": 5
          },
          "reviewSources": {
            "title": "Hotel review sources",
            "type": "array",
            "description": "Hotel reviews to scrape: Agoda guest reviews and/or Booking.com reviews shown on Agoda. Booking.com reviews are available for some hotels only. Activity reviews always include every source (TripAdvisor, Viator, ...).",
            "items": {
              "type": "string",
              "enum": [
                "agoda",
                "booking"
              ],
              "enumTitles": [
                "Agoda",
                "Booking.com"
              ]
            },
            "default": [
              "agoda",
              "booking"
            ]
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "mostRecent",
              "mostHelpful",
              "ratingHigh",
              "ratingLow"
            ],
            "type": "string",
            "description": "Review order. For activities, \"Most helpful\" uses the site's default order.",
            "default": "mostRecent"
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Only reviews with at least this rating on Agoda's 1-10 hotel scale. Activity ratings (1-5 stars) are compared at half the value, e.g. 8 keeps activity reviews with 4 or 5 stars."
          },
          "withPhotosOnly": {
            "title": "Only reviews with photos",
            "type": "boolean",
            "description": "Only reviews that include guest photos.",
            "default": false
          },
          "fromDate": {
            "title": "Reviews from date",
            "type": "string",
            "description": "Only reviews written on or after this date (YYYY-MM-DD). With \"Most recent\" order, scraping stops at the first older review."
          },
          "travelerType": {
            "title": "Traveler type (hotels)",
            "enum": [
              "business",
              "couple",
              "solo",
              "familyYoungChildren",
              "familyTeens",
              "group"
            ],
            "type": "string",
            "description": "Only hotel reviews from this type of traveler. Not available for activities."
          },
          "languages": {
            "title": "Review languages (hotels)",
            "type": "array",
            "description": "Only hotel reviews written in these languages. Leave empty for all languages. Not available for activities.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "en-gb",
                "en-au",
                "en-sg",
                "en-in",
                "fr",
                "de",
                "it",
                "es",
                "pt-pt",
                "nl",
                "sv",
                "no",
                "da",
                "fi",
                "pl",
                "hu",
                "bg",
                "ru",
                "tr",
                "he",
                "ar",
                "th",
                "id",
                "ja",
                "ko",
                "zh-cn",
                "zh-hk",
                "zh-tw"
              ],
              "enumTitles": [
                "English",
                "English (United Kingdom)",
                "English (Australia)",
                "English (Singapore)",
                "English (India)",
                "French",
                "German",
                "Italian",
                "Spanish",
                "Portuguese (Portugal)",
                "Dutch",
                "Swedish",
                "Norwegian",
                "Danish",
                "Finnish",
                "Polish",
                "Hungarian",
                "Bulgarian",
                "Russian",
                "Turkish",
                "Hebrew",
                "Arabic",
                "Thai",
                "Indonesian",
                "Japanese",
                "Korean",
                "Chinese (Simplified)",
                "Chinese (Hong Kong)",
                "Chinese (Taiwan)"
              ]
            }
          },
          "includeSummary": {
            "title": "Include hotel rating summary",
            "type": "boolean",
            "description": "Adds one extra item per hotel (reviewType \"hotelSummary\") with scores per category (cleanliness, location, ...), per traveler type and per review source, the score distribution and the most mentioned topics.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}