Kayak Flights Scraper avatar

Kayak Flights Scraper

Pricing

Pay per usage

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

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract clean flight listings from Kayak for any route and date combination. Collect readable fare data, trip timing, stops, and provider details in a format that is easy to analyze. Ideal for travel research, pricing comparisons, and fare tracking workflows.

Features

  • Clean Flat Output — Returns easy-to-read records without deeply nested clutter.
  • Route and Date Extraction — Works with direct search URLs or route/date inputs.
  • Round Trip and One-Way Support — Handles both trip types in one actor.
  • Pagination Control — Collect more results by increasing page limits.
  • Null-Free Dataset — Removes empty fields for cleaner exports and automations.

Use Cases

Fare Monitoring

Track route prices over time and detect meaningful fare changes for specific travel windows.

Travel Planning

Compare stop counts, durations, and departure/arrival times to shortlist better itinerary options.

Market Benchmarking

Analyze route competitiveness by comparing providers and pricing across many searches.

Data Pipelines

Feed normalized airfare records into dashboards, BI tools, and automated workflows.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.kayak.com/flights/WAS-LON/2026-05-16/2026-05-31Full flights search URL.
originStringNoOrigin code when startUrl is not used.
destinationStringNoDestination code when startUrl is not used.
departDateStringNoDeparture date in YYYY-MM-DD format.
returnDateStringNoReturn date in YYYY-MM-DD format (optional).
adultsIntegerNo1Number of adult passengers.
results_wantedIntegerNo20Maximum number of rows to collect.
max_pagesIntegerNo3Maximum number of result pages to process.
proxyConfigurationObjectNo{ "useApifyProxy": false }Proxy settings for better reliability.

Output Data

Each dataset item contains:

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

{
"startUrl": "https://www.kayak.com/flights/WAS-LON/2026-05-16/2026-05-31",
"results_wanted": 20,
"max_pages": 2
}

Route + Dates Input

{
"origin": "WAS",
"destination": "LON",
"departDate": "2026-05-16",
"returnDate": "2026-05-31",
"adults": 1,
"results_wanted": 30,
"max_pages": 3
}
{
"origin": "WAS",
"destination": "LON",
"departDate": "2026-05-16",
"adults": 1,
"results_wanted": 20
}

Proxy Configuration

For reliable results on repeated runs:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Sample Output

{
"rank": 1,
"search_id": "rGFiSVg6Qs",
"search_url": "https://www.kayak.com/flights/WAS-LON/2026-05-16/2026-05-31",
"route": "WAS-LON",
"origin": "WAS",
"destination": "LON",
"depart_date": "2026-05-16",
"return_date": "2026-05-31",
"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-05-16T20:30:00",
"outbound_arrival": "2026-05-17T11:45:00",
"outbound_duration_minutes": 615,
"outbound_stops": 1,
"outbound_airlines": "Icelandair",
"inbound_departure": "2026-05-31T15:40:00",
"inbound_arrival": "2026-06-01T19:25:00",
"inbound_duration_minutes": 1965,
"inbound_stops": 1,
"inbound_airlines": "Icelandair",
"shareable_url": "https://www.kayak.com/flights/WAS-LON/2026-05-16/2026-05-31"
}

Tips for Best Results

Start With Known Working Routes

  • Use valid origin and destination airport or metro codes.
  • Confirm dates are in the future and correctly formatted.

Scale Gradually

  • Begin with results_wanted: 20 to validate your setup quickly.
  • Increase max_pages for broader coverage when needed.

Improve Stability

  • Enable proxy settings for frequent or larger runs.
  • Retry with nearby dates if specific searches return limited data.

Integrations

Connect extracted data to:

  • Google Sheets — route and fare tracking
  • Airtable — searchable travel datasets
  • Looker Studio — trend dashboards
  • Webhooks — push results to custom systems
  • Make — no-code automations
  • Zapier — app-to-app workflows

Export Formats

  • JSON
  • CSV
  • Excel
  • XML

Frequently Asked Questions

Why did I get fewer results than requested?

Availability depends on route demand, date selection, and live inventory. Increase max_pages or test nearby travel dates.

Can I run one-way searches?

Yes. Provide origin, destination, and departDate only.

Is the dataset easy to use in spreadsheets?

Yes. The output is flattened and null-free for easier filtering, sorting, and reporting.


Support

For issues, questions, or feature requests, use the actor's support channel in the Apify Console.

Resources


This actor is intended for lawful data collection and analysis. Users are responsible for ensuring their use complies with applicable laws, website terms of service, and rate limits. Use responsibly.