KAYAK Flight Scraper
Pricing
from $0.90 / 1,000 results
KAYAK Flight Scraper
[💰 $0.90 / 1K itineraries] Extract live KAYAK flight prices, schedules, airlines, stops, providers, and booking links as normalized Dataset records.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Fetch Finch
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract live flight search results from KAYAK into clean, structured Apify Dataset records.
The scraper supports both simple structured searches and complete KAYAK flight URLs. Each result includes itinerary details, prices, airlines, stops, providers, booking links, and flight segments where available.
Example tasks
Try the ready-to-run examples:
Features
- One-way and round-trip searches
- Airport and metro-area codes such as
PRGandPAR - Economy, premium economy, business, and first class
- Sort by best, price, duration, departure, or arrival
- Nonstop, stop-count, and airline filters
- Adults-only passenger searches
- Bounded pagination when more results are requested
- Normalized itinerary records ready for analysis, alerts, or downstream automation
- Optional raw KAYAK result objects for advanced use cases
- Automatic fallback to Crawlio's RapidAPI backend when direct KAYAK access fails
Input
You can provide either a complete KAYAK flight URL or structured search fields. When both are supplied, the URL takes precedence.
Structured search
{"origin": "PRG","destination": "PAR","departureDate": "2026-10-24","returnDate": "2026-10-31","adults": 1,"cabinClass": "economy","sort": "bestflight_a","results_wanted": 30,"max_pages": 1}
Complete KAYAK URL
This is useful when you already have a KAYAK search containing filters or settings that are not represented by the structured fields.
{"url": "https://www.kayak.ie/flights/PRG-PAR/2026-10-24/2026-10-31/business?sort=duration_a","results_wanted": 60,"max_pages": 2}
Main input fields
| Field | Description |
|---|---|
origin | Origin airport or metro code. |
destination | Destination airport or metro code. |
departureDate | Departure date in YYYY-MM-DD format. |
returnDate | Optional return date. Omit for one-way searches. |
adults | Number of adult passengers, from 1 to 9. |
backend | auto (default), kayak, or crawlio. auto falls back to Crawlio when direct KAYAK access fails. |
cabinClass | economy, premium_economy, business, or first. |
sort | bestflight_a, price_a, duration_a, departure_a, or arrival_a. |
stops | 0 for nonstop, 1 for up to one stop, or 2 for two or more stops. |
airlines | Optional comma-separated airline IATA codes, such as FR,AF. |
directOnly | Boolean shortcut for a nonstop search. |
results_wanted | Maximum number of normalized results, up to 500. maxResults is an alias. |
max_pages | Maximum KAYAK result pages to request, up to 20. |
includeRaw | Include the original result object in every Dataset item. |
saveRawResponse | Save the final response as SEARCH_RESPONSE in the default Key-Value Store. |
Output
The default Dataset contains one item per normalized itinerary. The most useful fields include:
{"schema_version": "1","source": "kayak.ie","rank": 1,"route": "PRG-PAR","origin": "PRG","destination": "PAR","depart_date": "2026-10-24","return_date": "2026-10-31","trip_type": "roundtrip","provider": "Example provider","price_amount": 123.45,"currency": "EUR","total_duration_minutes": 185,"total_stops": 0,"airlines": "Example Airline","booking_url": "https://www.kayak.ie/...","outbound_departure": "2026-10-24T08:00:00+02:00","outbound_arrival": "2026-10-24T11:05:00+02:00","outbound_duration_minutes": 185,"outbound_stops": 0,"outbound_airlines": "Example Airline","inbound_departure": "2026-10-31T18:00:00+02:00","inbound_arrival": "2026-10-31T21:05:00+02:00","inbound_duration_minutes": 185,"inbound_stops": 0,"inbound_airlines": "Example Airline","booking_options": [],"legs": []}
The exact providers, prices, schedules, and available booking options depend on the search and can change after the run. The Dataset also contains search metadata, progressive polling summaries, and bandwidth information.
Proxy and reliability
The Actor uses KAYAK’s HTTP result flow and does not require a browser for normal operation. KAYAK can apply traffic controls that vary by location and request volume. If direct KAYAK access fails, backend: "auto" uses Crawlio’s RapidAPI flight endpoint when RAPIDAPI_KEY is configured. Configure PROXY for direct KAYAK requests and keep credentials in Actor environment variables rather than task input.
Search results are live and should be treated as time-sensitive. Prices and availability can change when a booking provider is opened.
Passenger notes
The public Actor currently supports adults-only searches. Child and infant searches are rejected explicitly because the fallback backend does not return reliable fares for those passenger types.
Limits
The Actor caps output at 500 normalized itineraries and pagination at 20 result pages. These limits keep runs bounded and help avoid unnecessary traffic for broad searches.
Responsible use
Use the scraper only where you have the right to collect and process the data. Respect KAYAK’s terms, applicable laws, and reasonable request rates.