KAYAK Flight Scraper avatar

KAYAK Flight Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
KAYAK Flight Scraper

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

Fetch Finch

Maintained by Community

Actor 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:

Features

  • One-way and round-trip searches
  • Airport and metro-area codes such as PRG and PAR
  • 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.

{
"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

FieldDescription
originOrigin airport or metro code.
destinationDestination airport or metro code.
departureDateDeparture date in YYYY-MM-DD format.
returnDateOptional return date. Omit for one-way searches.
adultsNumber of adult passengers, from 1 to 9.
childrenNumber of children aged 2–11.
childAgesOne age from 2 to 11 for each child.
infantsNumber of under-2 lap infants.
cabinClasseconomy, premium_economy, business, or first.
sortbestflight_a, price_a, duration_a, departure_a, or arrival_a.
stops0 for nonstop, 1 for up to one stop, or 2 for two or more stops.
airlinesOptional comma-separated airline IATA codes, such as FR,AF.
directOnlyBoolean shortcut for a nonstop search.
results_wantedMaximum number of normalized results, up to 500. maxResults is an alias.
max_pagesMaximum KAYAK result pages to request, up to 20.
includeRawInclude the original result object in every Dataset item.
saveRawResponseSave 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.