{
  "openapi": "3.0.1",
  "info": {
    "title": "Kayak Flight, Hotel & Cheap Destination Finder",
    "description": "Searches Kayak for flight prices between two cities, cheap destinations from an origin airport, or hotel rates for a stay, with airline, price, duration and booking link per result.",
    "version": "1.0",
    "x-build-id": "pC10E3fvhtVcxxnKW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vexaloom-labs~kayak-flight-hotel-and-cheap-destination-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vexaloom-labs-kayak-flight-hotel-and-cheap-destination-finder",
        "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/vexaloom-labs~kayak-flight-hotel-and-cheap-destination-finder/runs": {
      "post": {
        "operationId": "runs-sync-vexaloom-labs-kayak-flight-hotel-and-cheap-destination-finder",
        "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/vexaloom-labs~kayak-flight-hotel-and-cheap-destination-finder/run-sync": {
      "post": {
        "operationId": "run-sync-vexaloom-labs-kayak-flight-hotel-and-cheap-destination-finder",
        "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": "What do you want to search?",
            "enum": [
              "searchFlights",
              "searchHotels",
              "exploreDeals",
              "byUrls"
            ],
            "type": "string",
            "description": "Search live flights, search live hotel rates, discover cheap destinations from an airport, or scrape specific Kayak URLs.",
            "default": "searchFlights"
          },
          "site": {
            "title": "Kayak site",
            "enum": [
              "kayak.com",
              "kayak.co.uk",
              "kayak.ca",
              "kayak.com.au",
              "kayak.co.in",
              "kayak.co.nz",
              "kayak.ie",
              "kayak.de",
              "kayak.fr",
              "kayak.es",
              "kayak.it",
              "kayak.com.mx",
              "kayak.com.br"
            ],
            "type": "string",
            "description": "Country site used for the search. It determines the currency and point of sale (for example kayak.co.uk returns GBP).",
            "default": "kayak.com"
          },
          "origin": {
            "title": "Origin airport or city",
            "type": "string",
            "description": "Airport or city code to fly from, for example NYC, JFK or New York. Used by flights and cheap-destination modes.",
            "default": "NYC"
          },
          "destination": {
            "title": "Destination airport or city",
            "type": "string",
            "description": "Airport or city code to fly to, for example LON, LHR or London. In hotels mode this is the city or area to stay in.",
            "default": "LON"
          },
          "departDate": {
            "title": "Departure date / check-in",
            "type": "string",
            "description": "Departure date (flights) or check-in date (hotels) in YYYY-MM-DD format. Leave empty for about 30 days from today."
          },
          "returnDate": {
            "title": "Return date / check-out",
            "type": "string",
            "description": "Return date (flights) or check-out date (hotels) in YYYY-MM-DD format. Leave empty for seven days after departure."
          },
          "tripType": {
            "title": "Trip type",
            "enum": [
              "one-way",
              "round-trip"
            ],
            "type": "string",
            "description": "One-way or round-trip flight.",
            "default": "round-trip"
          },
          "cabinClass": {
            "title": "Cabin class",
            "enum": [
              "economy",
              "premium-economy",
              "business",
              "first"
            ],
            "type": "string",
            "description": "Cabin class for the flight search.",
            "default": "economy"
          },
          "adults": {
            "title": "Adults",
            "minimum": 1,
            "maximum": 9,
            "type": "integer",
            "description": "Number of adult travellers (1-9).",
            "default": 1
          },
          "children": {
            "title": "Children (flights)",
            "minimum": 0,
            "maximum": 4,
            "type": "integer",
            "description": "Number of children aged 2-17. Kayak is searched with child ages 8, 10, 12 and 14 for 1-4 children.",
            "default": 0
          },
          "maxStops": {
            "title": "Maximum stops",
            "enum": [
              "any",
              "0",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Limit the number of connections. Applies to flights and cheap-destination searches.",
            "default": "any"
          },
          "airlines": {
            "title": "Airlines",
            "type": "array",
            "description": "Only include these airlines, using two-letter IATA codes such as DL, UA or BA. Leave empty for all airlines.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Minimum price per result in the site currency. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum price per result (fare for flights, nightly rate for hotels) in the site currency."
          },
          "maxDurationMinutes": {
            "title": "Maximum flight duration (minutes)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum outbound flight duration in minutes, for example 720 for 12 hours."
          },
          "redeyeOnly": {
            "title": "Overnight flights only",
            "type": "boolean",
            "description": "Return only overnight (red-eye) itineraries.",
            "default": false
          },
          "alliance": {
            "title": "Airline alliance",
            "enum": [
              "any",
              "STAR_ALLIANCE",
              "ONEWORLD",
              "SKYTEAM"
            ],
            "type": "string",
            "description": "Restrict results to one airline alliance.",
            "default": "any"
          },
          "wifiOnly": {
            "title": "Wi-Fi on board only",
            "type": "boolean",
            "description": "Return only flights that advertise in-flight Wi-Fi.",
            "default": false
          },
          "sortBy": {
            "title": "Sort flights by",
            "enum": [
              "price",
              "duration",
              "departure",
              "arrival",
              "best"
            ],
            "type": "string",
            "description": "Order of flight results.",
            "default": "price"
          },
          "hotelStars": {
            "title": "Hotel stars",
            "type": "array",
            "description": "Only include hotels with these star ratings (1-5). Leave empty for all star ratings.",
            "items": {
              "type": "string"
            }
          },
          "rooms": {
            "title": "Rooms",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Number of hotel rooms (1-8).",
            "default": 1
          },
          "minRating": {
            "title": "Minimum guest rating",
            "enum": [
              "any",
              "6",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Minimum guest review score shown by Kayak.",
            "default": "any"
          },
          "freeCancellation": {
            "title": "Free cancellation",
            "type": "boolean",
            "description": "Only show rates that can be cancelled free of charge.",
            "default": false
          },
          "freeBreakfast": {
            "title": "Free breakfast",
            "type": "boolean",
            "description": "Only show rates that include free breakfast.",
            "default": false
          },
          "freeInternet": {
            "title": "Free internet",
            "type": "boolean",
            "description": "Only show properties with free internet.",
            "default": false
          },
          "freeParking": {
            "title": "Free parking",
            "type": "boolean",
            "description": "Only show properties with free parking.",
            "default": false
          },
          "payLater": {
            "title": "Pay later",
            "type": "boolean",
            "description": "Only show rates that can be paid at the property.",
            "default": false
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "Kayak amenity IDs that must be present, for example wifi, pool, fitness, parking.",
            "items": {
              "type": "string"
            }
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "any",
              "hotel",
              "rental:apartment"
            ],
            "type": "string",
            "description": "Restrict hotel results to hotels or apartment-style rentals.",
            "default": "any"
          },
          "dealsOnly": {
            "title": "Member/private deals only",
            "type": "boolean",
            "description": "Only show properties flagged as having member or private deals.",
            "default": false
          },
          "hotelSortBy": {
            "title": "Sort hotels by",
            "enum": [
              "recommended",
              "price_low",
              "rating",
              "distance",
              "stars"
            ],
            "type": "string",
            "description": "Order of hotel results.",
            "default": "recommended"
          },
          "maxBudget": {
            "title": "Maximum deal price",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "For cheap-destination mode, the maximum round-trip price per person in the site currency."
          },
          "minTripDays": {
            "title": "Minimum trip length (days)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Minimum number of days for an explore deal.",
            "default": 1
          },
          "maxTripDays": {
            "title": "Maximum trip length (days)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum number of days for an explore deal.",
            "default": 30
          },
          "destinationCountry": {
            "title": "Destination country",
            "type": "string",
            "description": "Optional country name or ISO code to keep only deals in that country, for example Spain or ES."
          },
          "urls": {
            "title": "Kayak URLs",
            "type": "array",
            "description": "Flight, hotel or explore URLs copied from your browser, for example https://www.kayak.com/flights/NYC-LON/2026-12-10/2026-12-17.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of records to save across the whole run.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}