Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
The skypicker
API is a nifty REST
API for obtaining flight and airline data. skypicker
is a thin NodeJS
wrapper around the API.
npm install skypicker --save
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 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 documentationimport { 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 pointradius: (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 mannerREST
API documentationimport { 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 mannerREST
API documentationimport { 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
id: (required; string)
- Specifies the IATA airport or ISO-3166 location codelocale: (optional; string)
- The returned output matches the locale
specified. The default value is en
.REST
API documentationgetLocationDump
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 mannerREST
API documentationimport { 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
LC (legacy carrier)
and LCC (low-cost carrier)
)REST
API documentationgetAirlineIcon
airlineCode: (required; string)
- Specifies the airline's IATA
codeREST
API documentationsearchFlights
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 worldmaximumHoursInFlight: (optional; non-negative integers)
- Maximum flight duration, in hourspassengerCount: (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 stopoversairlinesFilter: (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 requestslimit: (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 qualityREST
API documentationFAQs
Client to connect to the Skypicker API
We found that skypicker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.