Skyscanner Scraper avatar

Skyscanner Scraper

Pricing

from $1.00 / 1,000 flights

Go to Apify Store
Skyscanner Scraper

Skyscanner Scraper

Skyscanner Scraper: Scrape Skyscanner flight prices for any route and date: airline, flight numbers, times, stops, layovers and every booking site with its price and link. One-way or return. Export to CSV, JSON or Excel, schedule runs or use the API.

Pricing

from $1.00 / 1,000 flights

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Skyscanner Scraper - Flight Prices, Airlines & Booking Links

What is Skyscanner Scraper?

Skyscanner Scraper is a tool that lets you scrape flight prices from Skyscanner: airlines, flight numbers, departure and arrival times, stops, layovers, and every booking site with its price and link. Type where you fly from and to, pick your dates, click Start, and download the flights as Excel, CSV or JSON.

  • ⚡ Speed: most runs finish in 10 to 40 seconds; 300 flights from three routes took about 40 seconds in our test
  • 🛫 Every itinerary Skyscanner finds: often 300 to 2,000 flights per route
  • 💳 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
  • 💸 Free to try: the $5 of free usage every Apify account gets each month covers about 5,000 flights

What can Skyscanner Scraper do?

  • Scrape Skyscanner flight prices by airport code or city name. JFK, LHR, NYC, London and New York all work. A city searches all of its airports.
  • Scrape one-way or round-trip flights. Leave the return date empty for one-way.
  • Scrape 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. Create a free Apify account (no credit card needed).
  2. Open Skyscanner Scraper.
  3. Type where you fly From and To (an airport code, a city code or a city name), and pick a Departure date and, for a round trip, a Return date.
  4. Set travellers, cabin class, sort order and how many flights you want per route, then click Start.
  5. When the run finishes, download your flights as Excel, CSV, JSON, HTML or XML.

How much does it cost to scrape Skyscanner flights?

You pay $1.00 per 1,000 flights. Platform usage is included in that price, so there is nothing else to pay for a run. Max flights per route decides the cost of a run.

Example: three routes with 100 flights each give 300 flights, which cost $0.30. 1,000 flights cost $1.00.

Every Apify account gets $5 of free usage each month, so you can try it at no cost. See the Pricing tab for details.

⬇️ Input

SettingWhat 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 (default)
Return dateLeave empty for one-way. A time from today such as 37 days also works
More routesExtra searches for the same run, each with its own dates, travellers and cabin if you like (see below)
Adults / Children (2-11 years) / 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
Connection settingsThe default works for most runs

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.

How can I use Skyscanner flight data?

  • 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 flight 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"])

Scrape more travel data

ActorWhat it gets
Booking.com Hotel ScraperHotel prices, guest ratings, room types and taxes for a destination and dates
Airbnb Listings ScraperAirbnb listings, prices, ratings and hosts
Tripadvisor Reviews ScraperHotel, restaurant and attraction reviews with ratings and owner replies
Google Maps ScraperPlaces with addresses, phones, websites, ratings and opening hours

❓FAQ

How much does it cost to scrape Skyscanner?

$1.00 per 1,000 flights, with platform usage included. See the cost section above and the Pricing tab.

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.

Can I connect Skyscanner Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com.

This scraper collects public flight data only: routes, times, prices and sellers. It does not collect personal data. If your use ever involves personal data, it may be protected by laws such as GDPR, so only scrape for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

Skyscanner Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Skyscanner.

Something isn't working?

Open the Issues tab with your input and what you expected.

⭐ Your feedback

Have an idea or found a problem? Tell us in the Issues tab. If Skyscanner Scraper saved you time, a short review on the Reviews tab helps other people find it.