Kayak Flights Scraper avatar

Kayak Flights Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Kayak Flights Scraper

Kayak Flights Scraper

Extract real-time flight prices, routes & availability from Kayak with precision. Monitor airfare trends, competitive pricing & travel insights effortlessly. Perfect for travel agencies, price comparison platforms & market research. Reliable flight data scraping at scale.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(5)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

5

Bookmarked

43

Total users

5

Monthly active users

7 days ago

Last modified

Share

What does Kayak Flights Scraper do?

Kayak Flights Scraper collects structured flight data from Kayak for any route and date combination. Provide a Kayak search URL or enter origin, destination, and dates, and the actor returns fare prices, trip timing, stop counts, airlines, booking links, and provider details in a flat, ready-to-use format.

Why use Kayak Flights Scraper?

  • Structured airfare data without copy-paste - Collect flight prices, durations, stop counts, and airline details into clean records instead of manually searching and transcribing Kayak results.
  • Route and fare research at scale - Run searches across multiple routes and dates in separate runs to build datasets for price monitoring, route analysis, or travel planning.
  • Automation-ready output - Results export to JSON, CSV, Excel, or XML and integrate with dashboards, BI tools, Google Sheets, and no-code platforms.
  • Round trip and one-way support - Works with both trip types in the same input format. Omit the return date for one-way searches.

What data can you extract from Kayak?

FieldDescription
price_amountPrimary fare amount for the itinerary
currencyFare currency code such as USD or EUR
airlinesAirline names operating the itinerary
total_stopsTotal stop count across all legs
total_duration_minutesTotal itinerary duration in minutes
providerPrimary booking provider name
outbound_departureOutbound leg departure datetime
outbound_arrivalOutbound leg arrival datetime
inbound_departureInbound leg departure datetime for round trips
inbound_arrivalInbound leg arrival datetime for round trips
booking_urlDirect booking link for the fare
shareable_urlKayak share link for the searched trip

How to use Kayak Flights Scraper

  1. Open the actor on Apify Store.
  2. Provide a Kayak flights URL, or enter origin, destination, and departure date.
  3. Set the maximum number of results and pages.
  4. Optionally enable proxy for repeated or large runs.
  5. Run the actor.
  6. Download the dataset or connect it to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoKayak WAS->LON URLFull Kayak flights search URL such as https://www.kayak.com/flights/WAS-LON/2026-08-15/2026-08-29
results_wantedIntegerNo20Maximum number of flight results to save
max_pagesIntegerNo3Maximum number of Kayak result pages to poll
proxyConfigurationObjectNo{"useApifyProxy": false}Proxy settings for better reliability on repeated runs

When using route and date inputs instead of a URL, the actor also accepts these optional parameters at runtime: origin, destination, departDate, returnDate, and adults.

Output Data

FieldTypeDescription
rankIntegerPosition in collected results
search_idStringSearch session identifier
search_urlStringKayak search URL used for the run
routeStringRoute in ORIGIN-DESTINATION format
originStringOrigin code
destinationStringDestination code
depart_dateStringOutbound date
return_dateStringInbound date for round trips
trip_typeStringroundtrip or oneway
result_idStringResult identifier
result_typeStringResult category
is_bestBooleanBest-result flag
is_cheapestBooleanCheapest-result flag
providerStringPrimary booking provider
booking_urlStringBooking link
price_amountNumberPrimary fare amount
currencyStringFare currency code
price_textStringLocalized fare text
total_duration_minutesIntegerTotal itinerary duration
total_stopsIntegerTotal number of stops
airlinesStringAirline names in itinerary
airline_codesStringAirline codes in itinerary
outbound_departureStringOutbound departure datetime
outbound_arrivalStringOutbound arrival datetime
outbound_duration_minutesIntegerOutbound duration
outbound_stopsIntegerOutbound stop count
outbound_airlinesStringOutbound airline names
inbound_departureStringInbound departure datetime
inbound_arrivalStringInbound arrival datetime
inbound_duration_minutesIntegerInbound duration
inbound_stopsIntegerInbound stop count
inbound_airlinesStringInbound airline names
shareable_urlStringShare link for the searched trip

Usage Examples

Basic URL Input

Run a search using a complete Kayak flights URL:

{
"startUrl": "https://www.kayak.com/flights/WAS-LON/2026-08-15/2026-08-29",
"results_wanted": 20,
"max_pages": 2
}

Route and Date Input

Run a search by specifying the origin, destination, and dates directly:

{
"startUrl": "https://www.kayak.com/flights/JFK-LAX/2026-09-10/2026-09-17",
"results_wanted": 30,
"max_pages": 3
}

Collect results for a one-way trip by providing only the departure date:

{
"startUrl": "https://www.kayak.com/flights/WAS-LON/2026-08-15",
"results_wanted": 20
}

Proxy-Enabled Run

Enable proxy for better reliability on repeated or large searches:

{
"startUrl": "https://www.kayak.com/flights/WAS-LON/2026-08-15/2026-08-29",
"results_wanted": 50,
"max_pages": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"rank": 1,
"search_id": "rGFiSVg6Qs",
"search_url": "https://www.kayak.com/flights/WAS-LON/2026-08-15/2026-08-29",
"route": "WAS-LON",
"origin": "WAS",
"destination": "LON",
"depart_date": "2026-08-15",
"return_date": "2026-08-29",
"trip_type": "roundtrip",
"result_id": "e636f94b94bef808289ae35ac0031788",
"result_type": "core",
"is_best": true,
"is_cheapest": true,
"provider": "Gotogate",
"booking_url": "https://www.kayak.com/book/flight?...",
"price_amount": 774,
"currency": "USD",
"price_text": "$774",
"total_duration_minutes": 2580,
"total_stops": 2,
"airlines": "Icelandair",
"airline_codes": "FI",
"outbound_departure": "2026-08-15T20:30:00",
"outbound_arrival": "2026-08-16T11:45:00",
"outbound_duration_minutes": 615,
"outbound_stops": 1,
"outbound_airlines": "Icelandair",
"inbound_departure": "2026-08-29T15:40:00",
"inbound_arrival": "2026-08-30T19:25:00",
"inbound_duration_minutes": 1965,
"inbound_stops": 1,
"inbound_airlines": "Icelandair",
"shareable_url": "https://www.kayak.com/flights/WAS-LON/2026-08-15/2026-08-29"
}

Tips for Best Results

  • Use valid airport or metro codes (IATA format) for origin and destination. Kayak recognizes both city codes like WAS and airport codes like DCA.
  • Confirm dates are in the future. The actor auto-adjusts past dates to the next available day.
  • Start with a smaller result limit to validate your route and date combination before running larger searches.
  • Enable proxy configuration for frequent or high-volume runs to reduce the chance of rate limiting.
  • If a specific route returns few results, try nearby dates. The actor includes automatic date fallback logic when the primary route returns no flights.

Integrations

  • Google Sheets - Send flight data to spreadsheets for route and fare tracking.
  • Webhooks - Trigger downstream workflows after each run completes.
  • Make - Connect results to no-code automations.
  • Zapier - Pipe data into app-to-app workflows.
  • API - Access datasets programmatically from your own systems.

Export formats include JSON, CSV, Excel, XML, and others available in Apify Console.

Frequently Asked Questions

Can I export the data to CSV or Excel?

Yes. Apify datasets can be downloaded in CSV, Excel, JSON, XML, and other supported formats from the dataset preview page.

Can I run this actor on a schedule?

Yes. You can schedule the actor in Apify Console to refresh fare data hourly, daily, or weekly for price monitoring workflows.

Why did I get fewer results than my requested limit?

Flight availability depends on route demand, travel dates, and live Kayak inventory. Increase max_pages to collect more results or try different dates.

Does this actor work for non-technical users?

Yes. The actor can be run from Apify Console with form-based inputs. Results can be downloaded directly without any coding.

What should I do if some fields are missing from the output?

The actor removes empty fields for cleaner datasets. Some fields like inbound leg details only appear for round trips. Absent fields usually mean the source data did not include that information.

Scraping public web data may be subject to applicable laws and website terms. You are responsible for using the collected data responsibly and complying with Kayak's terms of service.

  • Kayak Car Rental Scraper - Collect car rental prices, vehicle details, and supplier offers from Kayak for travel and market analysis.
  • Kayak Hotel Reviews Scraper - Extract hotel reviews, ratings, and guest feedback from Kayak for hospitality research.
  • Booking.com Scraper - Extract hotel listings, prices, reviews, and ratings from Booking.com for travel market research and accommodation monitoring.

Support

For issues, feature requests, or custom scraping needs, use the Issues tab on the actor page or contact the developer through Apify.

This actor is designed for legitimate data collection from publicly available sources. Users are responsible for ensuring their use complies with applicable laws, website terms of service, and rate limits. Use responsibly.