{
  "openapi": "3.0.1",
  "info": {
    "title": "Kayak Scraper",
    "description": "Get structured flight data from Kayak.com including prices, baggage fees, and booking links. Want to avoid OTAs? Filter for airline-only tickets and book direct.",
    "version": "0.0",
    "x-build-id": "l2IhuCqljRs4PtGZm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rural_employee~kayak-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rural_employee-kayak-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/rural_employee~kayak-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rural_employee-kayak-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/rural_employee~kayak-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rural_employee-kayak-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",
        "required": [
          "origin",
          "destination",
          "departure_date"
        ],
        "properties": {
          "airline_direct": {
            "title": "🎫 Airline Tickets Only",
            "type": "boolean",
            "description": "💡 If true, only shows tickets sold directly by the airline — no OTAs like Expedia, Orbitz, or CheapOair. Great for avoiding third-party fees and booking direct.",
            "default": true
          },
          "origin": {
            "title": "🛫 Origin Airport",
            "type": "string",
            "description": "The 3-letter IATA code for the origin airport (e.g., 'JFK')."
          },
          "destination": {
            "title": "🛬 Destination Airport",
            "type": "string",
            "description": "The 3-letter IATA code for the destination airport (e.g., 'LAX')."
          },
          "departure_date": {
            "title": "📅 Departure Date",
            "type": "string",
            "description": "The departure date (YYYY-MM-DD)."
          },
          "return_date": {
            "title": "📅 Return Date",
            "type": "string",
            "description": "The return date for a round trip (YYYY-MM-DD). Leave empty for a one-way trip."
          },
          "adults": {
            "title": "🧑 Adults",
            "minimum": 1,
            "type": "integer",
            "description": "Number of adult passengers (age 12+).",
            "default": 1
          },
          "children": {
            "title": "👦 Children",
            "minimum": 0,
            "type": "integer",
            "description": "Number of child passengers (age 2–11).",
            "default": 0
          },
          "infants": {
            "title": "👶 Infants",
            "minimum": 0,
            "type": "integer",
            "description": "Number of infant passengers (under age 2, lap seat).",
            "default": 0
          },
          "seat": {
            "title": "💺 Cabin Class",
            "enum": [
              "economy",
              "premium economy",
              "business",
              "first"
            ],
            "type": "string",
            "description": "The cabin class to search for.",
            "default": "economy"
          },
          "outbound_flex": {
            "title": "📆 Outbound Date Flexibility",
            "enum": [
              "exact",
              "±1",
              "±2",
              "±3",
              "+1",
              "-1"
            ],
            "type": "string",
            "description": "🔄 How flexibly to search around the outbound departure date. Use ±1/±2/±3 to search across a range of dates.",
            "default": "exact"
          },
          "return_flex": {
            "title": "📆 Return Date Flexibility",
            "enum": [
              "exact",
              "±1",
              "±2",
              "±3",
              "+1",
              "-1"
            ],
            "type": "string",
            "description": "🔄 How flexibly to search around the return date. Only applies to round trips.",
            "default": "exact"
          },
          "stops": {
            "title": "✈️ Max Stops",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "🛑 Maximum number of stops. 0 = nonstop only, 1 = up to 1 stop, 2 = 2 or more stops included. Leave empty to show all."
          },
          "airlines": {
            "title": "✈️ Airlines Filter",
            "type": "array",
            "description": "📋 Only return flights operated by these airlines. Select one or more from the list. Leave empty to include all airlines.",
            "items": {
              "type": "string",
              "enum": [
                "AA",
                "DL",
                "UA",
                "WN",
                "B6",
                "AS",
                "F9",
                "NK",
                "G4",
                "SY",
                "HA",
                "AC",
                "WS",
                "PD",
                "AM",
                "VB",
                "Y4",
                "BA",
                "LH",
                "AF",
                "KL",
                "IB",
                "AZ",
                "SK",
                "AY",
                "LX",
                "OS",
                "SN",
                "TP",
                "EI",
                "VY",
                "U2",
                "FR",
                "W6",
                "TK",
                "PC",
                "LO",
                "BT",
                "A3",
                "EK",
                "QR",
                "EY",
                "GF",
                "WY",
                "ME",
                "MS",
                "ET",
                "KQ",
                "SA",
                "SQ",
                "CX",
                "QF",
                "NZ",
                "JL",
                "NH",
                "KE",
                "OZ",
                "CI",
                "BR",
                "CZ",
                "CA",
                "MU",
                "HU",
                "TG",
                "MH",
                "GA",
                "VN",
                "VJ",
                "AI",
                "UK",
                "6E",
                "SG",
                "PR",
                "LA",
                "G3",
                "AD",
                "AV",
                "CM",
                "HV",
                "DY",
                "VS",
                "TO"
              ],
              "enumTitles": [
                "American Airlines",
                "Delta Air Lines",
                "United Airlines",
                "Southwest Airlines",
                "JetBlue Airways",
                "Alaska Airlines",
                "Frontier Airlines",
                "Spirit Airlines",
                "Allegiant Air",
                "Sun Country Airlines",
                "Hawaiian Airlines",
                "Air Canada",
                "WestJet",
                "Porter Airlines",
                "Aeromexico",
                "VivaAerobus",
                "Volaris",
                "British Airways",
                "Lufthansa",
                "Air France",
                "KLM Royal Dutch Airlines",
                "Iberia",
                "ITA Airways",
                "SAS Scandinavian Airlines",
                "Finnair",
                "Swiss International Air Lines",
                "Austrian Airlines",
                "Brussels Airlines",
                "TAP Air Portugal",
                "Aer Lingus",
                "Vueling",
                "easyJet",
                "Ryanair",
                "Wizz Air",
                "Turkish Airlines",
                "Pegasus Airlines",
                "LOT Polish Airlines",
                "airBaltic",
                "Aegean Airlines",
                "Emirates",
                "Qatar Airways",
                "Etihad Airways",
                "Gulf Air",
                "Oman Air",
                "Middle East Airlines",
                "EgyptAir",
                "Ethiopian Airlines",
                "Kenya Airways",
                "South African Airways",
                "Singapore Airlines",
                "Cathay Pacific",
                "Qantas",
                "Air New Zealand",
                "Japan Airlines",
                "All Nippon Airways",
                "Korean Air",
                "Asiana Airlines",
                "China Airlines",
                "EVA Air",
                "China Southern Airlines",
                "Air China",
                "China Eastern Airlines",
                "Hainan Airlines",
                "Thai Airways",
                "Malaysia Airlines",
                "Garuda Indonesia",
                "Vietnam Airlines",
                "VietJet Air",
                "Air India",
                "Vistara",
                "IndiGo",
                "SpiceJet",
                "Philippine Airlines",
                "LATAM Airlines",
                "GOL Linhas Aéreas",
                "Azul Brazilian Airlines",
                "Avianca",
                "Copa Airlines",
                "Transavia",
                "Norwegian Air Shuttle",
                "Virgin Atlantic",
                "Transavia France"
              ]
            }
          },
          "currency": {
            "title": "💰 Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CAD",
              "AUD",
              "JPY",
              "KRW",
              "SGD",
              "HKD",
              "AED",
              "ARS",
              "BOB",
              "BRL",
              "CHF",
              "CLP",
              "COP",
              "CRC",
              "CZK",
              "DKK",
              "DOP",
              "GTQ",
              "HNL",
              "IDR",
              "ILS",
              "INR",
              "MXN",
              "MYR",
              "NIO",
              "NOK",
              "NZD",
              "PEN",
              "PHP",
              "PLN",
              "RON",
              "SAR",
              "SEK",
              "THB",
              "TRY",
              "TWD",
              "UAH",
              "VND",
              "ZAR"
            ],
            "type": "string",
            "description": "💵 The currency to display prices in (ISO 4217 code).",
            "default": "USD"
          },
          "debug": {
            "title": "🐛 Debug Mode",
            "type": "boolean",
            "description": "🔍 If true, the browser will be visible during the run. Useful for troubleshooting.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}