Skyscanner Flight Scraper avatar

Skyscanner Flight Scraper

Pricing

from $1.00 / 1,000 flights

Go to Apify Store
Skyscanner Flight Scraper

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.

Pricing

from $1.00 / 1,000 flights

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

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, London and New York all 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 numbersDeparture and arrival (local time)Total price and price per person
Operating airline (codeshares)Duration of each leg and in totalPrice as shown on Skyscanner
Airports, cities and countriesStops and layovers with their lengthCheapest seller and its link
Every segment of every legOvernight arrivals (day change)Every seller with rating, reviews, price and link
Self-transfer itinerariesAirport changes during a layoverChange, cancellation and refund policy

How to scrape Skyscanner flights

  1. Open Skyscanner Flight Scraper and go to the Input tab.
  2. Type where you fly From and To: an airport code, a city code or a city name.
  3. Pick a Departure date, and a Return date for a round trip.
  4. Set travellers, cabin class, sort order and how many flights you want per route.
  5. Press Start, then download the results from the Output tab as JSON, CSV, Excel or HTML.

⬇️ Input

FieldWhat it does
FromWhere you fly from: JFK, NYC, New York
ToWhere you fly to: LHR, LON, London
Departure dateA date up to 13 months ahead, or a time from today such as 30 days
Return dateLeave empty for one-way
More routesExtra 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 classEconomy, premium economy, business or first
Sort byBest, Cheapest or Fastest, as on Skyscanner's tabs
Direct flights onlyKeep only non-stop itineraries
Max flights per route1 to 5,000; the default is 100
Currency / Market / LanguageFor 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 ApifyClient
client = 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.