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
term: (required; string)
- The search parameter used to identify a airport, city, country, etc.
locale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.
locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in the LOCATION_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 is 20
.
REST
API documentation
Example
import { searchLocationsByTerm, LOCATION_TYPES } from 'skypicker';
const tenAirportsThatMatchLoganWithSpanishOutput = await searchLocationsByTerm({
term: 'Logan',
locale: 'es-ES',
locationTypes: [LOCATION_TYPES.AIRPORT],
limit: 10,
});
searchLocationsByRadius
coordinate: (required; object)
- An object with latitude
and longitude
properties that represents a point
radius: (optional; non-negative integer)
- Represents the kilometers
from the specified coordinate
to search. Defaults to 250 kilometers
.
locale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.
locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in the LOCATION_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 is 20
.
sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted by name
or rank
in an ascending or descending manner
REST
API documentation
Example
import { searchLocationsByRadius, LOCATION_TYPES, LOCATION_RESULTS_SORT_TYPES } from 'skypicker';
const tenAirportsWithinA100KilometerRadiusOfNewYorkCityWithSpanishOutput = await searchLocationsByRadius({
coordinate: {
latitude: 40.7128,
longitude: -74.0059,
},
radius: 100,
locale: 'es-ES',
locationTypes: [LOCATION_TYPES.AIRPORT],
limit: 10,
sort: LOCATION_RESULTS_SORT_TYPES.DESCENDING_RANK,
})
searchLocationsByBox
lowCoordinate: (required; object)
- Specifies a coordinate
object with latitude
and longitude
properties that represent the southwest corner of the geo search box.
highCoordinate: (required; object)
- Specifies a coordinate
object with latitude
and longitude
properties that represent the northeast corner of the geo search box.
locale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.
locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in the LOCATION_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 is 20
.
sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted by name
or rank
in an ascending or descending manner
REST
API documentation
Example
import { searchLocationsByBox, LOCATION_TYPES, LOCATION_RESULTS_SORT_TYPES } from 'skypicker';
const boxSearch = await searchLocationsByBox({
lowCoordinate: {
latitude: 40.200610,
longitude: -74.624328,
},
highCoordinate: {
latitude: 44.763212,
longitude: -73.376543,
},
locale: 'es-ES',
locationTypes: [LOCATION_TYPES.AIRPORT],
limit: 10,
sort: LOCATION_RESULTS_SORT_TYPES.DESCENDING_RANK,
})
getLocationById
getLocationDump
locale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.
locationTypes: (optional; array)
- There are six types of locations: airports, autonomous territories, cities, countries, stations, and subdivisions. These location types are captured in the LOCATION_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 is 20
.
sort: (optional: LOCATION_RESULTS_SORT_TYPES)
- Specifies whether output should be sorted by name
or rank
in an ascending or descending manner
REST
API documentation
Example
import { getLocationDump, LOCATION_TYPES, LOCATION_RESULTS_SORT_TYPES } from 'skypicker';
const locationDump = await getLocationDump({
locationTypes: [LOCATION_TYPES.AIRPORT],
limit: 10,
sort: LOCATION_RESULTS_SORT_TYPES.DESCENDING_RANK,
})
getAirlines
- Gets all airlines (both
LC (legacy carrier)
and LCC (low-cost carrier)
)
- No parameters needed
REST
API documentation
getAirlineIcon
searchFlights
departureIdentifier: (required; string, array[string])
- Any Skypicker
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 in ISO-8601
format (YYYY-MM-DD
), while the time of day values should be in HH:mm
format where the hour and minute values span 00-23
and 00-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 the departureDateTimeRange
variable.
arrivalIdentifier: (optional; string, array[string])
- Any Skypicker
location id(s). If this is not specified, you'll get results for all airports in the world
maximumHoursInFlight: (optional; non-negative integers)
- Maximum flight duration, in hours
passengerCount: (optional; positive integers)
- Number of passengers. Default value is 1
.
directFlightsOnly: (optional; boolean)
- When true
, only direct flights are considered. By default, false
.
currencyCode: (optional; string)
- The currency in which prices and other relevant values are expressed. Follows ISO-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 stopovers
airlinesFilter: (optional; object)
- Either excludes or includes the specified airlines. The airlinesFilter
object has two properties: airlines
(an array
of IATA
codes) and type
(an AIRLINES_FILTER_TYPE
value).
partner: (optional; string)
- The Skypicker Partner ID assigned to your account. Use picky
for testing.
{
airlines: [B6],
type: AIRLINES_FILTER_TYPE.EXCLUDE,
}
locale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.
offset: (optional; non-negative integer)
- Specified for paginating through requests
limit: (optional; positive integer)
- This specifies the number of records returned by the API. The default value is 20
.
sortType: (optional; FLIGHT_RESULTS_SORT_TYPES)
- Specifies whether to sort results by date, duration, price, or quality
REST
API documentation