{
  "openapi": "3.0.1",
  "info": {
    "title": "Expedia Hotels & Reviews Scraper - 30+ Global Sites",
    "description": "Scrape Expedia hotels with prices, ratings, reviews & amenities from 30+ global sites. Multi-room booking, flexible dates, unlimited hotels & reviews. Ideal for price monitoring, travel platforms & market analysis.\n  $29/month.",
    "version": "0.0",
    "x-build-id": "QGjulacI8ZmWlezvs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~expedia-hotels-scraper-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-expedia-hotels-scraper-pro",
        "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/clearpath~expedia-hotels-scraper-pro/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-expedia-hotels-scraper-pro",
        "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/clearpath~expedia-hotels-scraper-pro/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-expedia-hotels-scraper-pro",
        "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": [
          "location"
        ],
        "properties": {
          "site": {
            "title": "Expedia Site",
            "enum": [
              "www.expedia.com",
              "www.expedia.ca",
              "www.expedia.com.mx",
              "www.expedia.co.uk",
              "www.expedia.ie",
              "www.expedia.fr",
              "www.expedia.de",
              "www.expedia.at",
              "www.expedia.ch",
              "www.expedia.be",
              "www.expedia.nl",
              "www.expedia.it",
              "www.expedia.es",
              "www.expedia.se",
              "www.expedia.no",
              "www.expedia.dk",
              "www.expedia.fi",
              "www.expedia.co.jp",
              "www.expedia.co.kr",
              "www.expedia.com.cn",
              "www.expedia.com.tw",
              "www.expedia.com.hk",
              "www.expedia.com.sg",
              "www.expedia.com.my",
              "www.expedia.co.th",
              "www.expedia.co.id",
              "www.expedia.com.ph",
              "www.expedia.com.vn",
              "www.expedia.co.in",
              "www.expedia.com.au",
              "www.expedia.co.nz",
              "www.expedia.com.br",
              "www.expedia.com.ar"
            ],
            "type": "string",
            "description": "Select Expedia regional site (determines inventory, pricing, and currency)",
            "default": "www.expedia.com"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Destination to search for hotels (e.g., Paris, New York, Tokyo, etc.)"
          },
          "checkIn": {
            "title": "Check-in Date",
            "type": "string",
            "description": "Check-in date (optional - API uses default if omitted)"
          },
          "checkOut": {
            "title": "Check-out Date",
            "type": "string",
            "description": "Check-out date (optional - API uses default if omitted)"
          },
          "numberOfAdults": {
            "title": "Number of Adults",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Number of adults per room (1-8). For children or multiple rooms, see 'Advanced Room Configuration' section below.",
            "default": 2
          },
          "maxResults": {
            "title": "Maximum Hotels",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of hotels to scrape (0 or empty = scrape all results)",
            "default": 100
          },
          "scrapePropertyDetails": {
            "title": "Scrape Property Details",
            "type": "boolean",
            "description": "Fetch detailed property information including exact addresses, GPS coordinates, complete amenities, nearby attractions, and full descriptions. Highly recommended for comprehensive hotel data.",
            "default": true
          },
          "rooms": {
            "title": "Advanced Room Configuration",
            "minItems": 1,
            "maxItems": 8,
            "type": "array",
            "description": "Configure multiple rooms or add children with specific ages. If not specified, uses 'Number of Adults' field above.",
            "items": {
              "type": "object",
              "properties": {
                "adults": {
                  "title": "Adults",
                  "type": "integer",
                  "description": "Number of adults per room (1-8)",
                  "minimum": 1,
                  "maximum": 8
                },
                "children": {
                  "title": "Children",
                  "type": "array",
                  "description": "Children in this room (max 6 per room)",
                  "maxItems": 6,
                  "items": {
                    "type": "object",
                    "properties": {
                      "age": {
                        "title": "Age",
                        "type": "integer",
                        "description": "Child age (0-17)",
                        "minimum": 0,
                        "maximum": 17
                      }
                    },
                    "required": [
                      "age"
                    ]
                  }
                }
              },
              "required": [
                "adults",
                "children"
              ]
            }
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "RECOMMENDED",
              "PRICE_LOW_TO_HIGH",
              "PRICE_HIGH_TO_LOW",
              "DISTANCE",
              "REVIEW",
              "PROPERTY_CLASS"
            ],
            "type": "string",
            "description": "How to sort hotel search results. Default is Expedia's recommended ranking algorithm.",
            "default": "RECOMMENDED"
          },
          "propertyName": {
            "title": "Property Name",
            "type": "string",
            "description": "Filter hotels by property name (e.g., 'Marriot', 'Hilton', 'Hyatt'). Leave empty to show all hotels."
          },
          "showAvailableOnly": {
            "title": "Show Available Only",
            "type": "boolean",
            "description": "Only show hotels with available rooms (filters out sold-out properties)",
            "default": false
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price per night in the selected site's currency (e.g., USD for www.expedia.com, EUR for www.expedia.fr). Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price per night in the selected site's currency (e.g., USD for www.expedia.com, EUR for www.expedia.fr). Leave empty for no maximum."
          },
          "scrapeReviews": {
            "title": "Scrape Reviews",
            "type": "boolean",
            "description": "Fetch hotel reviews (requires additional API calls per hotel)",
            "default": false
          },
          "maxReviews": {
            "title": "Maximum Reviews per Hotel",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum number of reviews to fetch per hotel (0 = fetch all reviews, default = 25)",
            "default": 25
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies for reliable access (Residential proxy strongly recommended to avoid rate limiting)"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}