NAV Navbar

API Documentation

API endpoint

https://www.skyscanner.net/g/chiron/api/v1/

Skyscanner APIs connect you to all the data you need to build an innovative website or app.

Build tools that solve problems for millions of travellers and travel retail businesses around the world.

Authentication

Our new Hackaton friendly service uses keys to allow access to the APIs. To request an API key please contact us on Slack #skyscanner.

You must include the API key in all API requests to the server, either as a parameter in the query or in the query header. Please refer to each endpoint for details.

Getting Started

Flights

Flights - Browse Prices

API endpoint Description
Browse Quotes Returns the cheapest quotes that meet your query. The prices come from our cached prices resulting from our users’ searches.
Browse Routes Similar to Browse Quotes but with the quotes grouped by routes. This provides the cheapest destinations (countries, cities or airports) from our cached data.
Browse Dates Similar to Browse Quotes but with the quotes grouped by outbound and inbound date. Useful to find the lowest price for a given route, over either a month or a 12 month period.
Browse Grid Similar to Browse Dates but with some pre-processing on our side to output a two-dimensional array to easily display the response in calendar format.

Flights - Live Prices

API endpoint Description
Live prices Returns live prices from all our suppliers for the requested flight itinerary (in the selected market).

Car Hire

Car Hire Live Prices

API endpoint Description
Live prices Returns live prices from all our suppliers for car hire deals (in the selected market).

Hotels

Hotels Live Prices

API endpoint Description
Live prices
NEW
Returns live prices from all our suppliers for hotel deals (in the selected market).

Flights Browse Prices

Browse Quotes

Retrieve the cheapest quotes from our cache prices.

curl "https://www.skyscanner.net/g/chiron/api/v1/flights/browse/browsequotes/v1.0/{country}/{currency}/{locale}/
  {originPlace}/
  {destinationPlace}/
  {outboundPartialDate}/
  {inboundPartialDate}"
  -X GET
  -H "Accept: application/json"
  -H "api-key: << your api key >>"

API endpoint

GET /flights/browse/browsequotes/v1.0/{country}/{currency}/{locale}/{originPlace}/{destinationPlace}/{outboundPartialDate}/{inboundPartialDate}

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST PARAMETERS

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

The following tables show the level of precision supported for the origin and destination places, and the outbound and return dates:

diagram

diagram

Example response from US to anywhere:

{
  "Quotes": [
    {
      "QuoteId": 1,
      "MinPrice": 381,
      "Direct": true,
      "OutboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 68033,
        "DestinationId": 42833,
        "DepartureDate": "2017-02-03T00:00:00"
      },
      "InboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 42833,
        "DestinationId": 68033,
        "DepartureDate": "2017-02-06T00:00:00"
      },
      "QuoteDateTime": "2016-11-09T21:20:00"
    },
  ...
  ],
  "Places": [
    {
      "PlaceId": 837,
      "Name": "United Arab Emirates",
      "Type": "Country",
      "SkyscannerCode": "AE"
    },
  ...
  ],
  "Carriers": [
    {
      "CarrierId": 29,
      "Name": "Mombasa Air Safari"
    },
    {
      "CarrierId": 173,
      "Name": "Silver Airways"
    },
  ...
  ],
  "Currencies": [
    {
      "Code": "EUR",
      "Symbol": "€",
      "ThousandsSeparator": " ",
      "DecimalSeparator": ",",
      "SymbolOnLeft": false,
      "SpaceBetweenAmountAndSymbol": true,
      "RoundingCoefficient": 0,
      "DecimalDigits": 2
    }
  ]
}

RESPONSE PARAMETERS

Parameter Description
Quotes Contains the list of markets (array of countries as name-value pairs).
Places Contains the list of markets (array of countries as name-value pairs).
Carriers Contains the list of markets (array of countries as name-value pairs).
Currencies Contains the list of markets (array of countries as name-value pairs).

Browse Routes

Retrieve the cheapest routes from our cache prices. Similar to the Browse Quotes API but with the routes built for you from the individual quotes.

curl "https://www.skyscanner.net/g/chiron/api/v1/flights/browse/browseroutes/v1.0/{country}/{currency}/{locale}/
  {originPlace}/
  {destinationPlace}/
  {outboundPartialDate}/
  {inboundPartialDate}?"
  -X GET
  -H "Accept: application/json"
  -H "api-key: << your api key >>"

API endpoint

GET /flights/browse/browseroutes/v1.0/{country}/{currency}/{locale}/{originPlace}/{destinationPlace}/{outboundPartialDate}/{inboundPartialDate}

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST PARAMETERS

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

The following tables show the level of precision supported for the origin and destination places, and the outbound and return dates:

diagram

diagram

Example response from US to anywhere:

{
  "Routes": [
    {
      "OriginId": 1811,
      "DestinationId": 1845,
      "QuoteIds": [
        1,
        2
      ],
      "Price": 326,
      "QuoteDateTime": "2016-11-13T01:30:00"
    },
    {
      "OriginId": 1811,
      "DestinationId": 929,
      "QuoteIds": [
        3
      ],
      "Price": 150,
      "QuoteDateTime": "2016-11-09T17:44:00"
    },
  ...
  ],
  "Quotes": [
    {
      "QuoteId": 1,
      "MinPrice": 381,
      "Direct": true,
      "OutboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 68033,
        "DestinationId": 42833,
        "DepartureDate": "2017-02-03T00:00:00"
      },
      "InboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 42833,
        "DestinationId": 68033,
        "DepartureDate": "2017-02-06T00:00:00"
      },
      "QuoteDateTime": "2016-11-09T21:20:00"
    },
  ...
  ],
  "Places": [
    {
      "PlaceId": 837,
      "Name": "United Arab Emirates",
      "Type": "Country",
      "SkyscannerCode": "AE"
    },
  ...
  ],
  "Carriers": [
    {
      "CarrierId": 29,
      "Name": "Mombasa Air Safari"
    },
    {
      "CarrierId": 173,
      "Name": "Silver Airways"
    },
  ...
  ],
  "Currencies": [
    {
      "Code": "EUR",
      "Symbol": "€",
      "ThousandsSeparator": " ",
      "DecimalSeparator": ",",
      "SymbolOnLeft": false,
      "SpaceBetweenAmountAndSymbol": true,
      "RoundingCoefficient": 0,
      "DecimalDigits": 2
    }
  ]
}

RESPONSE PARAMETERS

Parameter Description
Routes Contains the list of routes available, assembled from the individual quotes.
Quotes Contains the list of markets (array of countries as name-value pairs).
Places Contains the list of markets (array of countries as name-value pairs).
Carriers Contains the list of markets (array of countries as name-value pairs).
Currencies Contains the list of markets (array of countries as name-value pairs).

Browse Dates

Retrieve the cheapest dates for a given route from our cache.

curl "https://www.skyscanner.net/g/chiron/api/v1/flights/browse/browsedates/v1.0/{country}/{currency}/{locale}/
  {originPlace}/
  {destinationPlace}/
  {outboundPartialDate}/
  {inboundPartialDate}"
  -X GET
  -H "Accept: application/json"
  -H "api-key: << your api key >>"

API endpoint

GET /flights/browse/browsedates/v1.0/{country}/{currency}/{locale}/{originPlace}/{destinationPlace}/{outboundPartialDate}/{inboundPartialDate}

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST PARAMETERS

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

The following tables show the level of precision supported for the origin and destination places, and the outbound and return dates:

diagram

diagram

Example response from London to Paris:

{
  "Dates": {
    "OutboundDates": [
      {
        "PartialDate": "2016-11",
        "QuoteIds": [
          1,
          2,
          3,
          4,
          5
        ],
        "Price": 66,
        "QuoteDateTime": "2016-11-08T17:28:00"
      },
    ...
    ],
    "InboundDates": [
      {
        "PartialDate": "2016-11",
        "QuoteIds": [
          1
        ],
        "Price": 93,
        "QuoteDateTime": "2016-11-21T17:19:00"
      },
      ...
    ]
  },
  "Quotes": [
    {
      "QuoteId": 1,
      "MinPrice": 381,
      "Direct": true,
      "OutboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 68033,
        "DestinationId": 42833,
        "DepartureDate": "2017-02-03T00:00:00"
      },
      "InboundLeg": {
        "CarrierIds": [
          470
        ],
        "OriginId": 42833,
        "DestinationId": 68033,
        "DepartureDate": "2017-02-06T00:00:00"
      },
      "QuoteDateTime": "2016-11-09T21:20:00"
    },
  ...
  ],
  "Places": [
    {
      "PlaceId": 837,
      "Name": "United Arab Emirates",
      "Type": "Country",
      "SkyscannerCode": "AE"
    },
  ...
  ],
  "Carriers": [
    {
      "CarrierId": 29,
      "Name": "Mombasa Air Safari"
    },
    {
      "CarrierId": 173,
      "Name": "Silver Airways"
    },
  ...
  ],
  "Currencies": [
    {
      "Code": "EUR",
      "Symbol": "€",
      "ThousandsSeparator": " ",
      "DecimalSeparator": ",",
      "SymbolOnLeft": false,
      "SpaceBetweenAmountAndSymbol": true,
      "RoundingCoefficient": 0,
      "DecimalDigits": 2
    }
  ]
}

RESPONSE PARAMETERS

Parameter Description
Dates The list of outbound and inbound dates for which quotes are available.
Quotes Contains the list of markets (array of countries as name-value pairs).
Places Contains the list of markets (array of countries as name-value pairs).
Carriers Contains the list of markets (array of countries as name-value pairs).
Currencies Contains the list of markets (array of countries as name-value pairs).

Browse Dates (grid)

Retrieve the cheapest dates for a given route from our cache, with the results formatted as a two-dimensional array to be easily displayed as a calendar.

curl "https://www.skyscanner.net/g/chiron/api/v1/flights/browse/browsegrid/v1.0/{country}/{currency}/{locale}/
  {originPlace}/
  {destinationPlace}/
  {outboundPartialDate}/
  {inboundPartialDate}"
  -X GET
  -H "Accept: application/json"
  -H "api-key: << your api key >>"

API endpoint

GET /flights/browse/browsegrid/v1.0/{country}/{currency}/{locale}/{originPlace}/{destinationPlace}/{outboundPartialDate}/{inboundPartialDate}

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST PARAMETERS

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

The following tables show the level of precision supported for the origin and destination places, and the outbound and return dates:

diagram

diagram

Example response from US to anywhere:

{
  "Dates": [
    [
      null,
      {
        "DateString": "2017-01"
      },
      {
        "DateString": "2017-02"
      },
      {
        "DateString": "2017-03"
      },
    ...
    ],
    ...
  ],
  "Places": [
    {
      "PlaceId": 837,
      "Name": "United Arab Emirates",
      "Type": "Country",
      "SkyscannerCode": "AE"
    },
  ...
  ],
  "Carriers": [
    {
      "CarrierId": 29,
      "Name": "Mombasa Air Safari"
    },
    {
      "CarrierId": 173,
      "Name": "Silver Airways"
    },
  ...
  ],
  "Currencies": [
    {
      "Code": "EUR",
      "Symbol": "€",
      "ThousandsSeparator": " ",
      "DecimalSeparator": ",",
      "SymbolOnLeft": false,
      "SpaceBetweenAmountAndSymbol": true,
      "RoundingCoefficient": 0,
      "DecimalDigits": 2
    }
  ]
}

RESPONSE PARAMETERS

Parameter Description
Dates Matrix of all the dates available with associated price.
Places Contains the list of markets (array of countries as name-value pairs).
Carriers Contains the list of markets (array of countries as name-value pairs).
Currencies Contains the list of markets (array of countries as name-value pairs).

Flights Live Prices

The Live Pricing Service Session must be created before any pricing data can be obtained. The request contains details of the locations, dates, passengers, cabin class and user details. These parameters define the session, and cannot be changed within the session (with the exception of passenger numbers).

diagram

Creating the session

Request

curl "https://www.skyscanner.net/g/chiron/api/v1/flights/search/pricing/v1.0"
    -X POST
    -H "Content-Type: application/x-www-form-urlencoded"
    -H "api-key: << your api key >>"

API endpoint

POST /flights/search/pricing/v1.0

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Content-Type
REQUIRED
application/x-www-form-urlencoded
X-Forwarded-For
REQUIRED
user’s IP address
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST BODY

Parameter Description
country
REQUIRED
The market/country your user is in
currency
REQUIRED
The currency you want the prices in
locale
REQUIRED
The locale you want the results in (ISO locale)
originPlace
REQUIRED
The origin place (see places)
destinationPlace
REQUIRED
The destination place (see places)
locationSchema
REQUIRED
The location schema for origin/destionation. Use "iata")
outboundDate
REQUIRED
The outbound date. Format “yyyy-mm-dd”.
inboundDate
OPTIONAL
The return date. Format “yyyy-mm-dd”. Use empty string for oneway trip.
cabinClass
OPTIONAL
The cabin class. Can be “Economy”, “PremiumEconomy”, “Business”, “First”
adults
REQUIRED
Number of adults (16+ years). Must be between 1 and 8.
children
OPTIONAL
Number of children (1-16 years). Can be between 0 and 8.
infants
OPTIONAL
Number of infants (under 12 months). Can be between 0 and 8.
includeCarriers
OPTIONAL
Only return results from those carriers. Comma-separated list of carrier ids.
excludeCarriers
OPTIONAL
Filter out results from those carriers. Comma-separated list of carrier ids.
groupPricing
OPTIONAL
If set to true, prices will be obtained for the whole passenger group and if set to false it will be obtained for one adult. By default it is set to false.

Response

Example response with polling url:

{ 
  "session-id": "{SessionKey}"
}

A successful response contains the session ID.

RESPONSE PARAMETERS

Element Detail
session-id Contains the session id for polling the results in the newly created session

Polling the results

Request

Example request with polling url:

Location "https://www.skyscanner.net/g/chiron/api/v1/flights/search/pricing/v1.0?
    session_id={SessionKey}
    &stops=0
    &duration=360
    &includeCarriers=ba;u2;af"

API endpoint

GET /pricing/v1.0/

or go to our test harness

HEADER VALUES

Header Value
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json or application/xml
The default response format is XML

REQUEST PARAMETERS

Parameter Description
session-id
REQUIRED
The session ID from the POST request
sortType
OPTIONAL
The parameter to sort results on. Can be carrier, duration, outboundarrivetime, outbounddeparttime, inboundarrivetime, inbounddeparttime, price
sortOrder
OPTIONAL
The sort order. ‘asc’ or 'desc’
duration
OPTIONAL
Filter for maximum duration in minutes. Integer between 0 and 1800
includeCarriers
OPTIONAL
Filter flights by the specified carriers. Must be semicolon-separated IATA codes.
excludeCarriers
OPTIONAL
Filter flights by any but the specified carriers. Must be semicolon-separated IATA codes.
originAirports
OPTIONAL
Origin airports to filter on. List of airport codes delimited by ‘;’
destinationAirports
OPTIONAL
Destination airports to filter on. List of airport codes delimited by ‘;’
stops
OPTIONAL
Filter for maximum number of stops.
0 for direct flights only
1 for flights with maximum one stop
omit for all flights (direct and indirect)
outboundDepartTime
OPTIONAL
Filter for outbound departure time by time period of the day (i.e. morning, afternoon, evening). List of day time period delimited by ‘;’ (acceptable values are M, A, E)
outboundDepartStartTime
OPTIONAL
Filter for start of range for outbound departure time. Format ‘hh:mm’.
outboundDepartEndTime
OPTIONAL
Filter for end of range for outbound departure time. Format ‘hh:mm’.
inboundDepartTime
OPTIONAL
Filter for inbound departure time by time period of the day (i.e. morning, afternoon, evening). List of day time period delimited by ‘;’ (acceptable values are M, A, E)
inboundDepartStartTime
OPTIONAL
Filter for start of range for inbound departure time. Format ‘hh:mm’.
inboundDepartEndTime
OPTIONAL
Filter for start of range for inbound departure time. Format ‘hh:mm’.

Pagination and payload

Example polling request with pagination:

Location "https://www.skyscanner.net/g/chiron/api/v1/flights/search/pricing/v1.0?
    session_id={SessionKey}
    &pageIndex=0
    &pageSize=10"

If you want to supply results in pages, rather than show all the results available, you can use the parameters below.

REQUEST PARAMETERS (PAGINATION)

Parameter Description
pageIndex The desired page number.
pageSize The number of itineraries per page. Defaults to 10 if not specified.

Keep requesting page 0 until you get UpdatesComplete with pageIndex=0 at half a second to one second interval. Once you get UpdatesComplete you may request any page and page size.

For more information about polling the results please see our FAQ

We have no facility to tell you how many pages exist. Beyond the end of results, you will receive successful, empty, responses.


Response

Example polling request response:

{
  "SessionKey": "ab5b948d616e41fb954a4a2f6b8dde1a_ecilpojl_7CAAD17D0CFC34BFDE68DEBFDFD548C7",
  "Query": {
    "Country": "GB",
    "Currency": "GBP",
    "Locale": "en-gb",
    "Adults": 1,
    "Children": 0,
    "Infants": 0,
    "OriginPlace": "2343",
    "DestinationPlace": "13554",
    "OutboundDate": "2017-05-30",
    "InboundDate": "2017-06-02",
    "LocationSchema": "Default",
    "CabinClass": "Economy",
    "GroupPricing": false
  },
  "Status": "UpdatesComplete",
  "Itineraries": [
    {
      "OutboundLegId": "11235-1705301925--32480-0-13554-1705302055",
      "InboundLegId": "13554-1706020700--32480-0-11235-1706020820",
      "PricingOptions": [
        {
          "Agents": [
            4499211
          ],
          "QuoteAgeInMinutes": 0,
          "Price": 83.41,
          "DeeplinkUrl": "http://partners.api.skyscanner.net/apiservices/deeplink/v2?_cje=jzj5DawL5zJyT%2bnfe1..."
        },
        ...
        ],
      "BookingDetailsLink": {
        "Uri": "/apiservices/pricing/v1.0/ab5b948d616e41fb954a4a2f6b8dde1a_ecilpojl_7CAAD17D0CFC34BFDE68DEBFDFD548C7/booking",
        "Body": "OutboundLegId=11235-1705301925--32480-0-13554-1705302055&InboundLegId=13554-1706020700--32480-0-11235-1706020820",
        "Method": "PUT"
      }
    },
    ...
   ],
  "Legs": [
    {
      "Id": "11235-1705300650--32302,-32480-1-13554-1705301100",
      "SegmentIds": [
        0,
        1
      ],
      "OriginStation": 11235,
      "DestinationStation": 13554,
      "Departure": "2017-05-30T06:50:00",
      "Arrival": "2017-05-30T11:00:00",
      "Duration": 250,
      "JourneyMode": "Flight",
      "Stops": [
        13880
      ],
      "Carriers": [
        885,
        881
      ],
      "OperatingCarriers": [
        885,
        881
      ],
      "Directionality": "Outbound",
      "FlightNumbers": [
        {
          "FlightNumber": "290",
          "CarrierId": 885
        },
        {
          "FlightNumber": "1389",
          "CarrierId": 881
        }
      ]
    },
    ...
   ],
   "Segments": [
    {
      "Id": 0,
      "OriginStation": 11235,
      "DestinationStation": 13880,
      "DepartureDateTime": "2017-05-30T06:50:00",
      "ArrivalDateTime": "2017-05-30T07:55:00",
      "Carrier": 885,
      "OperatingCarrier": 885,
      "Duration": 65,
      "FlightNumber": "290",
      "JourneyMode": "Flight",
      "Directionality": "Outbound"
    },
    ...
  ],
    "Carriers": [
    {
      "Id": 885,
      "Code": "BE",
      "Name": "Flybe",
      "ImageUrl": "http://s1.apideeplink.com/images/airlines/BE.png",
      "DisplayCode": "BE"
    },
    ...
  ],
  "Agents": [
    {
      "Id": 1963108,
      "Name": "Mytrip",
      "ImageUrl": "http://s1.apideeplink.com/images/websites/at24.png",
      "Status": "UpdatesComplete",
      "OptimisedForMobile": true,
      "BookingNumber": "+448447747881",
      "Type": "TravelAgent"
    },
    ...
  ],
  "Places": [
    {
      "Id": 11235,
      "ParentId": 2343,
      "Code": "EDI",
      "Type": "Airport",
      "Name": "Edinburgh"
    },
    ...
  ],
  "Currencies": [
    {
      "Code": "GBP",
      "Symbol": "£",
      "ThousandsSeparator": ",",
      "DecimalSeparator": ".",
      "SymbolOnLeft": true,
      "SpaceBetweenAmountAndSymbol": false,
      "RoundingCoefficient": 0,
      "DecimalDigits": 2
    },
    ...
  ]
}

The response contains a list of itineraries with, for each one, a list of pricing options containing:

RESPONSE PARAMETERS

Parameter Description
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.

ITINERARY PARAMETERS

Element Description
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

Please note that you must not force users to your deeplink. Once they have made a search you should provide them with a list of results, and an option to filter that list, in order to pick the flight that best suits their needs.

Car Hire Live Prices

Retrieve live prices for car hire providers.

The live updates are performed asynchronously so you need to create a session and then poll for updates. Please note that it may take up to a minute to update all the results. After you create a session, you will immediately get the results of the first poll.

The Create Session request (HTTP POST) contains all query parameters, such as pickup and dropoff locations. The URL which should be used to poll the session is returned in the HTTP Response Header “Location”.

The Poll Session (HTTP GET) should be used to poll the session at a suitable interval (e.g. every 1-3 seconds) whilst there are still updates pending.

Creating the session

curl "https://www.skyscanner.net/g/chiron/api/v1/carhire/liveprices/v2/
  {market}/{currency}/{locale}/
  {pickupplace}/{dropoffplace}/
  {pickupdatetime}/{dropoffdatetime}/
  {driverage}?api-key={apiKey}&userip={userip}}"
  -X POST
  -H "Content-Type: application/x-www-form-urlencoded"
  -H "Accept: application/jsonp"

Request

API endpoint

POST /carhire/liveprices/v2/{market}/{currency}/{locale}/{pickupplace}/{dropoffplace}/{pickupdatetime}/{dropoffdatetime}/{driverage}

HEADER VALUES

Header Value
Content-Type
REQUIRED
application/x-www-form-urlencoded
api-key
REQUIRED
<<your API key>>
Accept
OPTIONAL
application/json, application/jsonp or application/xml
The default response format is XML

REQUEST PARAMETERS

Parameter Description
country
REQUIRED
The market country your user is in
currency
REQUIRED
The currency you want the prices in
locale
REQUIRED
The locale you want the results in (ISO locale)
pickupPlace
REQUIRED
The pickup location. IATA code or a latitude,longitude pair formatted as lat,lon-latlong e.g. /55.95,-3.37-latlong/
dropoffPlace
REQUIRED
The dropoff location. IATA code or a latitude,longitude pair formatted as lat,lon-latlong e.g. /55.95,-3.37-latlong/
pickupDateTime
REQUIRED
Date and time for pickup. Formatted as ISO Date and Time format: YYYY-MM-DDThh:mm
dropoffDateTime
OPTIONAL
Date and time for dropoff. Formatted as ISO Date and Time format: YYYY-MM-DDThh:mm
driverAge
REQUIRED
Must be between 21 and 75 (inclusive).
userIp
REQUIRED
The IP address of the end user (IPv4 only). Format: 188.39.95.93
api-key
REQUIRED
Your API key

Response

Example response with session ID:

{
    "session_status": "created",
    "session_id": "eyJvIjpbImRhdGFhcGkiLCJHQiIsImVuLUdCIiwiR0JQIiwiRURJIiwiMjAxOS0xMi0wMVQxMDowMDowMCIsIjIwMTktMTItMDdUMTc6MDA6MDAiLCJFREkiLDM1LCIxMjcuMC4wLjEiXSwibiI6MTczODF90"
}

A successful session creation will immediately 302 to the first poll. This poll will respond as follows, with the URL to subsequently poll the session included in the response.

RESPONSE PARAMETERS

Element Detail
session_id Contains the session ID for polling the results.

Polling the results

Polling the session will return the details of all possible car hire quotes that satisfy the request query parameters. Prices will be obtained for the car hire quotes during the session. The calling application should poll the session in 1-3 second intervals until all updates are complete (all returned websites have inProgress equal to false), and all prices have been populated. This can take from a few seconds to a minute depending on the query.

Please allow at least one second between polls.

A note about delta results

In your polling requests you may specify a parameter called ‘deltaExcludeWebsites’. This is a CSV or semicolon-separated list of website IDs. The server will set this in the Location headers to exclude whatever websites have finished sending results (inProgress equal to false). Excluding any given provider will remove its cars and website information from your result. Merely supplying&deltaExcludeWebsites= removes all images, the query, and the car classes lookup. The Location header in the first poll will include this parameter, even if it’s an empty string, in order that you don’t fetch that information multiple times.

curl "https://www.skyscanner.net/g/chiron/api/v1/carhire/liveprices/v2/carhire/liveprices/v2/{sessionKey}?apiKey={apiKey}&deltaExcludeWebsites={a,b,c...}""

Request

API ENDPOINT

GET /carhire/liveprices/v2/{sessionKey}

TRY IT OUT

Run in Postman

or go to the test harness

HEADERS

Key Description
api-key
REQUIRED
The API key needed to access the endpoint.

REQUEST PARAMETERS

Parameter Description
deltaExcludeWebsites
OPTIONAL
A list of website IDs whose results you want to discard, or an empty string. CSV or semicolon-separated values.

Example response with polling url in the header:

{
  "submitted_query": {
    "market": "GB",
    "currency": "GBP",
    "locale": "en-GB",
    "pickup_place": "EDI",
    "dropoff_place": "EDI",
    "pickup_date_time": "2017-07-01T10:00",
    "drop_off_date_time": "2017-07-07T17:00",
    "driver_age": "35"
  },
  "cars": [
    {
      "sipp": "CDMD",
      "image_id": 523911,
      "price_all_days": 262.6,
      "seats": 5,
      "doors": 5,
      "bags": 3,
      "manual": true,
      "air_conditioning": true,
      "mandatory_chauffeur": false,
      "website_id": "argu",
      "vehicle": "Opel Astra or similar",
      "deeplink_url": "http://partners.api.skyscanner.net/apiservices/deeplink/v2?_c[...]",
      "car_class_id": 3,
      "location": {
        "pick_up": {
          "address": "CAR RENTAL CENTRE EDINBURGH APT 176 JUBILEE ROAD, EDINBURGH, EH12 9FT",
          "distance_to_search_location_in_km": 0.0992002183,
          "geo_info": [
            55.95,
            -3.362
          ]
        }
      },
      "value_add": {
        "fuel": {
          "type": "diesel",
          "policy": "full_to_full",
          "fair": true
        },
        "insurance": {
          "theft_protection": true,
          "third_party_cover": true,
          "free_collision_waiver": true
        },
        "free_cancellation": true,
        "free_breakdown_assistance": true,
        "additional_drivers": {
          "paid": {
            "currency_id": "GBP",
            "price": 84
          }
        },
        "included_mileage": {
          "unlimited": true
        }
      },
      "vendor": {
          "logo_url": "http://logos.skyscnr.com/images/carhire/vendors/675.png",
          "name": "Green Motion",
          "id": 675
      },
    },
  ...
  ],
  "websites": [
    {
      "id": "erac",
      "name": "Enterprise",
      "image_url": "http://logos.skyscnr.com/images/websites/erac.png",
      "in_progress": false,
      "optimised_for_mobile": true
    },
  ...
  ],
  "images": [
    {
      "id": 356029,
      "url": "http://logos.skyscnr.com/images/carhire/sippmaps/citroen_berlingo.jpg"
    },
  ...
  ],
  "car_classes": [
    {
      "id": 1,
      "sort_order": 0,
      "name": "Mini"
    },
    ...
  ]
}

Response

Parameter Description
submitted_query Contains the URL for polling the results.
cars The list of available cars. See Car Details below.
websites A reference list of websites where the cars can be hired, including website logo url. The boolean field “in_progress” indicates whether or not there are still updates pending for that website.
images Contains the images of the car types.
car_classes Contains the URL for polling the results.

CAR DETAILS

Parameter Description
sipp SIPP code (see codes guide)
image_id reference to the images set
price_all_days total price
seats number of seats
doors number of doors
bags number of bags
manual Boolean
air_conditioning Boolean
mandatory_chauffeur Boolean. Indicates whether the vehicle comes with a driver. This is particularly frequent in countries like India where it is common for a driver to be supplied with a car.
website_id reference to the website set
vehicle vehicle (name and type)
deeplink_url contains the URL to deeplink through to the partner website. Please add the no-follow attribute when you link to the deeplink. See How do I add the nofollow attribute? in the FAQ section.
car_class_id reference to the car_classes set
location location containing address, lat/lon and distance to search location for pick up and drop off places (drop off can be not available even though the query contains a drop off place)
value_add See below
vendor Car vendor information (id, name and logo URL). Unlike website, represents not the booking agent, but direct supplier of the car (could be the same).

CAR VALUE_ADD

Parameter Description
fuel containing 'type’ (one of “petrol”, “diesel”, “lpg”, “electric” or null); 'policy’ (one of “full_to_full”, “quarter_to_quarter”, “half_to_half”, “free_full_tank”, “half_to_empty”, “quarter_to_empty” or null); 'fair’ (boolean)
free_equipments subset of [radio, gps, roof_rack, ski_rack, snow_chains, snow_tyres, baby_seat, child_seat, booster_seat]
insurance containing 'theft_protection’ (boolean or null), 'third_party_cover’ (boolean or null), 'free_collision_waiver’ (boolean or null), 'free_damage_refund’ (boolean or null)
young_driver_surcharge Boolean or null
one_way_surcharge Boolean or null
free_cancellation Boolean or null
free_breakdown_assistance Boolean or null
additional_drivers containing 'free’ (int of how many free drivers); paid (containing currency_id and price); original_price (containing currency_id and price)
included_mileage containing 'unlimited’ (boolean or null); 'unit’ (can be “km” or “mile”); 'included’ (int how many km/miles included in the booking)

Eco Average Emissions

This is an experimental endpoint which provides you access to cached roughly calculated CO2 emissions for direct flights.

Single Eco Average Emissions

Retrieve the eco average emissions for a single direct flight.

GET 'https://www.skyscanner.net/g/chiron/api/v1/
    eco/average-emissions?
    routes="{Origin, Destination}"'

API endpoint

GET /eco/average-emissions

HEADERS

Parameter Description
api-key
REQUIRED
The API Key to identify the customer

REQUEST PARAMETERS

Parameter Description
routes
REQUIRED
Origin and Destination

Example response

[{
  "originId" : 15083,
  "originCode" : "ORY",
  "destinationId" : 11235,
  "destinationCode" : "EDI",
  "emissions" : 11861.723,
  "routeCodeId" : "ORY,EDI",
  "routeId" : "15083,11235"
}]

RESPONSE PARAMETERS

Parameter Description
originId Internal ID of the origin.
originCode The code for the origin.
destinationId Internal ID of the destination.
desticationCode The code for the destination.
emissions The amount of CO2 emissions for the provided route.
routeCodeID The code for the route.
routeId Internal ID of the route.

Bulk Eco Average Emissions

Retrieve the eco average emissions for multiple direct flights.

GET 'https://www.skyscanner.net/g/chiron/api/v1/
    eco/average-emissions?
    routes="{Origin1, Destination1; Origin2, Destination2;...}"'

API endpoint

GET /eco/average-emissions

HEADERS

Parameter Description
api-key
REQUIRED
The API Key to identify the customer

REQUEST PARAMETERS

Parameter Description
routes
REQUIRED
Origin and Destination

Example response

[ {
    "originId" : 15083,
    "originCode" : "ORY",
    "destinationId" : 11235,
    "destinationCode" : "EDI",
    "emissions" : 11861.723,
    "routeCodeId" : "ORY,EDI",
    "routeId" : "15083,11235"
}, {
    "originId" : 12712,
    "originCode" : "JFK",
    "destinationId" : 13554,
    "destinationCode" : "LHR",
    "emissions" : 139558.38,
    "routeCodeId" : "JFK,LHR",
    "routeId" : "12712,13554"
}]

RESPONSE PARAMETERS

Parameter Description
originId Internal ID of the origin.
originCode The code for the origin.
destinationId Internal ID of the destination.
desticationCode The code for the destination.
emissions The amount of CO2 emissions for the provided route.
routeCodeID The code for the route.
routeId Internal ID of the route.

Localisation

All Skyscanner services are localised by market, language and currency, so these three parameters must be added to every request.

Locales

Retrieve the locales that we support to translate your content.

GET "https://www.skyscanner.net/g/chiron/api/v1/localisation/
    reference/v1.0/locales"

API endpoint

GET /localisation/reference/v1.0/locales

HEADERS

Parameter Description
api-key
REQUIRED
Your API Key.

Example response

{
  "Locales": [
    {
      "Code": "ar-AE",
      "Name": "العربية (الإمارات العربية المتحدة)"
    },
    {
      "Code": "az-AZ",
      "Name": "Azərbaycan­ılı (Azərbaycan)"
    },
    {
      "Code": "bg-BG",
      "Name": "български (България)"
    },
    {
      "Code": "ca-ES",
      "Name": "català (català)"
    },
  ...
  ]
}

RESPONSE PARAMETERS

Parameter Description
Locales Contains the list of locales that we support with name and code.

Currencies

Retrieve the currencies that we support.

GET "https://www.skyscanner.net/g/chiron/api/v1/localisation/
    reference/v1.0/currencies"

API endpoint

GET /localisation/reference/v1.0/currencies

HEADERS

Parameter Description
api-key
REQUIRED
Your API Key.

Example response

{
  "Currencies": [
      {
          "Code": "USD",
          "Symbol": "$",
          "ThousandsSeparator": ",",
          "DecimalSeparator": ".",
          "SymbolOnLeft": true,
          "SpaceBetweenAmountAndSymbol": false,
          "RoundingCoefficient": 0,
          "DecimalDigits": 2
      },
  ...
  ]
}

RESPONSE PARAMETERS

Parameter Description
Currencies The list of currencies that we support, with corresponding symbol and formatting information for internationalisation.

Markets

Retrieve the market countries that we support.

Most suppliers (airlines, travel agents and car hire dealers) set their fares based on the market (or country of purchase). It is therefore necessary to specify the market country in every query.

GET "https://www.skyscanner.net/g/chiron/api/v1/localisation/
    reference/v1.0/countries/
    {locale}"

API endpoint

GET /reference/v1.0/countries/{locale}

REQUEST PARAMETERS

Parameter Description
locale
REQUIRED
The language you want the results in (ISO locale). See locales for locales that we support.
api-key (header, not param)
REQUIRED
Your API Key.

Example response

{
  "Countries": [
    {
      "Code": "AD",
      "Name": "Andorra"
    },
    {
      "Code": "AE",
      "Name": "United Arab Emirates"
    },
    {
      "Code": "AF",
      "Name": "Afghanistan"
    },
  ...
  ]
}

RESPONSE PARAMETERS

Parameter Description
Countries Contains the list of markets (array of countries as name-value pairs).

Places

Places can be of 4 different types:

  1. Country
  2. City
  3. Airport
  4. Anywhere (flights browse API)

You can use any of the following endpoints to get information about places:

List of places

Get a list of places that match a query string.

GET "https://www.skyscanner.net/g/chiron/api/v1/
    places/autosuggest/v1.0/
    {country}/{currency}/{locale}?
    query={query}

API endpoint

GET /places/autosuggest/v1.0/{market}/{currency}/{locale}

HEADERS

Key Description
api-key
REQUIRED
The API key needed to access the endpoint.

REQUEST PARAMETERS

Parameter Description
country
REQUIRED
The market/country your user is in
currency
REQUIRED
The currency you want the prices in
locale
REQUIRED
The locale you want the results in (ISO locale)
query
REQUIRED
The query string, must be at least 2 characters long.

Example response for query=pari

{
  "Places": [
    {
      "PlaceId": "PARI-sky",
      "PlaceName": "Paris",
      "CountryId": "FR-sky",
      "RegionId": "",
      "CityId": "PARI-sky",
      "CountryName": "France"
    },
    {
      "PlaceId": "CDG-sky",
      "PlaceName": "Paris Charles de Gaulle",
      "CountryId": "FR-sky",
      "RegionId": "",
      "CityId": "PARI-sky",
      "CountryName": "France"
    },
    {
      "PlaceId": "ORY-sky",
      "PlaceName": "Paris Orly",
      "CountryId": "FR-sky",
      "RegionId": "",
      "CityId": "PARI-sky",
      "CountryName": "France"
    },
  ...
  ]
}

RESPONSE PARAMETERS

Parameter Description
Places Contains the list of places that match the query string. The places can be countries, cities or airports.

Place Information

Get information about a country, city or airport using its ID.

API endpoint

GET /places/autosuggest/v1.0/{country}/{currency}/{locale}

GET "https://www.skyscanner.net/g/chiron/api/v1
    places/autosuggest/v1.0/
    {market}/{currency}/{locale}?
    id={place_id}

HEADERS

Key Description
api-key
REQUIRED
The API key needed to access the endpoint.

REQUEST PARAMETERS

Parameter Description
country
REQUIRED
The market/country your user is in
currency
REQUIRED
The currency you want the prices in
locale
REQUIRED
The locale you want the results in (ISO locale)
id
REQUIRED
The place id (e.g. “CDG-sky”) or the user’s ip address (e.g. “188.39.95.140-ip”)
apiKey
REQUIRED
Your API Key

Example response for United Kingdom: id=uk

{
  "Places": [
    {
      "PlaceId": "UK-sky",
      "PlaceName": "United Kingdom",
      "CountryId": "UK-sky",
      "CityId": "-sky",
      "CountryName": "United Kingdom"
    }
  ]
}

Example response for Charles de Gaulle airport: id=cdg

{
  "Places": [
    {
      "PlaceId": "CDG-sky",
      "PlaceName": "Paris Charles de Gaulle",
      "CountryId": "FR-sky",
      "CityId": "PARI-sky",
      "CountryName": "France"
    }
  ]
}

Example response for user IP address 188.39.95.140: id=188.39.95.140-ip

{
  "Places": [
    {
      "PlaceId": "LOND-sky",
      "PlaceName": "London",
      "CountryId": "UK-sky",
      "CityId": "LOND-sky",
      "CountryName": "United Kingdom"
    }
  ]
}

RESPONSE PARAMETERS

Parameter Description
Places Contains the information about the place such as name (in chosen locale), city, country.

Geo Catalog

Get the full list of all the places that we support.

GET "https://www.skyscanner.net/g/chiron/api/v1/
    places/geo/v1.0

API endpoint

GET /places/geo/v1.0

HEADERS

Key Description
api-key
REQUIRED
The API key needed to access the endpoint.

REQUEST PARAMETERS

Parameter Description
languageid A locale in ISO format, for example fr-FR

Response extract:

{
  "Continents": [
    {
      "Countries": [
        {
          "CurrencyId": "AFN",
          "Regions": [],
          "Cities": [
            {
              "SingleAirportCity": true,
              "Airports": [
                {
                  "CityId": "BINA",
                  "CountryId": "AF",
                  "Location": "67.823611, 34.804167",
                  "Id": "BIN",
                  "Name": "Bamiyan"
                }
              ],
              "CountryId": "AF",
              "Location": "67.823611, 34.804167",
              "IataCode": "BIN",
              "Id": "BINA",
              "Name": "Bamiyan"
            },
            ...
          ]
        },
        ...
      ]
    },
    ...
  ]
 }

RESPONSE PARAMETERS

Parameter Description
Continents Contains the list of all the continents.
Countries Contains the list of all the countries.
Regions Contains the list of all the regions.
Cities Contains the list of all the cities.
Airports Contains the list of all the airports.

Schemas

Example place codes:

EDIN-sky
CDG-iata
-37.4849,144.5747-latlong

Each place can be referred to via different schemas, described below.

SCHEMAS

Parameter Description
sky Skyscanner code. The response from Autosuggest provides these ids.
iata / iso Airports and cities often use the internationally recognized IATA and ISO schemas.
For Flights we recommend that you use the Skyscanner code which is very similar but solves ambiguous cases where a city and one of its airports share the same code. For Car Hire please use the IATA code.
latlong Latitude and longitude of the place in the following form: “latitude,longitude”. The nearest city with airport will be used.
ip IP of a user. The nearest city with airport will be used. Format: 188.39.95.93
GeoNameCodes GeoNameCodes from the GeoNames schema (see geonames.org)
GeoNameIDs GeoNameIDs from the GeoNames schema (see geonames.org)

If the default Skyscanner schema is not used, the schema name must be appended to the place id as follows: placeCode-locationSchema

Flights Day View supported parameters Schema

/flights/day-view

A schema definition for the flights day-view microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Flights Day View supported parameters Properties

Property Type Required Nullable Default Defined by
adultsv2 integer Required No 1 Flights Day View supported parameters (this schema)
alternativedestinations string[] Optional No Flights Day View supported parameters (this schema)
alternativeorigins string[] Optional No Flights Day View supported parameters (this schema)
cabinclass enum Required No "economy" Flights Day View supported parameters (this schema)
childrenv2 string Optional No Flights Day View supported parameters (this schema)
currency string Optional No Flights Day View supported parameters (this schema)
destination string Required No Flights Day View supported parameters (this schema)
inboundDate string Optional No Flights Day View supported parameters (this schema)
inboundaltsenabled boolean Optional No Flights Day View supported parameters (this schema)
infants integer Optional No Flights Day View supported parameters (this schema)
locale string Optional No Flights Day View supported parameters (this schema)
market string Optional No Flights Day View supported parameters (this schema)
origin string Required No Flights Day View supported parameters (this schema)
outboundDate string Required No Flights Day View supported parameters (this schema)
outboundaltsenabled boolean Optional No Flights Day View supported parameters (this schema)
preferDirects boolean Optional No Flights Day View supported parameters (this schema)
rtn enum Optional No Flights Day View supported parameters (this schema)
* any Additional Yes this schema allows additional properties

adultsv2

Number of adult passengers. Adults have to be 16 years old or older.

adultsv2

adultsv2 Type

integer

alternativedestinations

An array of location codes which will be used as alternative destinations

alternativedestinations

alternativedestinations Type

Array type: string[]

All items must be of the type: string

alternativeorigins

An array of location codes which will be used as alternative origins

alternativeorigins

alternativeorigins Type

Array type: string[]

All items must be of the type: string

cabinclass

Cabin class for the flight, possible values are: economy, premiumeconomy, business and first

cabinclass

The value of this property must be equal to one of the known values below.

cabinclass Known Values

Value Description
economy
premiumeconomy
business
first

childrenv2

Number of child passengers. The value must be in the format integer|integer.. where each number is the age of the child passenger

childrenv2

childrenv2 Type

string

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

destination

Location code for the destination

destination

destination Type

string

inboundDate

Inbound date in the format YYYY-MM-DD

inboundDate

inboundDate Type

string

inboundaltsenabled

Including nearby airports as an inbound place

inboundaltsenabled

inboundaltsenabled Type

boolean

infants

Number of infant passengers. An infant is 1 year old or younger.

infants

infants Type

integer

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

origin

Location code for the origin

origin

origin Type

string

outboundDate

Outbound date in the format YYYY-MM-DD

outboundDate

outboundDate Type

string

outboundaltsenabled

Including nearby airports as an outbound place

outboundaltsenabled

outboundaltsenabled Type

boolean

preferDirects

Will search only for direct flights if the value is true

preferDirects

preferDirects Type

boolean

rtn

Trip type: 0 if oneway or 1 if return or multicity trip

rtn

The value of this property must be equal to one of the known values below.

rtn Known Values

Value Description
0
1

Flights Browse View supported parameters Schema

/flights/browse-view

A schema definition for the flights browse view microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Flights Browse View supported parameters Properties

Property Type Required Nullable Defined by
adultsv2 integer Optional No Flights Browse View supported parameters (this schema)
childrenv2 string Optional No Flights Browse View supported parameters (this schema)
currency string Optional No Flights Browse View supported parameters (this schema)
destination string Optional No Flights Browse View supported parameters (this schema)
inboundDate string Optional No Flights Browse View supported parameters (this schema)
infants integer Optional No Flights Browse View supported parameters (this schema)
iym string Optional No Flights Browse View supported parameters (this schema)
locale string Optional No Flights Browse View supported parameters (this schema)
market string Optional No Flights Browse View supported parameters (this schema)
origin string Required No Flights Browse View supported parameters (this schema)
outboundDate string Optional No Flights Browse View supported parameters (this schema)
oym string Optional No Flights Browse View supported parameters (this schema)
preferDirects boolean Optional No Flights Browse View supported parameters (this schema)
rtn enum Optional No Flights Browse View supported parameters (this schema)
* any Additional Yes this schema allows additional properties

adultsv2

Number of adult passengers. Adults have to be 16 years old or older.

adultsv2

adultsv2 Type

integer

childrenv2

Number of child passengers. The value must be in the format integer|integer.. where each number is the age of the child passenger

childrenv2

childrenv2 Type

string

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

destination

Location code for the destination

destination

destination Type

string

inboundDate

Inbound date in the format YYYY-MM-DD

inboundDate

inboundDate Type

string

infants

Number of infant passengers. An infant is 1 year old or younger.

infants

infants Type

integer

iym

Arrival date in the format: YYYY-MM

iym

iym Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

origin

Location code for the origin

origin

origin Type

string

outboundDate

Outbound date in the format YYYY-MM-DD

outboundDate

outboundDate Type

string

oym

Departure date in the format: YYYY-MM

oym

oym Type

string

preferDirects

Will search only for direct flights if the value is true

preferDirects

preferDirects Type

boolean

rtn

Trip type: 0 if oneway or 1 if return or multicity trip

rtn

The value of this property must be equal to one of the known values below.

rtn Known Values

Value Description
0
1

Flights Calendar Month View supported parameters Schema

/flights/calendar-month-view

A schema definition for the flights calendar month view microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Flights Calendar Month View supported parameters Properties

Property Type Required Nullable Defined by
adultsv2 integer Optional No Flights Calendar Month View supported parameters (this schema)
childrenv2 string Optional No Flights Calendar Month View supported parameters (this schema)
currency string Optional No Flights Calendar Month View supported parameters (this schema)
destination string Required No Flights Calendar Month View supported parameters (this schema)
infants integer Optional No Flights Calendar Month View supported parameters (this schema)
iym string Required No Flights Calendar Month View supported parameters (this schema)
locale string Optional No Flights Calendar Month View supported parameters (this schema)
market string Optional No Flights Calendar Month View supported parameters (this schema)
origin string Required No Flights Calendar Month View supported parameters (this schema)
oym string Required No Flights Calendar Month View supported parameters (this schema)
preferDirects boolean Optional No Flights Calendar Month View supported parameters (this schema)
rtn enum Optional No Flights Calendar Month View supported parameters (this schema)
* any Additional Yes this schema allows additional properties

adultsv2

Number of adult passengers. Adults have to be 16 years old or older.

adultsv2

adultsv2 Type

integer

childrenv2

Number of child passengers. The value must be in the format integer|integer.. where each number is the age of the child passenger

childrenv2

childrenv2 Type

string

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

destination

Location code for the destination

destination

destination Type

string

infants

Number of infant passengers. An infant is 1 year old or younger.

infants

infants Type

integer

iym

Arrival date in the format: YYYY-MM

iym

iym Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

origin

Location code for the origin

origin

origin Type

string

oym

Departure date in the format: YYYY-MM

oym

oym Type

string

preferDirects

Will search only for direct flights if the value is true

preferDirects

preferDirects Type

boolean

rtn

Trip type: 0 if oneway or 1 if return or multicity trip

rtn

The value of this property must be equal to one of the known values below.

rtn Known Values

Value Description
0
1

Flights Day View for multicity search Schema

/flights/multicity

A schema definition for the flights day-view microsite supported query parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Flights Day View for multicity search Properties

Property Type Required Nullable Default Defined by
adultsv2 integer Required No 1 Flights Day View for multicity search (this schema)
cabinclass enum Required No "economy" Flights Day View for multicity search (this schema)
childrenv2 string Optional No Flights Day View for multicity search (this schema)
currency string Optional No Flights Day View for multicity search (this schema)
date0 string Required No Flights Day View for multicity search (this schema)
date1 string Optional No Flights Day View for multicity search (this schema)
date2 string Optional No Flights Day View for multicity search (this schema)
date3 string Optional No Flights Day View for multicity search (this schema)
date4 string Optional No Flights Day View for multicity search (this schema)
date5 string Optional No Flights Day View for multicity search (this schema)
destination0 string Required No Flights Day View for multicity search (this schema)
destination1 string Optional No Flights Day View for multicity search (this schema)
destination2 string Optional No Flights Day View for multicity search (this schema)
destination3 string Optional No Flights Day View for multicity search (this schema)
destination4 string Optional No Flights Day View for multicity search (this schema)
destination5 string Optional No Flights Day View for multicity search (this schema)
infants integer Optional No Flights Day View for multicity search (this schema)
locale string Optional No Flights Day View for multicity search (this schema)
market string Optional No Flights Day View for multicity search (this schema)
origin0 string Required No Flights Day View for multicity search (this schema)
origin1 string Optional No Flights Day View for multicity search (this schema)
origin2 string Optional No Flights Day View for multicity search (this schema)
origin3 string Optional No Flights Day View for multicity search (this schema)
origin4 string Optional No Flights Day View for multicity search (this schema)
origin5 string Optional No Flights Day View for multicity search (this schema)
* any Additional Yes this schema allows additional properties

adultsv2

Number of adult passengers. Adults have to be 16 years old or older.

adultsv2

adultsv2 Type

integer

cabinclass

Cabin class for the flight, possible values are: economy, premiumeconomy, business and first

cabinclass

The value of this property must be equal to one of the known values below.

cabinclass Known Values

Value Description
economy
premiumeconomy
business
first

childrenv2

Number of child passengers. The value must be in the format integer|integer.. where each number is the age of the child passenger

childrenv2

childrenv2 Type

string

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

date0

Outbound date of the first flight in the format YYYY-MM-DD

date0

date0 Type

string

date1

Outbound date of the second flight in the format YYYY-MM-DD

date1

date1 Type

string

date2

Outbound date of the third flight in the format YYYY-MM-DD

date2

date2 Type

string

date3

Outbound date of the fourth flight in the format YYYY-MM-DD

date3

date3 Type

string

date4

Outbound date of the fifth flight in the format YYYY-MM-DD

date4

date4 Type

string

date5

Outbound date of the sixth flight in the format YYYY-MM-DD

date5

date5 Type

string

destination0

Location code for the destination of the first flight

destination0

destination0 Type

string

destination1

Location code for the destination of the second flight

destination1

destination1 Type

string

destination2

Location code for the destination of the third flight

destination2

destination2 Type

string

destination3

Location code for the destination of the fourth flight

destination3

destination3 Type

string

destination4

Location code for the destination of the fifth flight

destination4

destination4 Type

string

destination5

Location code for the destination of the sixth flight

destination5

destination5 Type

string

infants

Number of infant passengers. An infant is 1 year old or younger.

infants

infants Type

integer

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

origin0

Location code for the origin of the first flight

origin0

origin0 Type

string

origin1

Location code for the origin of the second flight

origin1

origin1 Type

string

origin2

Location code for the origin of the third flight

origin2

origin2 Type

string

origin3

Location code for the origin of the fourth flight

origin3

origin3 Type

string

origin4

Location code for the origin of the fifth flight

origin4

origin4 Type

string

origin5

Location code for the origin of the sixth flight

origin5

origin5 Type

string

Flights Home Page supported parameters Schema

/flights/home

A schema definition for the flights home page microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted flightsHomePage.json

Flights Home Page supported parameters Properties

Property Type Required Nullable Defined by
currency string Optional No Flights Home Page supported parameters (this schema)
locale string Optional No Flights Home Page supported parameters (this schema)
market string Optional No Flights Home Page supported parameters (this schema)
* any Additional Yes this schema allows additional properties

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

Cheap Flights To supported parameters Schema

/flights/cheap-flights-to

A schema definition for the cheap flights to microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted cheapFlightsTo.json

Cheap Flights To supported parameters Properties

Property Type Required Nullable Defined by
currency string Optional No Cheap Flights To supported parameters (this schema)
destination string Required No Cheap Flights To supported parameters (this schema)
locale string Optional No Cheap Flights To supported parameters (this schema)
market string Optional No Cheap Flights To supported parameters (this schema)
* any Additional Yes this schema allows additional properties

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

destination

Location code for the destination

destination

destination Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

Flights Airline supported parameters Schema

/flights/flights-airline

A schema definition for the flights airline microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Flights Airline supported parameters Properties

Property Type Required Nullable Defined by
airlineCode string Required No Flights Airline supported parameters (this schema)
airlineName string Optional No Flights Airline supported parameters (this schema)
currency string Optional No Flights Airline supported parameters (this schema)
locale string Optional No Flights Airline supported parameters (this schema)
market string Optional No Flights Airline supported parameters (this schema)
* any Additional Yes this schema allows additional properties

airlineCode

The airline code.

airlineCode

airlineCode Type

string

airlineName

The airline name.

airlineName

airlineName Type

string

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

Carhire Day View supported parameters Schema

/cars/day-view

A schema definition for the carhire day-view microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted

Carhire Day View supported parameters Properties

Property Type Required Nullable Defined by
currency string Optional No Carhire Day View supported parameters (this schema)
driverAge integer Required No Carhire Day View supported parameters (this schema)
dropoffPlace string Optional No Carhire Day View supported parameters (this schema)
dropoffTime string Required No Carhire Day View supported parameters (this schema)
locale string Optional No Carhire Day View supported parameters (this schema)
market string Optional No Carhire Day View supported parameters (this schema)
pickupPlace string Required No Carhire Day View supported parameters (this schema)
pickupTime string Required No Carhire Day View supported parameters (this schema)
* any Additional Yes this schema allows additional properties

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

driverAge

Driver age between 21 and 99

driverAge

driverAge Type

integer

dropoffPlace

Pick up IATA code / hotel or city entity id

dropoffPlace

dropoffPlace Type

string

dropoffTime

Drop Off Datetime in ISO 8601 standard. I.e YYYY-MM-DDTHH:MM

dropoffTime

dropoffTime Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

pickupPlace

Pick up IATA code / hotel or city entity id

pickupPlace

pickupPlace Type

string

pickupTime

Pick Up Datetime in ISO 8601 standard. I.e YYYY-MM-DDTHH:MM

pickupTime

pickupTime Type

string

Carhire Home page supported parameters Schema

/cars/home

A schema definition for the carhire home page microsite supported parameters

Abstract Extensible Status Identifiable Custom Properties Additional Properties Defined In
Can be instantiated No Experimental No Forbidden Permitted carsHome.json

Carhire Home page supported parameters Properties

Property Type Required Nullable Defined by
currency string Optional No Carhire Home page supported parameters (this schema)
locale string Optional No Carhire Home page supported parameters (this schema)
market string Optional No Carhire Home page supported parameters (this schema)
* any Additional Yes this schema allows additional properties

currency

The desired currency for the page. Examples: GBP, EUR, USD

currency

currency Type

string

locale

The desired locale for the page. Examples: es-ES, en-GB, ru-RU

locale

locale Type

string

market

The market of the user. Examples: UK, US, ES

market

market Type

string

Response Codes

Our APIs use the following response codes:

RESPONSE CODES

Error Code Meaning
200 Success
204 No content - the session is still being created (wait and try again).
301 Moved Permanently – the result shows redirect location.
304 Not Modified – the results have not been modified since the last poll.
400 Bad Request – Input validation failed.
403 Forbidden – The API Key was not supplied, or it was invalid, or it is not authorized to access the service.
410 Gone – the session has expired. A new session must be created.
429 Too Many Requests – There have been too many requests in the last minute.
500 Server Error – An internal server error has occurred which has been logged.