skypicker-client
Introduction
The skypicker
API is a nifty REST
API for obtaining flight and airline data. skypicker
is a thin NodeJS
wrapper around the API.
Install
npm install skypicker --save
API
searchLocationsByTerm
searchLocationsByRadius
searchLocationsByBox
getLocationById
getLocationDump
getAirlines
getAirlineIcon
searchFlights
searchLocationsByTerm
term: (required; string)
- The search parameter used to identify a airport, city, country, etc.locale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in theLOCATION_TYPES
constant. The default behavior is to search all location types.limit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is20
.REST
API documentation
Example
; const tenAirportsThatMatchLoganWithSpanishOutput = await ;
searchLocationsByRadius
coordinate: (required; object)
- An object withlatitude
andlongitude
properties that represents a pointradius: (optional; non-negative integer)
- Represents thekilometers
from the specifiedcoordinate
to search. Defaults to250 kilometers
.locale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in theLOCATION_TYPES
constant. The default behavior is to search all location types.limit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is20
.sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted byname
orrank
in an ascending or descending mannerREST
API documentation
Example
; const tenAirportsWithinA100KilometerRadiusOfNewYorkCityWithSpanishOutput = await
searchLocationsByBox
lowCoordinate: (required; object)
- Specifies acoordinate
object withlatitude
andlongitude
properties that represent the southwest corner of the geo search box.highCoordinate: (required; object)
- Specifies acoordinate
object withlatitude
andlongitude
properties that represent the northeast corner of the geo search box.locale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in theLOCATION_TYPES
constant. The default behavior is to search all location types.limit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is20
.sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted byname
orrank
in an ascending or descending mannerREST
API documentation
Example
; const boxSearch = await
getLocationById
id: (required; string)
- Specifies the IATA airport or ISO-3166 location codelocale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.REST
API documentation
getLocationDump
locale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in theLOCATION_TYPES
constant. The default behavior is to search all location types.limit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is20
.sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted byname
orrank
in an ascending or descending mannerREST
API documentation
Example
; const locationDump = await
getAirlines
- Gets all airlines (both
LC (legacy carrier)
andLCC (low-cost carrier)
) - No parameters needed
REST
API documentation
getAirlineIcon
airlineCode: (required; string)
- Specifies the airline'sIATA
codeREST
API documentation
searchFlights
departureIdentifier: (required; string, array[string])
- AnySkypicker
location id(s), like airport codes, city IDs, two-letter country codes, etc.departureDateTimeRange: (required; object)
- Specifies the departure date and time-of-day ranges. The departure date values should be inISO-8601
format (YYYY-MM-DD
), while the time of day values should be inHH:mm
format where the hour and minute values span00-23
and00-59
, respectively.
date: start: '2018-01-01' end: '2018-01-15' timeOfDay: start: '02:30' end: '14:15' ;
returnDepartureDateTimeRange: (required if round-trip flight; object)
- Specifies the departure date and time-of-day ranges. Object should be in the same format as thedepartureDateTimeRange
variable.arrivalIdentifier: (optional; string, array[string])
- AnySkypicker
location id(s). If this is not specified, you'll get results for all airports in the worldmaximumHoursInFlight: (optional; non-negative integers)
- Maximum flight duration, in hourspassengerCount: (optional; positive integers)
- Number of passengers. Default value is1
.directFlightsOnly: (optional; boolean)
- Whentrue
, only direct flights are considered. By default,false
.currencyCode: (optional; string)
- The currency in which prices and other relevant values are expressed. FollowsISO-4217
currency codes. By default,EUR
.priceRange: (optional; object)
- Only tickets within the specified range are returned. Values should be represented as non-negative integers.
start: 0 end: 100
maximumStopOverCount: (optional; non-negative integer)
- Maximum number of stopoversairlinesFilter: (optional; object)
- Either excludes or includes the specified airlines. TheairlinesFilter
object has two properties:airlines
(anarray
ofIATA
codes) andtype
(anAIRLINES_FILTER_TYPE
value).partner: (optional; string)
- The Skypicker Partner ID assigned to your account. Usepicky
for testing.
airlines: B6 type: AIRLINES_FILTER_TYPEEXCLUDE
locale: (optional; string)
- The returned output matches thelocale
specified. The default value isen
.offset: (optional; non-negative integer)
- Specified for paginating through requestslimit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is20
.sortType: (optional; FLIGHT_RESULTS_SORT_TYPES)
- Specifies whether to sort results by date, duration, price, or qualityREST
API documentation