KAYAK Flight Scraper
Pricing
from $0.90 / 1,000 results
KAYAK Flight Scraper
[💰 $0.90 / 1K] 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
2
Total users
1
Monthly active users
5 hours 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:
- One-way Prague to Paris flights
- Family flights with child and lap infant
- Paginated business-class KAYAK search
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
- Adult, child, and lap-infant 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
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,"children": 1,"childAges": [5],"infants": 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. |
children | Number of children aged 2–11. |
childAges | One age from 2 to 11 for each child. |
infants | Number of under-2 lap infants. |
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 a run receives a temporary access error, configure a suitable residential proxy in the Actor environment rather than placing proxy credentials in 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
Child ages are required because they affect fare eligibility. infants represents infants travelling on an adult’s lap. Seat-infant searches are not currently supported because KAYAK’s result endpoint returns an upstream error for that passenger type.
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.