Skyscanner API Bulk (Flights)
$15.00/month
Skyscanner API Bulk (Flights)
$15.00/month
Get the best flight itineraries and calendar prices in BULK from Skyscanner! Also supports Multi-city and Explore with various filters. It's fast.
🛑 For best performance, we recommend using IATA airport codes for Origin/Destination.
🔃 Skyscanner prices are rounded up on their website (e.g., $709). The actual results return exact amounts (e.g., $708.01).
Parameters
[Input]
-
Process (Select)
- Get Flight Prices
- Get Flight Providers
- Get Calendar Prices (Monthly)
- Get Calendar Prices (Daily)
-
Market (select)
Choose from the available countries. This will set default domain, country, locale and currency.
-
Query (JSON object)
See next section: "Query fields".
Example:
1[ 2 // Multi-city 3 { 4 "adults": 1, 5 "children": [15], 6 "classtype": "business", 7 "multifrom": ["yvr", "lax", "lax", "las"], 8 "multidates": ["2025-09-01", "2025-09-15"] 9 }, 10 // Round-trip 11 { 12 "origin": "cdg", 13 "destination": "lyon", 14 "datefrom": "251004", 15 "dateto": "251007", 16 "adults": 2, 17 "children": [], 18 "classtype": "economy", 19 "direct": false 20 } 21]
-
Nearby airports (select)
Ignored for Multi-city. Do not include, Nearby airports, Nearby airport (Origin) or Nearby airport (Destination).
-
Retries/Delay (integer)
Skyscanner takes time to load all results. For complex searches, their website can retry loading data over 10 times.
Adjust your retries and delay based on your search complexity, for example:
- Easy search: One-way trip with direct flights only. Retry = 2. Wait = 3.
- Complex search: Round-trip with adults and children. Retry = 5. Wait = 5.
- Very complex: Multi-city and additional criteria, such as nearby airports. Retry more, wait longer.
[Query fields]
-
Direct flights only (boolean)
Not compatible with Multi-city. Direct or with stops.
-
Flight origin/destination (string)
Not required for Multi-city. Airports to depart from and return to.
Destination can be set to "everywhere" for one-way/round-trip open search.
-
Departure/Return dates (string)
Not required for Multi-city. Dates to depart from and return to. Format: YYMMDD.
-
Number of adults (integer)
Maximum of 8.
-
Cabin class (select)
Choose from Economy, Premium Economy, Business Class or First Class.
-
Number of children (array)
An array with one entry for each child (age 0 to 15).
Example for two children: [ 1, 12 ]
-
Multi-city - Locations (array)
Overrides Flight origin/destination, and Departure/Return dates.
Enter the list of airports (2, 4, 6, 8, 10 or 12) to include in the itinerary.
Example for 8 airports: ["yvr", "sea", "sea", "lax", "lax", "jfk", "jfk", "iad"].
-
Multi-city - Dates (array)
Overrides Flight origin/destination, and Departure/Return dates.
Enter the list of dates (2, 3, 4, 5, 6) matching the locations. Example for 8 airports: ["2024-09-12", "2024-09-19", "2024-09-23", "2024-09-25"].
Note: For reference, combining both Multi-city examples creates the following itinerary: YVR to SEA (2024-09-12), SEA to LAX (2024-09-19), LAX to JFK (2024-09-23), JFK to IAD (2024-09-25).
[Output]
This actor returns raw data.
Get Flight Providers returns:
1{ 2 "query": string, 3 "queryJson": string, 4 "currency": string, 5 "data": [ 6 { 7 "providers": [ 8 { 9 "id": string, 10 "name": string, 11 "isCarrier": boolean, 12 "rating": float, 13 "feedbackCount": integer 14 }, 15 ... 16 ], 17 "alliances": [ 18 { 19 "id": integer, 20 "name": string 21 }, 22 ... 23 ] 24 }, 25 ... 26 ] 27}
Get Flight Prices returns:
1{ 2 "query": string, 3 "queryJson": string, 4 "currency": string, 5 "data": [ 6 { 7 "id": string, 8 "price": float, // Price 9 "legs": array, // Flights information 10 "isSelfTransfer": boolean, 11 "isProtectedSelfTransfer": boolean, 12 "farePolicy": object, 13 "eco": float, // CO2 emission levels, lower is better 14 "fareAttributes": object, 15 "isMashUp": boolean, // Multi-airlines/booking sources 16 "hasFlexibleOptions": boolean, 17 "score": float, // Recommended score 18 "pricingOptions": array, 19 "tags": array, 20 "vendor": string, // Booking provider 21 "url": string // Booking URL 22 }, 23 ... 24 ] 25}
Get Flight Pricess with EVERYWHERE destination returns:
1{ 2 "query": string, 3 "queryJson": string, 4 "currency": string, 5 "data": [ 6 { 7 "id": string, 8 "type": string, 9 "url": string, // Booking search link 10 "location": object, 11 "flightQuotes": object, // Prices 12 "hotelQuotes": object, 13 "image": object, 14 "parentLocation": object, 15 "flightRoutes": object 16 } 17 ] 18}
Get Calendar Prices (Monthly) returns:
1{ 2 "query": string, 3 "queryJson": string, 4 "currency": string, 5 "data": [ 6 { 7 "month": object, 8 "price": object, 9 "priceCategory": string // E.g., LOWEST 10 }, 11 ... 12 ] 13}
Get Calendar Prices (Daily) returns:
1{ 2 "query": string, 3 "queryJson": string, 4 "currency": string, 5 "data": [ 6 { 7 "day": string, 8 "group": string, // Low, Medium or High price 9 "price": float 10 }, 11 ... 12 ] 13}
Support
Always use a strong proxy (residential or custom), and make sure to wait long enough between requests!
Open a new issue for bugs and feature requests. Please share your Run URL and Input.
Cheers!
Actor Metrics
1 monthly user
-
0 No stars yet
>99% runs succeeded
Created in Dec 2024
Modified 7 days ago