KAYAK Flight Scraper
Pricing
from $12.00 / 1,000 result items
KAYAK Flight Scraper
Scrapes real-time flight prices, airlines, and schedules from KAYAK flight route pages. Returns each flight as a flat row with price, departure and arrival times, and trip duration.
Pricing
from $12.00 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
3
Monthly active users
12 days ago
Last modified
Categories
Share
KAYAK Flight Scraper
Scrape real-time flight prices, routes, and availability from KAYAK, up to a million results per run. Every result comes with price, airline, departure and arrival times, and trip duration. No API key required. Export to CSV, JSON, Excel, or XML.
KAYAK's flight search aggregates fares from hundreds of airlines and travel sites, but manually copying prices for a route is slow and error-prone. This Actor reads the public flight route pages directly, collecting every listed flight with its price, airline, and schedule into a structured dataset. It works for any route KAYAK covers, from a single city pair to a full competitive analysis.
| Who uses it | What they scrape KAYAK for |
|---|---|
| Travel agencies | Build a live feed of current fares for the routes they sell. |
| Market researchers | Track how airline pricing changes week to week on a competitive corridor. |
| Price comparison platforms | Populate a database with real-time KAYAK prices to power their own comparison tool. |
| Data analysts | Collect a clean dataset of flight schedules and fares for a pricing model. |
What it does
This Actor collects flight listings from KAYAK flight route pages and returns each one as a flat row with price, airline, departure and arrival times, and trip duration.
- 🔗 Direct URL input: paste any KAYAK flight route URL to scrape that exact page.
- 🛫 Route builder: provide an origin and destination slug and the Actor constructs the URL for you.
- ⚙️ Concurrency control: set the maximum number of parallel requests to stay under rate limits.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with KAYAK data
📊 Monitor airfare trends.
A market researcher runs the Actor weekly on a set of business-travel routes and feeds the price history into a dashboard that flags when a competitor drops fares.
🛒 Power a flight price comparison site.
A developer schedules daily scrapes of popular vacation routes and loads the results into their own search UI, keeping their site fresh without manual updates.
📈 Build a pricing model.
A data analyst collects a month of daily prices for a single route and trains a model that predicts the best day to buy.
🗺️ Populate a travel agency feed.
An agency scrapes the routes they book most often every morning and imports the CSV into their internal quoting tool so agents always quote live fares.
Why choose this scraper
| What you get | |
|---|---|
| Real-time prices | The fare KAYAK shows right now, not a cached estimate. |
| Airline and flight number | The operating carrier and flight identifier for each listing. |
| Departure and arrival times | Scheduled gate times so you can compare convenience as well as cost. |
| Trip duration | Total travel time including any layovers, in a sortable field. |
How it compares
This Actor focuses on scraping flight route pages with a simple route builder, while the alternative KAYAK flight scraper emphasizes real-time extraction and the reviews scraper targets hotel reviews instead of flights.
| Feature | ParseForge | Kayak Flights Scraper | Kayak Reviews Scraper |
|---|---|---|---|
| Scrapes flight prices | Yes | Yes | Not listed |
| Route builder from origin/destination slugs | Yes | Not listed | Not listed |
| Scrapes hotel reviews | Not listed | Not listed | Yes |
| Configurable request concurrency | Yes | Not listed | Not listed |
| Exports to CSV, JSON, Excel, XML | Yes | Yes | Yes |
Configure the run
Drive the Actor from a direct KAYAK flight route URL or by building one from an origin and destination slug, and set a maximum number of results to cap the run. The Input tab lists every parameter.
A first run with the defaults:
{"startUrl": "https://www.kayak.com/flight-routes/New-York-John-F-Kennedy-Intl-JFK/Los-Angeles-LAX","maxItems": 10}
A larger pull:
{"startUrl": "https://www.kayak.com/flight-routes/New-York-John-F-Kennedy-Intl-JFK/Los-Angeles-LAX","maxItems": 200}
Pricing
Pay-per-result: $0.016 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $1.60 |
| 1,000 results | $16.00 |
| 10,000 results | $160.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the KAYAK Flight Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to KAYAK through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/kayak-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that the start URL or the origin and destination slugs are correct. Open the URL in a browser first to confirm KAYAK shows flights for that route. Also check that you have not set maxItems too low.
The Actor returns fewer results than I see on the website.
KAYAK may load additional results dynamically as you scroll. The Actor scrapes the initial page load. Try lowering the max concurrency to give the page more time to render, or check if KAYAK is rate-limiting your requests.
I am getting rate-limited or seeing captchas.
Reduce the max concurrency to 1 or 2. If the problem persists, switch to Apify's residential proxies in the Actor's proxy settings to appear as a regular home user.
The prices in the dataset do not match what I see on KAYAK.
KAYAK prices can change in seconds. The Actor captures the price at the moment of scraping. Run it again to get the latest fares, and note that cached pages or different user locations can also affect the displayed price.
FAQ
| Question | Answer |
|---|---|
| Can I scrape multiple routes in one run? | One run scrapes one flight route page. To scrape many routes, run the Actor multiple times with different start URLs or origin/destination pairs, or use an Apify workflow to loop over a list of routes. |
| Does this Actor need a KAYAK account or API key? | No. It reads the public flight route pages that anyone can visit in a browser, so no login or API key is required. |
| What format does the data come in? | The dataset can be exported to CSV, JSON, Excel, or XML from the Apify run tab. The default view is a flat table with one flight per row. |
| How do I find the correct origin or destination slug? | Search for a flight route on KAYAK and copy the part of the URL that names the airport, such as 'New-York-John-F-Kennedy-Intl-JFK'. You can also paste the full route URL into the start URL field instead. |
| Does it return one-way and round-trip prices? | The Actor scrapes the flight route page, which typically shows the lowest available one-way fares for the route. Round-trip pricing is not shown on this page type. |
| Can I filter by airline or number of stops? | The Actor collects every flight listed on the route page. To filter by airline or stops, apply a filter to the exported dataset in your own spreadsheet or script. |
| What is the maximum number of results I can get? | You can set the maximum up to 1,000,000 results per run. The actual number depends on how many flights KAYAK displays for that route. |
| How do I avoid getting blocked? | Lower the max concurrency setting to reduce the request rate. Using Apify's residential proxies can also help if you are running large, frequent scrapes. |
| Does it include baggage fees or seat selection costs? | No. The flight route page shows the base fare. Ancillary fees like baggage or seat selection are not included in the scraped data. |
| Can I scrape international routes? | Yes. Any route that has a page on KAYAK can be scraped, including domestic and international city pairs. |
Related actors
Browse the full ParseForge collection for more scrapers.
🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Booking Holdings Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
