Kayak Scraper
Pricing
from $3.00 / 1,000 results
Kayak Scraper
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.
Kayak Scraper
Pricing
from $3.00 / 1,000 results
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.
You can access the Kayak Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Kayak Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: