Skyscanner Flight Scraper
Pricing
from $1.00 / 1,000 flights
Skyscanner Flight Scraper
Scrape Skyscanner flight prices for any route and date: airlines, flight numbers, stops, layovers, every booking site with price and link. One-way or round trip.
Skyscanner Flight Scraper ✈️
What is Skyscanner Flight Scraper?
Skyscanner Flight Scraper is a tool that lets you scrape flight prices, airlines, flight numbers, departure and arrival times, stops, layovers and every booking site with its price and link from Skyscanner. Type where you fly from and to, pick your dates, press Start, and download the flights as JSON, CSV or Excel.
- ⚡ Fast: a one-way search finishes in about 5 seconds, a busy round trip in 10 to 30 seconds
- 🛫 Every itinerary Skyscanner finds: often 300 to 2,000 flights per route, not just the first page
- 💳 Every seller: each flight lists all the airlines and travel sites that sell it, cheapest first, with ratings and a booking link
- 🔓 No login, no API key: only public search results
What can Skyscanner Flight Scraper do?
- Search any route by airport code or city name.
JFK,LHR,NYC,LondonandNew Yorkall work. A city searches all of its airports. - One-way or round trip. Leave the return date empty for one-way.
- Many routes in one run. Add as many searches as you need.
- Dates that never go stale. Enter a date, or a time from today such as
30 days, so a saved task or schedule always searches ahead. - Travellers and cabin. Adults, children, infants, and economy, premium economy, business or first class, for every route or route by route.
- Sort like the website. Best, Cheapest or Fastest, and keep only direct flights if you want.
- Any Skyscanner country and currency. Price in USD, EUR, GBP and more, from the US, UK, German or any other Skyscanner site.
- Best, cheapest and fastest flags on every row, so you can spot Skyscanner's top picks at a glance.
What data can you extract from Skyscanner?
| ✈️ Flight | 🕒 Schedule | 💰 Price and booking |
|---|---|---|
| Airlines and flight numbers | Departure and arrival (local time) | Total price and price per person |
| Operating airline (codeshares) | Duration of each leg and in total | Price as shown on Skyscanner |
| Airports, cities and countries | Stops and layovers with their length | Cheapest seller and its link |
| Every segment of every leg | Overnight arrivals (day change) | Every seller with rating, reviews, price and link |
| Self-transfer itineraries | Airport changes during a layover | Change, cancellation and refund policy |
How to scrape Skyscanner flights
- Open Skyscanner Flight Scraper and go to the Input tab.
- Type where you fly From and To: an airport code, a city code or a city name.
- Pick a Departure date, and a Return date for a round trip.
- Set travellers, cabin class, sort order and how many flights you want per route.
- Press Start, then download the results from the Output tab as JSON, CSV, Excel or HTML.
⬇️ Input
| Field | What it does |
|---|---|
| From | Where you fly from: JFK, NYC, New York |
| To | Where you fly to: LHR, LON, London |
| Departure date | A date up to 13 months ahead, or a time from today such as 30 days |
| Return date | Leave empty for one-way |
| More routes | Extra searches for the same run, each with its own dates, travellers and cabin if you like (see below) |
| Adults / Children (2-11) / Infants (under 2) | Who is travelling: up to 9 in all, at most one infant per adult |
| Cabin class | Economy, premium economy, business or first |
| Sort by | Best, Cheapest or Fastest, as on Skyscanner's tabs |
| Direct flights only | Keep only non-stop itineraries |
| Max flights per route | 1 to 5,000; the default is 100 |
| Currency / Market / Language | For example USD / US / en-US, or GBP / UK / en-GB |
A round trip from New York to London, a month from now:
{"origin": "New York","destination": "London","departDate": "30 days","returnDate": "37 days","maxResults": 100}
Several routes in one run. A route can set origin, destination, departDate, returnDate, adults, children, infants and cabinClass. A field left out of a route takes its value from the main fields, and "returnDate": null makes that route one-way. Sort, filters, max flights, currency, market and language apply to every route. A route with any other field fails with a message that lists the fields it can set:
{"origin": "JFK","destination": "London","departDate": "2026-11-01","returnDate": "2026-11-08","routes": [{ "origin": "LAX", "destination": "Tokyo", "returnDate": null },{ "origin": "Chicago", "destination": "CDG", "departDate": "2026-12-10", "returnDate": "2026-12-17", "adults": 2, "cabinClass": "business" }],"sortBy": "cheapest","directOnly": true}
⬆️ Output
One row per flight itinerary. A real one-way row from Los Angeles to Tokyo (shortened: a row lists every seller):
{"route": "LAX-TYO","origin": "LAX","originName": "Los Angeles International","destination": "TYO","destinationName": "Tokyo","departDate": "2026-11-12","returnDate": null,"tripType": "one-way","adults": 1,"cabinClass": "economy","currency": "USD","itineraryId": "13416-2611120930--30816-0-14788-2611131425","price": 403.32,"pricePerPerson": 403.32,"priceFormatted": "$404","isBest": true,"isCheapest": false,"isFastest": false,"totalDurationMinutes": 715,"maxStops": 0,"airlines": "Zipair","outboundDeparture": "2026-11-12T09:30:00","outboundArrival": "2026-11-13T14:25:00","outboundStops": 0,"cheapestAgent": "Super.com","bookingUrl": "https://www.skyscanner.com/transport_deeplink/4.0/US/en-US/USD/spus/1/13416.14788.2026-11-12/air/trava/flights?itinerary=...","bookingOptionsCount": 14,"isSelfTransfer": false,"farePolicy": { "changeAllowed": false, "partlyChangeable": false, "cancellationAllowed": false, "partlyRefundable": false },"legs": [{"from": "LAX", "fromAirport": "Los Angeles International", "fromCity": "Los Angeles", "fromCountry": "United States","to": "NRT", "toAirport": "Tokyo Narita", "toCity": "Tokyo", "toCountry": "Japan","departure": "2026-11-12T09:30:00", "arrival": "2026-11-13T14:25:00","durationMinutes": 715, "stops": 0, "dayChange": 1,"carriers": "Zipair", "operatedBy": "Zipair", "flightNumbers": "ZG23","segments": [{ "flightNumber": "ZG23", "airline": "Zipair", "airlineCode": "ZG", "operatedBy": "Zipair","from": "LAX", "to": "NRT", "departure": "2026-11-12T09:30:00", "arrival": "2026-11-13T14:25:00", "durationMinutes": 715 }],"layovers": []}],"bookingOptions": [{ "agentName": "Super.com", "agentId": "spus", "isAirline": false, "agentRating": 4.04, "agentReviewCount": 1781,"agentPrice": 403.32, "agentUrl": "https://www.skyscanner.com/transport_deeplink/4.0/US/en-US/USD/spus/1/..." },{ "agentName": "Kissandfly", "agentId": "kfus", "isAirline": false, "agentRating": 3.49, "agentReviewCount": 711,"agentPrice": 410.0, "agentUrl": "https://www.skyscanner.com/transport_deeplink/4.0/US/en-US/USD/kfus/1/..." }],"scrapedAt": "2026-09-27T11:13:42Z"}
A round trip has two legs, and the return... fields are filled in. Each layover gives the airport, its length in minutes and whether you change airports. In the Output tab, switch between three tables: Overview (one line per flight), Legs (one line per leg) and Booking options (one line per seller).
price is the total for all travellers. pricePerPerson is that total divided by the number of travellers. Times are local to each airport, as on your ticket.
Use cases
- Fare tracking: schedule a daily run on your routes and chart how prices move before departure.
- Travel deals and alerts: find the cheapest dates and sellers and send them to your audience.
- Route and airline research: see which airlines fly a route, how often, with how many stops and at what price.
- Online travel agencies and price comparison: compare what each seller charges for the same flight.
- Corporate travel: check fares for many city pairs at once before booking trips.
- Data science: build datasets of fares, durations and layovers across markets and currencies.
Track prices over time
Save your input as a task, then use Schedule to run it every day. With dates like 30 days and 37 days the search always looks the same distance ahead. To follow one departure date instead, enter it as a fixed date. Each run adds a dated dataset you can compare, or send to Google Sheets, Slack or your own system with Apify integrations.
Use it from your own code
Start a run and read the flights with the Apify API or client libraries:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("automly/skyscanner-flight-scraper").call(run_input={"origin": "JFK", "destination": "LHR", "departDate": "30 days"})for flight in client.dataset(run["defaultDatasetId"]).iterate_items():print(flight["price"], flight["airlines"], flight["outboundDeparture"], flight["bookingUrl"])
❓FAQ
How much does it cost to scrape Skyscanner? See the Pricing tab. You pay per flight saved, so Max flights per route decides the cost of a run.
How many flights can I get per route? As many as Skyscanner finds for that search, often a few hundred and up to about 2,000 on busy round trips between big cities. Set Max flights per route to keep only the top ones in your chosen order.
Can I search a whole city or only one airport?
Both. LHR searches Heathrow only; LON or London searches every London airport.
Why is the price different from what I see on Skyscanner?
Fares change by the minute and differ by country site and currency. Set Market and Currency to the ones you use on Skyscanner. Skyscanner also rounds prices up on screen ($404 for 403.32).
Does it include baggage allowance and fare brands? Not yet. The data covers flights, times, stops, sellers, prices and the change, cancellation and refund policy that Skyscanner shows in its results.
Can I search multi-city trips or flexible dates? Each route is one-way or a round trip. For flexible dates, add one route per date under More routes; they all run in the same run.
Do I need a Skyscanner account? No. The scraper reads only public search results, the same ones anyone sees without logging in.
Is it legal to scrape Skyscanner? This scraper collects public flight data only, with no personal data. Check Skyscanner's terms and the rules that apply to your use. This tool is not affiliated with or endorsed by Skyscanner.
Something does not work. Where can I get help? Open an issue in the Issues tab with your input and what you expected.