{
  "openapi": "3.0.1",
  "info": {
    "title": "Despegar Reviews Scraper | Hotel Reviews and Ratings",
    "description": "Despegar reviews scraper for Decolar and every Despegar site: 100 hotel reviews in 1 second, 31 fields each. Paste a hotel link, name or id and get rating, liked and disliked text, trip type, reviewer country, helpful votes, hotel city and country, plus the hotel category scores. No login needed.",
    "version": "1.0",
    "x-build-id": "pOSlm3MPD6Qqgsf5x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~despegar-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-despegar-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/silentflow~despegar-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-despegar-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/silentflow~despegar-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-despegar-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": "🔗 Hotel links",
            "type": "array",
            "description": "Hotel pages copied from any Despegar country site or from Decolar: <code>https://www.despegar.com.ar/hoteles/h-352691/bluebay-grand-esmeralda-all-inclusive-riviera+maya</code>, <code>https://www.despegar.com.mx/hoteles/h-986864/...</code>, <code>https://www.decolar.com/hoteis/h-231501/copacabana-palace-rio+de+janeiro</code>, <code>https://www.us.despegar.com/hotels/h-352691/...</code>. Search parameters after <code>?</code> are fine. A link also gives the hotel's name, city and country.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searches": {
            "title": "🔎 Hotel names",
            "type": "array",
            "description": "No link at hand? Type the hotel as you would in the Despegar search box, one per line: <code>Copacabana Palace</code>, <code>Riu Palace Las Americas</code>, <code>Sheraton Buenos Aires</code>. Each name reads the best matching hotel that has reviews. A city name alone gives the hotel whose name holds it, not every hotel of the city.",
            "items": {
              "type": "string"
            }
          },
          "hotelIds": {
            "title": "🆔 Hotel ids",
            "type": "array",
            "description": "Despegar hotel ids, the number after <code>/h-</code> in a hotel link: <code>352691</code>, <code>h-231501</code> or <code>HOT_242179</code>. The same id works on every country site. Rows from an id carry the hotel's rating but not its name; paste the link to get the name too.",
            "items": {
              "type": "string"
            }
          },
          "maxReviews": {
            "title": "🔢 Max reviews per hotel",
            "minimum": 1,
            "type": "integer",
            "description": "How many reviews to save for each hotel, each one a row. Despegar shows up to about 950 written reviews for its biggest hotels. 100 reviews take a couple of seconds; set the number you actually need.",
            "default": 100
          },
          "sortBy": {
            "title": "🔽 Sort reviews by",
            "enum": [
              "newest",
              "relevance",
              "highest",
              "lowest"
            ],
            "type": "string",
            "description": "<b>Newest first</b> is the order to schedule: with a cutoff date, the run stops at the first older review. <b>Most relevant</b> is the order Despegar shows on the hotel page. The two rating orders start with the best or the worst reviews.",
            "default": "newest"
          },
          "travelerType": {
            "title": "👥 Traveler type",
            "enum": [
              "all",
              "couple",
              "family",
              "friends",
              "businessTrip",
              "singles"
            ],
            "type": "string",
            "description": "Keep the reviews of one kind of trip, as guests declared it. Reviews Despegar takes from Expedia have no traveler type and are left out by this filter.",
            "default": "all"
          },
          "cutoffDate": {
            "title": "📅 Reviews since",
            "type": "string",
            "description": "Only keep the reviews from this month on: <code>2025-01</code>, a day such as <code>2025-01-31</code> (its whole month counts, Despegar dates reviews by month), or an age such as <code>6 months</code> for a monthly schedule. Leave empty for every review."
          },
          "sources": {
            "title": "🏷️ Review sources",
            "type": "array",
            "description": "Despegar's own verified guests, the reviews it shows from Expedia, or both. Expedia reviews appear mostly on hotels outside Latin America and have one text instead of liked and disliked parts.",
            "items": {
              "type": "string",
              "enum": [
                "despegar",
                "expedia"
              ],
              "enumTitles": [
                "Despegar verified guests",
                "Expedia"
              ]
            },
            "default": [
              "despegar",
              "expedia"
            ]
          },
          "language": {
            "title": "🌐 Review language",
            "type": "string",
            "description": "<code>pt</code> gets Despegar's Portuguese translations of Spanish reviews, as Decolar shows them; <code>es</code> and <code>en</code> keep most texts as written. The <code>language</code> column says the language of each text. Leave empty to follow the site of each link: Portuguese for Decolar, English for the US site, Spanish otherwise. Codes, three-letter codes and names are all read (<code>pt</code>, <code>por</code>, <code>Portuguese</code>)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}