A node.js wrapper for the Skiplagged API
yarn add skiplagged-node-api
Variable Name | Datatype | Description |
---|---|---|
from | string | Departure Airport IATA Code [Required] |
to | string | Arrival Airport IATA Code [Required] |
departureDate | string | Departure Date in YYYY-MM-DD format [Required] |
returnDate | string | Return Date in YYYY-MM-DD format [Optional] |
sort | string | Sort method: cost (default), duration , or path . [Optional] |
resultsCount | number | Number of desired results. 0 (All), 1 (default), 2 , etc. [Optional] |
partialTrips | boolean | true or false (Default). Toggles Skiplagged's "Get off the flight and leave the airport before the final destination". [Optional] |
const flightScanner = require('skiplagged-node-api');
const flights = flightScanner(searchOptions);
const flightScanner = require('skiplagged-node-api');
const searchOptions = {
from: 'PDX',
to: 'JFK',
departureDate: '2018-02-01'
};
flightScanner(searchOptions).then(console.log);
const flightScanner = require('skiplagged-node-api');
const searchOptions = {
from: 'PDX',
to: 'JFK',
departureDate: '2018-02-01',
sort: 'duration'
};
flightScanner(searchOptions).then(console.log);
const flightScanner = require('skiplagged-node-api');
const searchOptions = {
from: 'PDX',
to: 'JFK',
departureDate: '2018-02-01',
sort: 'path'
};
flightScanner(searchOptions).then(console.log);
Hidden City Flights
Hidden city ticketing occurs when a passenger disembarks an indirect flight at the connection node. Flight fares are subject to market forces, and therefore do not necessarily correlate to the distance flown. As a result, a flight between point A to point C, with a connection node at point B, might be cheaper than a flight between point A and point B. It is then possible to purchase a flight ticket from point A to point C, disembark at the connection node (B) and discard the remaining segment (B to C).
Using the hidden city tactic is usually practical only for one-way trips, as the airlines will cancel the subsequent parts of the trip once a traveler has disembarked. Thus, round-trip itineraries need to be created by piecing two one-way flights together. This tactic also requires that the traveler have carry-on luggage only, as any checked baggage items will be unloaded only at the flight's ticketed final destination.
const flightScanner = require('skiplagged-node-api');
const searchOptions = {
from: 'PDX',
to: 'JFK',
departureDate: '2018-02-01',
partialTrips: true
};
flightScanner(searchOptions).then(console.log);
Q) I'm passing a return date but all that's changing is the price.
A) The data returned by the api is not easy to interpret. The library I built this from did the parsing legwork, I've just done a refactor and maintenance pass. If you wish to try, feel free to open up a Pull Request.
Q) Why was X feature removed?
A) My design philosophy is one of data. A library should provide a number of pure functions and let me leverage them as I wish. Writing a small app to email the data, save it in a database, or text it is fairly easy in node-land.