Kayak Flights, Hotels & Deals Scraper avatar

Kayak Flights, Hotels & Deals Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Kayak Flights, Hotels & Deals Scraper

Kayak Flights, Hotels & Deals Scraper

Scrape flight deals, hotel prices, and explore cheap destinations from Kayak. Search flights between cities, compare prices from hundreds of airlines, and find cheap travel deals

Pricing

from $3.00 / 1,000 results

Rating

5.0

(7)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

7

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract flight deals, explore cheap destinations, and compare travel prices from Kayak — one of the world's leading travel search engines. Search flights between cities, compare prices from hundreds of airlines, and discover cheap travel deals from any airport.

What data does this scraper extract?

FieldDescription
flightIdUnique flight result identifier
originOrigin airport IATA code (e.g., NYC)
destinationDestination airport IATA code (e.g., LON)
originCityOrigin city name
destinationCityDestination city name
departDateDeparture date (YYYY-MM-DD)
returnDateReturn date for round-trips (YYYY-MM-DD)
priceBest available price (per person)
currencyPrice currency (e.g., USD)
airlinePrimary airline name
airlinesAll airlines involved (for multi-leg flights)
stopsNumber of stops (0 = direct)
durationOutbound flight duration (e.g., "7h 30m")
departTimeDeparture datetime (ISO 8601)
arrivalTimeArrival datetime (ISO 8601)
cabinClassCabin class (economy/business/etc.)
tripTypeone-way or round-trip
deepLinkDirect booking URL on Kayak
recordTypeAlways "kayakFlight"
scrapedAtTimestamp of scraping

Input Parameters

ParameterTypeDescriptionDefault
modeSelectScraping mode: searchFlights, searchHotels, exploreDeals, byUrlsexploreDeals
originTextOrigin airport IATA code or city (e.g., "NYC", "JFK", "New York")NYC
destinationTextDestination IATA code or city (optional for exploreDeals)
departDateTextDeparture date YYYY-MM-DD30 days from now
returnDateTextReturn date YYYY-MM-DD37 days from now
tripTypeSelectone-way or round-tripround-trip
cabinClassSelecteconomy, premium-economy, business, firsteconomy
adultsIntegerNumber of passengers (1–9)1
maxBudgetIntegerMax price filter in USD (for exploreDeals)
sortBySelectSort: price, duration, departure, arrivalprice
startUrlsListKayak search URLs for byUrls mode
maxItemsIntegerMaximum results (1–500)50

Modes

exploreDeals (default)

Explore cheap flights from any origin city. Discover hundreds of destinations sorted by price. Perfect for finding travel inspiration and the cheapest places to fly.

searchFlights

Search for specific flights between two cities. Returns a ranked list of flight options with prices from all airlines, including number of stops, duration, and direct booking links.

searchHotels

Search for hotels at a destination. Returns available hotel options with pricing data intercepted from Kayak's internal hotel search API.

byUrls

Scrape specific Kayak search result URLs. Provide pre-built Kayak URLs and extract flight data from those searches.

Example Input

{
"mode": "searchFlights",
"origin": "NYC",
"destination": "LON",
"departDate": "2026-08-01",
"returnDate": "2026-08-15",
"tripType": "round-trip",
"cabinClass": "economy",
"adults": 1,
"sortBy": "price",
"maxItems": 50
}

Example Output (Flight)

{
"flightId": "d83f4b084af600d06a3f8872a5c2351d",
"origin": "NYC",
"destination": "LON",
"originCity": "New York",
"destinationCity": "London",
"departDate": "2026-08-01",
"returnDate": "2026-08-15",
"price": 543.00,
"currency": "USD",
"airline": "British Airways",
"airlines": ["British Airways"],
"stops": 0,
"duration": "6h 55m",
"departTime": "2026-08-01T19:00:00",
"arrivalTime": "2026-08-02T07:55:00",
"cabinClass": "economy",
"tripType": "round-trip",
"deepLink": "https://www.kayak.com/book/flight?code=...",
"recordType": "kayakFlight",
"scrapedAt": "2026-05-15T10:30:00+00:00"
}

Example Output (Explore Deal)

{
"flightId": "NYC-CDG",
"origin": "NYC",
"destination": "CDG",
"originCity": "NYC",
"destinationCity": "Paris",
"price": 450.00,
"currency": "USD",
"country": "France",
"latitude": 48.8566,
"longitude": 2.3522,
"tripType": "round-trip",
"cabinClass": "economy",
"recordType": "kayakFlight",
"scrapedAt": "2026-05-15T10:30:00+00:00"
}

Frequently Asked Questions

Q: Why does the scraper need to wait 10–15 seconds per page? A: Kayak loads flight results asynchronously via a polling API. The scraper intercepts this API call, which typically fires within 10–15 seconds after the page loads. This is normal behavior.

Q: What is the IATA code format? A: IATA codes are 3-letter airport codes (e.g., JFK = John F. Kennedy, LAX = Los Angeles, LHR = London Heathrow). City codes (NYC = New York all airports, LON = London all airports) are also supported.

Q: How current are the prices? A: Prices are fetched in real-time from Kayak's search engine. They reflect the best available fare at the time of scraping and may change within minutes.

Q: Can I search one-way flights? A: Yes. Set tripType to one-way and provide only departDate (no returnDate needed).

Q: What does the stops field mean? A: 0 = direct flight (nonstop), 1 = one connection, 2 = two connections, etc.

Q: Can I search flights for multiple passengers? A: Yes. Set the adults parameter to the number of passengers (1–9). Prices in the output will reflect the per-person fare.

Q: What is exploreDeals mode best for? A: Travel inspiration and finding the cheapest destinations to fly from your city. Set a maxBudget to filter destinations within your price range.

Q: Does this scraper work without a proxy? A: For datacenter IPs, Kayak may limit results or require more time to load. A residential proxy is recommended for production use to ensure consistent results.

This scraper is intended for legitimate travel research, price monitoring, and data analysis. Please comply with Kayak's Terms of Service when using this tool.