KAYAK Flight Scraper
Pricing
from $0.90 / 1,000 results
Go to Apify Store
KAYAK Flight Scraper
[💰 $0.90 / 1K] Extract live KAYAK flight prices, schedules, airlines, stops, providers, and booking links as normalized Dataset records.
KAYAK Flight Scraper
Pricing
from $0.90 / 1,000 results
[💰 $0.90 / 1K] Extract live KAYAK flight prices, schedules, airlines, stops, providers, and booking links as normalized Dataset records.
You can access the KAYAK Flight 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 API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.7", "x-build-id": "COKzzod9kCXyov5Z7" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/fetchfinch~kayak-flight-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-fetchfinch-kayak-flight-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/fetchfinch~kayak-flight-scraper/runs": { "post": { "operationId": "runs-sync-fetchfinch-kayak-flight-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/fetchfinch~kayak-flight-scraper/run-sync": { "post": { "operationId": "run-sync-fetchfinch-kayak-flight-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": { "startUrl": { "title": "KAYAK flight URL", "type": "string", "description": "Optional complete KAYAK /flights/... URL. When supplied, route, dates, sorting, and supported URL settings are read from it." }, "url": { "title": "KAYAK flight URL (alias)", "type": "string", "description": "Alias for startUrl; accepts a complete KAYAK /flights/... URL." }, "origin": { "title": "Origin", "type": "string", "description": "Three-letter airport or metro code, for example PRG.", "default": "PRG" }, "destination": { "title": "Destination", "type": "string", "description": "Three-letter airport or metro code, for example PAR.", "default": "PAR" }, "departureDate": { "title": "Departure date", "type": "string", "description": "Departure date in YYYY-MM-DD format. If omitted, the Actor uses a date 30 days from today." }, "returnDate": { "title": "Return date", "type": "string", "description": "Optional return date in YYYY-MM-DD format." }, "adults": { "title": "Adults", "minimum": 1, "maximum": 9, "type": "integer", "description": "Number of adult passengers.", "default": 1 }, "sort": { "title": "Sort order", "enum": [ "bestflight_a", "price_a", "duration_a", "departure_a", "arrival_a" ], "type": "string", "description": "KAYAK result ordering." }, "cabinClass": { "title": "Cabin class", "enum": [ "economy", "premium_economy", "business", "first" ], "type": "string", "description": "Optional cabin class applied to every leg." }, "stops": { "title": "Stops", "minimum": 0, "maximum": 2, "type": "integer", "description": "Optional KAYAK stop filter: 0 nonstop, 1 up to one stop, 2 two or more stops." }, "airlines": { "title": "Airlines", "type": "string", "description": "Optional comma-separated airline IATA codes, for example FR,AF." }, "children": { "title": "Children", "minimum": 0, "maximum": 15, "type": "integer", "description": "Number of children aged 2–11. Supply one matching age in childAges for each child.", "default": 0 }, "childAges": { "title": "Child ages", "type": "array", "description": "One age from 2 to 11 for each child; KAYAK uses these ages for fare eligibility.", "items": { "type": "integer", "minimum": 2, "maximum": 11 } }, "infants": { "title": "Infants on lap", "minimum": 0, "maximum": 9, "type": "integer", "description": "Number of infants under 2 travelling on an adult’s lap. Encoded to KAYAK as INL.", "default": 0 }, "directOnly": { "title": "Direct flights only", "type": "boolean", "description": "Limit results to nonstop flights." }, "maxResults": { "title": "Maximum results", "minimum": 1, "maximum": 500, "type": "integer", "description": "Alias for results_wanted: maximum normalized itinerary records to write." }, "results_wanted": { "title": "Results wanted", "minimum": 1, "maximum": 500, "type": "integer", "description": "Maximum normalized itineraries to return. Fetches additional KAYAK result pages when needed." }, "max_pages": { "title": "Maximum result pages", "minimum": 1, "maximum": 20, "type": "integer", "description": "Maximum KAYAK result pages to request, including the initial page, up to 20.", "default": 1 }, "includeRaw": { "title": "Include raw result", "type": "boolean", "description": "Include the original KAYAK result object alongside normalized fields.", "default": false }, "pollIntervalMs": { "title": "Poll interval (ms)", "minimum": 1000, "maximum": 10000, "type": "integer", "description": "Delay between progressive result polls.", "default": 2500 }, "maxPolls": { "title": "Maximum polls", "minimum": 1, "maximum": 30, "type": "integer", "description": "Maximum progressive polls before the run fails as incomplete.", "default": 12 }, "saveRawResponse": { "title": "Save raw response", "type": "boolean", "description": "Save the final raw KAYAK response as SEARCH_RESPONSE in the default key-value store.", "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 Flight 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: