
Skyscanner API Bulk (Flights)
Pricing
$15.00/month + usage

Skyscanner API Bulk (Flights)
Get the best flight itineraries and calendar prices in BULK from Skyscanner! Also supports Multi-city and Explore with various filters. It's fast.
0.0 (0)
Pricing
$15.00/month + usage
0
Total users
3
Monthly users
1
Runs succeeded
>99%
Last modified
5 months ago
🛑 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:
[// Multi-city{"adults": 1,"children": [15],"classtype": "business","multifrom": ["yvr", "lax", "lax", "las"],"multidates": ["2025-09-01", "2025-09-15"]},// Round-trip{"origin": "cdg","destination": "lyon","datefrom": "251004","dateto": "251007","adults": 2,"children": [],"classtype": "economy","direct": false}] -
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:
{"query": string,"queryJson": string,"currency": string,"data": [{"providers": [{"id": string,"name": string,"isCarrier": boolean,"rating": float,"feedbackCount": integer},...],"alliances": [{"id": integer,"name": string},...]},...]}
Get Flight Prices returns:
{"query": string,"queryJson": string,"currency": string,"data": [{"id": string,"price": float, // Price"legs": array, // Flights information"isSelfTransfer": boolean,"isProtectedSelfTransfer": boolean,"farePolicy": object,"eco": float, // CO2 emission levels, lower is better"fareAttributes": object,"isMashUp": boolean, // Multi-airlines/booking sources"hasFlexibleOptions": boolean,"score": float, // Recommended score"pricingOptions": array,"tags": array,"vendor": string, // Booking provider"url": string // Booking URL},...]}
Get Flight Pricess with EVERYWHERE destination returns:
{"query": string,"queryJson": string,"currency": string,"data": [{"id": string,"type": string,"url": string, // Booking search link"location": object,"flightQuotes": object, // Prices"hotelQuotes": object,"image": object,"parentLocation": object,"flightRoutes": object}]}
Get Calendar Prices (Monthly) returns:
{"query": string,"queryJson": string,"currency": string,"data": [{"month": object,"price": object,"priceCategory": string // E.g., LOWEST},...]}
Get Calendar Prices (Daily) returns:
{"query": string,"queryJson": string,"currency": string,"data": [{"day": string,"group": string, // Low, Medium or High price"price": float},...]}
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!