Kiwi.com API

This document describes the Kiwi.com flights search API.

Endpoint: api.skypicker.com

To implement the basic search, you only need the /locations and /flights API calls.

Prerequisites

  • TLS protocol version 1.2 or later must be used

  • we book the flights with the cheapest fare available

  • each passenger is considered an adult

  • the correct date format is dd/mm/YYYY, e.g. 29/05/2019

  • In order to implement the Booking API you need to use the booking_token which contains all the required flights data. These need to be passed as parameters to check flights as well as to save booking calls.

  • use atime and dtime as these are the local times and are guaranteed to be correct

Partner implementation

Use the parameter partner=picky for testing your implementation. Before going live, your account manager will assign your custom partner ID to you. You can use api.skypicker.com for both the implementation and testing.

There is no development API as most of the queries are simple GET requests that are not changing the state of any resource (except save_booking).

How it works

The flights API is a REST API and therefore the regular rules apply. Everything else you need to know is described in this document.

Basic flights call

The basic flights call could look like this:

https://api.skypicker.com/flights?flyFrom=PRG&to=LGW&dateFrom=18/11/2018&dateTo=12/12/2018&partner=picky

It is mandatory to specify the partner parameter. Only then will the response contain the link directly to Kiwi.com booking page where the user can book the specified flight.

For more specific searches and filters continue to this specification, where every available parameter is described.

Other information

Contact Us

In case you cannot find what you are looking for in this document please contact us directly at [email protected].

Service Status

We also have a Service Status page. You can view it here: http://status.kiwi.com/.

Legal information for ‘airline-logos’:

The trademarks, logos, and service marks (hereinafter referred as the “Trademarks”) which may be found here are registered and unregistered. Trademarks of their respective owners. All Trademarks related to the operating airlines and other third party providers which may be found here belong to their respective owners and we use these Trademarks solely for customers’ convenience. Nothing contained on this website. Should be construed as Our pretension of these third party Trademarks or as granting, by implication, estoppel, or otherwise, any license or right to use any Trademark displayed on the Website without the express written permission of its respective owner, or such third party that may own the Trademarks displayed on the Website. Your misuse of the Trademarks displayed on the Website, or any other content on the Website, is strictly prohibited. You must ensure that Your use of the third party content (Trademarks, logos, watermarks and other registered details) complies with all applicable laws and the intellectual property and other rights of the relevant third party provider. You acknowledge and agree that the third party content and services and all intellectual property rights subsisting in the third party content and services will remain the property of the relevant third party provider. No part of the third party content and services may be modified, duplicated, published, uploaded, distributed, translated, adapted, marketed or used, without the prior written consent of the relevant third party provider.

Additional information about bags

Even if bags are stated as free, they need to be ordered with the reservation.

Baggage included is displayed under “bags_price” parameter in the following way (these are just examples, the prices can differ):

  • “bags_price”: {“1”:10,“2”:25} - meaning that price for 1 bag is 10 Eur and price for 2 bags is 25 (this is cumulative, so the price split is 10+15 Eur)

  • “bags_price”: {“1”:0,“2”:25} - meaning that 1 bag is free of charge and the price for two bags is 25 Eur

  • “bags_price”: {“1”:0,“2”:0} - meaning that both bags are free of charge

  • “bags_price”: {} - meaning that it is not possible to add any bags

flights

A single flight search.

Please note, that only active parameters have been described in this document. Parameters that are not described are deprecated.

flights

GET https://api.skypicker.com/flights?fly_from=CZ&fly_to=porto&date_from=08/08/2017&date_to=08/09/2017&longitude_from=14.0000&latitude_from=50.2000&radius_from=200&longitude_to=14.0000&latitude_to=50.2000&radius_to=200&nights_in_dst_from=2&nights_in_dst_to=14&return_from=08/08/2017&return_to=08/09/2017&max_fly_duration=6&flight_type=oneway&adults=1&children=0&infants=0&fly_days=[0,1,2,3,4,5,6]&fly_days_type=departure&ret_fly_days=[0,1,2,3,4,5,6]&ret_fly_days_type=departure&one_for_city=0&only_working_days=0&only_weekends=0&one_per_date=0&direct_flights=0&locale=en&partner=picky&partner_market=us&v=3&xml=&curr=EUR&price_from=1&price_to=10000&dtime_from=00:00&dtime_to=00:00&atime_from=00:00&atime_to=00:00&ret_dtime_from=00:00&ret_dtime_to=00:00&ret_atime_from=00:00&ret_atime_to=00:00&stopover_from=00:00&stopover_to=00:00&max_stopovers=2&conn_on_diff_airport=1&ret_from_diff_airport=1&ret_to_diff_airport=1&select_airlines=FR,AA&select_stop_airport=BCN,FRA&select_airlines_exclude=False&select_stop_airport_exclude=False&offset=0&limit=30&sort=price&asc=1
Responses200400
Headers
Content-Type: application/json
Body
{
  "search_params": {
    "to_type": "airport",
    "flyFrom_type": "airport"
  },
  "time": 1,
  "connections": [],
  "currency": "pln",
  "currency_rate": 0.2348,
  "data": [
    {
      "mapIdfrom": "edinburgh",
      "return_duration": "10h 55m",
      "flyTo": "WMI",
      "conversion": {
        "PLN": 1154,
        "EUR": 271
      },
      "deep_link": "https://www.skypicker.com/deep?type=abc-m14.5&from=EDI&to=WMI&departure=19-12-2015&return=23-12-2015&flightsId=240466858|236557749|245258276|234220297&affilid=skyscanner_pl&price=271.5362&passengers=1&lang=pl&currency=pln&booking_token=NwyrOTUtH6wv4BdWZTvOrbnFTa5SOifCjnpGoAl4cKO2kB2HhT7afLhR/TDxb+eFu4YtIczyK0WbM+XCt51oGwDK7vohxDpNs2GE3fTG8FoBhxY59V7abVbbkEWcRIOXaJcmIZB1tq37mciGQWi4Sc29PEWEgFYVwxJYBIOJMNLYkB8FOhhUNMDmnaVNHDOgySMJd4it4r5fhopJczkKnJIKoMFEelHE0x5203/3dHkfA7iBk4/c1OYTA61XBIAlsCuTH4D0j0IHASTFV4VXT36kZS9oxvJuya4nyDoff2017Up/UHkaXQbNBAoD5W0A",
      "mapIdto": "warsaw",
      "nightsInDest": 3,
      "id": "240466858|236557749|245258276|234220297",
      "fly_duration": "24h 10m",
      "countryTo": {
        "code": "PL",
        "name": "Rzeczpospolita Polska"
      },
      "baglimit": {
        "hand_width": 40,
        "hand_length": 55,
        "hold_weight": 15,
        "hand_height": 20,
        "hand_weight": 10
      },
      "aTimeUTC": 1450643100,
      "distance": 1624.4,
      "price": 1154,
      "type_flights": [
        "lcc"
      ],
      "bags_price": {
        "1": 100,
        "2": 200
      },
      "cityTo": "Warszawa",
      "flyFrom": "EDI",
      "dTimeUTC": 1450556100,
      "p2": 232,
      "countryFrom": {
        "code": "GB",
        "name": "Zjednoczone Królestwo Wielkiej Brytanii"
      },
      "p1": 232,
      "dTime": 1450556100,
      "booking_token": "NwyrOTUtH6wv4BdWZTvOrbnFTa5SOifCjnpGoAl4cKO2kB2HhT7afLhR/TDxb+eFu4YtIczyK0WbM+XCt51oGwDK7vohxDpNs2GE3fTG8FoBhxY59V7abVbbkEWcRIOXaJcmIZB1tq37mciGQWi4Sc29PEWEgFYVwxJYBIOJMNLYkB8FOhhUNMDmnaVNHDOgySMJd4it4r5fhopJczkKnJIKoMFEelHE0x5203/3dHkfA7iBk4/c1OYTA61XBIAlsCuTH4D0j0IHASTFV4VXT36kZS9oxvJuya4nyDoff2017Up/UHkaXQbNBAoD5W0A",
      "cityFrom": "Edynburg",
      "aTime": 1450646700,
      "route": [
        {
          "bags_recheck_required": false,
          "aTimeUTC": 1450560300,
          "mapIdfrom": "edinburgh",
          "mapIdto": "dublin",
          "flight_no": 819,
          "dTime": 1450556100,
          "latTo": 53.3331,
          "flyTo": "DUB",
          "return": 0,
          "source": null,
          "id": "240466858",
          "airline": "FR",
          "lngTo": -6.24889,
          "cityTo": "Dublin",
          "cityFrom": "Edynburg",
          "lngFrom": -3.1936633587,
          "aTime": 1450560300,
          "flyFrom": "EDI",
          "price": 21,
          "latFrom": 55.9485946759,
          "dTimeUTC": 1450556100
        },
        {
          "bags_recheck_required": true,
          "aTimeUTC": 1450643100,
          "mapIdfrom": "dublin",
          "mapIdto": "warsaw",
          "flight_no": 4543,
          "dTime": 1450633200,
          "latTo": 52.2298,
          "flyTo": "WMI",
          "return": 0,
          "source": null,
          "id": "236557749",
          "airline": "FR",
          "lngTo": 21.0118,
          "cityTo": "Warszawa",
          "cityFrom": "Dublin",
          "lngFrom": -6.24889,
          "aTime": 1450646700,
          "flyFrom": "DUB",
          "price": 133,
          "latFrom": 53.3331,
          "dTimeUTC": 1450633200
        },
        {
          "bags_recheck_required": false,
          "aTimeUTC": 1450914900,
          "mapIdfrom": "warsaw",
          "mapIdto": "dublin",
          "flight_no": 4544,
          "dTime": 1450907400,
          "latTo": 53.3331,
          "flyTo": "DUB",
          "return": 1,
          "source": null,
          "id": "245258276",
          "airline": "FR",
          "lngTo": -6.24889,
          "cityTo": "Dublin",
          "cityFrom": "Warszawa",
          "lngFrom": 21.0118,
          "aTime": 1450914900,
          "flyFrom": "WMI",
          "price": 63,
          "latFrom": 52.2298,
          "dTimeUTC": 1450903800
        },
        {
          "bags_recheck_required": true,
          "aTimeUTC": 1450943100,
          "mapIdfrom": "dublin",
          "mapIdto": "edinburgh",
          "flight_no": 812,
          "dTime": 1450938600,
          "latTo": 55.9485946759,
          "flyTo": "EDI",
          "return": 1,
          "source": null,
          "id": "234220297",
          "airline": "FR",
          "lngTo": -3.1936633587,
          "cityTo": "Edynburg",
          "cityFrom": "Dublin",
          "lngFrom": -6.24889,
          "aTime": 1450943100,
          "flyFrom": "DUB",
          "price": 15,
          "latFrom": 53.3331,
          "dTimeUTC": 1450938600
        }
      ]
    }
  ]
}
Headers
Content-Type: application/json
Body
{
  "message": "Here you will be notified of the error that occurred."
}

GET
GET/flights{?fly_from,fly_to,date_from,date_to,longitude_from,latitude_from,radius_from,longitude_to,latitude_to,radius_to,nights_in_dst_from,nights_in_dst_to,return_from,return_to,max_fly_duration,flight_type,adults,children,infants,fly_days,fly_days_type,ret_fly_days,ret_fly_days_type,one_for_city,only_working_days,only_weekends,one_per_date,direct_flights,locale,partner,partner_market,v,xml,curr,price_from,price_to,dtime_from,dtime_to,atime_from,atime_to,ret_dtime_from,ret_dtime_to,ret_atime_from,ret_atime_to,stopover_from,stopover_to,max_stopovers,conn_on_diff_airport,ret_from_diff_airport,ret_to_diff_airport,select_airlines,select_stop_airport,select_airlines_exclude,select_stop_airport_exclude,offset,limit,sort,asc}

Response parameters

PARAMETER NAME PARAMETER NAME PARAMETER NAME DESCRIPTION
search_params
to_type the type of destination (airport, city)
flyFrom_type the type of the from location (airport, city)
time always set to 1
connections It is a list of sector_ids where the sector_id is written as ['flight_id', 'dst_id', 'segment_count']. The sectors are taken from the itinerary['connections']. One itinerary can have more than one sector.
currency currency code
currency_rate the currency rate for the currency and EUR conversion
data
mapIdfrom The city that is specified in the flyFrom parameter. It is written in its normalised form and is taken from the ‘Locations API’.
return_duration the duration of the return flight in hours
flyTo IATA code of the destination
conversion lists the selected currency and the conversion to EUR
deep_link the deep link URL
mapIdTo The city that is specified in the flyTo parameter. It is written in its normalised form and is taken from the ‘Locations API’.
nightsInDest the number of nights in the destination
id a unique itinerary identifier. It is made up of flight IDs and is divided by |
fly_duration the duration of the flight in hours
countryTo destination country information
code destination country IATA code
name destination country name
baglimit bag limits - size and weight
hand_width the width of the hand luggage
hand_length the length of the hand luggage
hold_weight the weight of the hold luggage
hand_height the height of the hand luggage
hand_weight the weight of the hand luggage
aTimeUTC arrival time in Coordinated Universal Time (UTC)
distance flight distance from the origin to the destination
price price in the selected currency
type_flights lcc for low cost carriers or lc for legacy carriers
bags_price price of the individual bags
1 the price of one bag
2 the price of two bags
cityTo the city destination
flyFrom IATA code of the origin airport
dTimeUTC departure time in Coordinated Universal Time
p2 deprecated - returns 1
countryFrom the origin country information
code the origin country code
name the origin country name
p1 deprecated - returns 1
dTime the departure UNIX timestamp in the time zone of the departure airport
booking_token the booking token
cityFrom the departure city name
aTime the arrival UNIX timestamp in the time zone of the arrival airport
route information about the route
bags_recheck_required true - bags need to be rechecked, false - no need to recheck bags
aTimeUTC arrival time in Coordinated Universal Time
mapIdfrom The city that is specified in the fly_from parameter. It is written in the normalised form and is taken from the ‘Locations API’.
mapIdto The city that is specified in the flyTo parameter. It is written in the normalised form and is taken from the ‘Locations API’.
flight_no the flight number
dTime the departure UNIX timestamp in the time zone of the departure airport
latTo latitude of the destination airport
flyTo IATA code of the destination airport
return return flight flag. 0 for no, 1 for yes.
source data source of where the flight was found, such as GDS, lcc-FR. Deprecated - always set to 1.
id flight ID
airline the airline code
fare_basis (often just referred to as a fare basis) an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare
fare_family group of fares that airlines use to market different travel options associated with an airfare, such as non-refundable, flexible, etc.
fare_classes information about the particular class, we will be providing higher classes in future
lngTo longitude of the destination airport
cityTo destination city name
cityFrom origin city name
lngFrom longitude of the origin airport
aTime the arrival UNIX timestamp in the time zone of the arrival airport
flyFrom IATA code of the origin airport
price the price in EUR (without margin) of that one flight; deprecated - always set to 1.
latFrom latitude of the origin airport
dTimeUTC departure time in UTC
URI Parameters
HideShow
fly_from
string (required) Example: CZ

Kiwi api ID of the departure destination. Accepts multiple values separated by comma, these values might be airport codes, city IDs, two letter country codes, metropolitan codes and radiuses.

Radius needs to be in form lat-lon-xkm. E.g.-23.24--47.86-500km for places around Sao Paulo. ‘LON’ - checks every airport in London, ‘LHR’ - checks flights from London Heathrow, ‘UK’ - flights from the United Kingdom. The number of decimal places is limited to 6. Link to Locations API. Previous name: flyFrom

fly_to
string (optional) Example: porto

Kiwi api ID of the arrival destination. Accepts the same values in the same format as the fly_from parameter. Previous name: to If you don’t include any value you’ll get results for all airports in the world.

v
integer (required) Example: 3

geographical data API version. Preferred value: 3.

date_from
string (required) Example: 08/08/2017

search flights from this date (dd/mm/YYYY). Use parameters date_from and date_to as a date range for the flight departure. Previous name: dateFrom Parameters ‘date_from=01/05/2016’ and ‘date_to=30/05/2016’ mean that the departure can be anytime between the specified dates. For the dates of the return flights, use the ‘return_to’ and ‘return_from’ or ‘nights_in_dst_from’ and ‘nights_in_dst_to’ parameters.

date_to
string (required) Example: 08/09/2017

search flights upto this date (dd/mm/YYYY). Previous name: dateTo

return_from
string (optional) Example: 08/08/2017

min return date of the whole trip (dd/mm/YYYY). Previous name: returnFrom

return_to
string (optional) Example: 08/09/2017

max return date of the whole trip (dd/mm/YYYY). Previous name: returnTo

nights_in_dst_from
integer (optional) Example: 2

the minimal length of stay in the destination given in the fly_to parameter. Previous name: daysInDestinationFrom

nights_in_dst_to
integer (optional) Example: 14

the maximal length of stay in the destination given in the fly_to parameter. Previous name: daysInDestinationTo. Either both parameters ‘nights_in_dst_to’ and ‘nights_in_dst_from’ have to be specified or none of them.

max_fly_duration
integer (optional) Example: 6

max flight duration in hours, min value 0. Previous name: maxFlyDuration

flight_type
string (optional) Example: oneway

switch for oneway/round flights search - will be deprecated in the near future (until then, you have to use the round parameter if one from the nights_in_dst of return date parameters is given.) Previous name: typeFlight

Choices: round oneway

one_for_city
boolean (optional) Example: 0

returns the cheapest flights to every city covered by the to parameter. E.g. if you set it to 1 and your search is from PRG to LON/BUD/NYC, you’ll get 3 results: the cheapest PRG-LON, the cheapest PRG-BUD, and the cheapest PRG-NYC. Previous name: oneforcity

one_per_date
boolean (optional) Example: 0

returns the cheapest flights for one date. Can be 0 or not included, or one of these two params can be set to 1

adults
integer (optional) Example: 1

Used to specify the number of adults. Please note, that children are considered adults in our search engine. The default passengers’ value is 1. The sum of adults, children and infants cannot be greater than 9. Previous name: passengers

children
integer (optional) Example: 0

It is used to specify the number of children. The default value is 0. At the moment, children are considered adults in our search engine. We are working on improvements. The sum of adults, children and infants cannot be greater than 9.

infants
integer (optional) Example: 0

It is used to specify number of infants. The default value is 0. The sum of adults, children and infants cannot be greater than 9.

fly_days
list (optional) Example: [0,1,2,3,4,5,6]

the list of week days for the flight, where 0 is Sunday, 1 is Monday, etc. Previous name: flyDays URL encoded format for all days : ‘&fly_days=0&fly_days=1&fly_days=2&…&fly_days=6’

fly_days_type
string (optional) Example: departure

type of set fly_days; It is used to specify whether the flight is an arrival or a departure. Previous name: flyDaysType

Choices: departure arrival

ret_fly_days
list (optional) Example: [0,1,2,3,4,5,6]

the list of week days for the flight, where 0 is Sunday, 1 is Monday, etc. Previous name: returnFlyDays URL encoded format for all days: ‘&ret_fly_days=0&ret_fly_days=1&ret_fly_days=2&…&ret_fly_days=6’

ret_fly_days_type
string (optional) Example: departure

type of set ret_fly_days; It is used to specify whether the flight is an arrival or a departure. Previous name: returnFlyDaysType

Choices: departure arrival

only_working_days
boolean (optional) Example: 0

search flights with departure only on working days. Previous name: onlyWorkingDays

only_weekends
boolean (optional) Example: 0

search flights with departure only on weekends. Previous name: onlyWeekends

partner
string (required) Example: picky

partner ID. If present, the result will include a link to a specific trip directly to Kiwi.com, with the affiliate ID included (use picky partner ID for testing)

partner_market
string (optional) Example: us

Market from which the request is coming from.

curr
string (optional) Example: EUR

use this parameter to change the currency in the response

Choices: AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BRL BSD BTC BTN BWP BYR BZD CAD CDF CHF CLF CLP CNY COP CRC CUC CUP CVE CZK DJF DKK DOP DZD EEK EGP ERN ETB EUR FJD FKP GBP GEL GGP GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS IMP INR IQD IRR ISK JEP JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP MRO MTL MUR MVR MWK MXN MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR QUN RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD UYU UZS VEF VND VUV WST XAF XAG XAU XCD XDR XOF XPD XPF XPT YER ZAR ZMK ZMW ZWL

locale
string (optional) Example: en

the language of city names in the response and also language of kiwi.com website to which deep_link leads

Choices: ae ag ar at au be bg bh br by ca ca-fr ch cl cn co ct cz da de dk ec ee el en es fi fr gb gr hk hr hu id ie il in is it ja jo jp ko kr kw kz lt mx my nl no nz om pe ph pl pt qa ro rs ru sa se sg sk sr sv th tr tw ua uk us vn za

price_from
integer (optional) Example: 1

result filter, minimal price

price_to
integer (optional) Example: 10000

result filter, maximal price

dtime_from
string (optional) Example: 00:00

result filter, min. departure time (11:00 means 11AM, 23:00 means 11PM). Previous name: dtimefrom

dtime_to
string (optional) Example: 00:00

result filter, max departure time. Previous name: dtimeto

atime_from
string (optional) Example: 00:00

result filter, min arrival time. Previous name: atimefrom

atime_to
string (optional) Example: 00:00

result filter, max arrival time. Previous name: atimeto

ret_dtime_from
string (optional) Example: 00:00

result filter, min dep. time of the returning flight. Previous name: returndtimefrom

ret_dtime_to
string (optional) Example: 00:00

result filter, max dep. time of the returning flight. Previous name: returndtimeto

ret_atime_from
string (optional) Example: 00:00

result filter, min arrival time of the returning flight. Previous name: returnatimefrom

ret_atime_to
string (optional) Example: 00:00

result filter, min arrival time of the returning flight. Previous name: returnatimeto

stopover_from
string (optional) Example: 00:00

result filter, min length of stopover, 48:00 means 2 days (48 hours). Previous name: stopoverfrom

stopover_to
string (optional) Example: 00:00

result filter, max length of stopover, 48:00 means 2 days (48 hours). Previous name: stopoverto

max_stopovers
integer (optional) Example: 2

max number of stopovers. Previous name: maxstopovers

conn_on_diff_airport
integer (optional) Example: 1

whether or not to search for connections on different airport, can be set to 0 or 1, 1 is default. Previous name: connectionsOnDifferentAirport

ret_from_diff_airport
integer (optional) Example: 1

whether or not to search for flights leaving from a different airport than where the customer landed, can be set to 0 or 1, 1 is default. Previous name: returnFromDifferentAirport

ret_to_diff_airport
integer (optional) Example: 1

whether or not to search for flights returning to a different airport than the one from where the customer departed, can be set to 0 or 1, 1 is default. Previous name: returnToDifferentAirport

select_airlines
string (optional) Example: FR,AA

a list of airlines (IATA codes) separated by ‘,’ (commas) that should / should not be included in the search… Previous name: selectedAirlines The selection or omission of the airline depends on the ‘select_airlines_exclude’ parameter. Select a list of airlines and use the ‘select_airlines_exclude’ parameter to specify whether or not the selected airlines should be excluded/included in the search.

select_airlines_exclude
boolean (optional) Example: False

it can be thought of as a switch for the ‘select_airlines’ parameter where ‘False=select’ and ‘True=omit’. If set to true the search returns combinations without the airlines specified in the parent parameter select_airlines. If set to false the search returns combinations where none of the flights in this combinations is served by any given airline code. Previous name: selectedAirlinesExclude

select_stop_airport
string (optional) Example: BCN,FRA

a list of stopover airports (IATA codes) separated by ‘,’ (commas) that should / should not be included. Previous name: selectedStopoverAirports in the search. The selection or omission of the airport depends on the ‘select_stop_airport_exclude’ parameter. Select a list of airports and use the ‘select_stop_airport_exclude’ parameter to specify whether or not the selected airport should be excluded/included in the search.

select_stop_airport_exclude
boolean (optional) Example: False

It can be thought of as a switch for the ‘select_stop_airport’ parameter where ‘False=include,select’ and ‘True=exclude,omit’. If set to true the search returns combinations where a stopover is through one of the given airports. If is set to false the search returns combinations where none of stopovers is through any of given airports. Previous name: selectedStopoverAirportsExclude

offset
integer (optional) Example: 0

enable pagination and set offset

limit
integer (optional) Example: 30

limit number of results, max is 200

sort
string (optional) Example: price

sorts the results by quality, price, date or duration. Price is the default value.

Choices: price duration quality date

asc
integer (optional) Example: 1

can be set to 1 or 0, default is 1 - from cheapest flights to the most expensive

xml
integer (optional) 

returns an xml response instead of json

longitude_from
float (optional) Example: 14.0000

DEPRECATED - please use radiuses specified in fly_from parameter (longitude of the pinpoint for geo based search, for the departure destination). Previous name: longitudeFrom

latitude_from
float (optional) Example: 50.2000

DEPRECATED (lat of the pinpoint for geo based search, for the departure destination). Previous name: latitudeFrom

radius_from
integer (optional) Example: 200

DEPRECATED (search radius in km, max 250. radius_from works only with longitude_from and latitude_from. In this case, the fly_from parameter is ignored) Previous name: radiusFrom

longitude_to
float (optional) Example: 14.0000

DEPRECATED - please use radiuses specified in to parameter (longitude of the pinpoint for geo based, for the arrival destination). Previous name: longitudeTo

latitude_to
float (optional) Example: 50.2000

DEPRECATED (lat of the pinpoint for geo based search, for the arrival destination). Previous name: latitudeTo

radius_to
integer (optional) Example: 200

DEPRECATED (search radius in km, max 250. radius_to works only with longitude_to and latitude_to. In this case, the to parameter is ignored). Previous name: radiusTo

direct_flights
boolean (optional) Example: 0

search only for direct flights, can be set to 0 or 1, 0 is default. DEPRECATED, use max_stopovers=0. Previous name: directFlights


flights_multi

Please note, that /flights_multi is not to be used for searching for return trips. Use /flights instead.

This call is to be used in search_multicity_ (aka multi-stop or multi-leg) itineraries. Legs are not required to be continuous, but have to in sequence one after another.

It accepts the same parameters as the /flights API call.

To do a request, send a POST json payload with a list of API parameters for each search query.

Response is a list of itineraries. The format of itineraries is the same as for a /flights call.

Each result has its own deeplink which can be used to forward the user to Kiwi booking e.g.: https://www.kiwi.com/deep?type=default&from=PRG&to=LGW&departure=24-05-2017&flightsId=EJ635397264_189412776|EJ635397264_203224652&affilid=picky&price=78&passengers=1&lang=en&currency=GBP&booking_token=frgUlO25

flights_multi

POST https://api.skypicker.com/flights_multi?partner=picky&locale=en&curr=GBP
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "requests": [
    {
      "fly_to": "AMS",
      "fly_from": "PRG",
      "direct_flights": 0,
      "date_from": "11/06/2017",
      "date_to": "28/06/2017"
    },
    {
      "fly_to": "OSL",
      "fly_from": "AMS",
      "direct_flights": 0,
      "date_from": "01/07/2017",
      "date_to": "11/07/2017"
    }
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{}

POST
POST/flights_multi{?partner,locale,curr}

URI Parameters
HideShow
partner
string (required) Example: picky

your partner ID

locale
string (optional) Example: en

localization, if you are using it for flights

curr
string (optional) Example: GBP

currency, if you are using it for flights


Generated by aglio on 12 Nov 2018