Sign Up

Log In

Skyscanner Flight Search

By skyscannerOfficial
Updated 2 months ago
Travel, Transportation
Popularity Score
Success Rate

Skyscanner Flight Search API Overview

The Sky Scanner API lets you search for flight & get flight prices from Skyscanners database of prices, as well as get live quotes directly from ticketing agencies.

Flights Live Prices

Querying live flight prices is done using sessions. You create a session with the query details (origin location, destination location, cabin class etc…), and get a session ID. You can than use that session ID to poll results, sort results and filter results farther.


  1. Use the endpoint POST Create session to create a query session for flights.
  2. Get back the session ID in the Location header from POST Create session.
  3. Poll the results using the endpoint GET Poll session results.

Booking Redirects:

In addition to price information, your users will need a url that redirects them to where they can book their ticket.

You can either:

  • redirect your users to the Skyscanner website
  • redirect them directly to the supplier’s website (airline or travel agent)

We recommend that you redirect users to Skyscanner’s website as this helps with trust and therefore will enhance your conversion rate. For more information please see improving your conversions

To Skyscanner

Link to the Skyscanner website with the details of the search query pre-populated. This provides a more straightforward option for partners who do not require a full implementation of a travel search product within their applications.

If the query isn’t specific enough to link to a specific ‘day view’ page, it will link to a more general browse page, where the user will be asked to refine the search criteria (by date, origin and/or destination).


Request Parameters

Parameter Description
country The market country your user is in
currency The currency you want the prices in
locale The locale you want the results in (ISO locale)
originPlace The origin place (see places)
destinationPlace The destination place (see places)
outboundPartialDate The outbound date. Format yyyy-mm-dd, yyyy-mm or anytime.
inboundPartialDate The return date. Format yyyy-mm-dd, yyyy-mm or anytime. Use empty string for oneway trip.
shortApiKey ra66933236979928


Results payload

When getting the result back from the session polling, they will have the following parameters:


SessionKey The Session key to identify the session.
Query A copy of the query which was submitted.
Status The status of the session – ‘UpdatesPending’ or ‘UpdatesComplete’.
Itineraries A list of itineraries - see below for the itinerary object.
Legs Details of the legs that make up the itineraries: airports, times, overall duration, stops and carrier ids.
Segements Details of the segments of each leg. Including the carrier (or marketing carrier) and the operating carrier.
Carriers Details of the carriers.
Agents Details of the agents who sell the tickets. Can be an airline or a travel agent.
Places A list of all the places that appear in the itineraries.
Currencies A list of the currencies shown in the response.


OutboundLegId Id of the Outbound Leg
InboundLegId Id of the Inbound Leg
PricingOptions pricing options with agent(s)
the quote age
price (total for all passengers)
deeplink to the agent (the absolute URL needed to make the booking).
In the case where deeplinks are not supplied, you can obtain them with a further step. Refer to the Create/Poll Booking Details documentation.
BookingDetailsLink In some cases such as for group prices you will need to make a second call to retrieve the deeplinks. See the next section Get booking details for details

Log inSign up

Install SDK for NodeJS


To utilize unirest for node.js install the the npm module:

$ npm install unirest

After installing the npm package you can now start simplifying requests like so:

var unirest = require('unirest');

Creating Request"")
.header("X-RapidAPI-Host", "undefined")
.header("X-RapidAPI-Key", "undefined")
.header("Content-Type", "application/x-www-form-urlencoded")
.end(function (result) {
  console.log(result.status, result.headers, result.body);
OAuth2 Authentication
Client ID
Client Secret
OAuth2 Authentication

Sign up for free

to test this endpoint

Join the world’s largest API marketplace with over half a million developers and thousands of APIs.
Testfrom the browser
Connectusing code snippets
Managefrom one dashboard