Skip to main content

Installation

First, install the package:
npm install airline-codes

Basic Usage

The airline-codes package exports a Backbone Collection containing all airline data:
const airlines = require('airline-codes');

// Find an airline by IATA code
const airline = airlines.findWhere({ iata: 'WS' });
console.log(airline.get('name'));
// => WestJet

Common Operations

1

Lookup by IATA Code

Use findWhere to find a single airline by its IATA code:
const delta = airlines.findWhere({ iata: 'DL' });
console.log(delta.get('name'));        // => Delta Air Lines
console.log(delta.get('icao'));        // => DAL
console.log(delta.get('callsign'));    // => DELTA
console.log(delta.get('country'));     // => United States
2

Filter by Country

Use where to find all airlines matching specific criteria:
const canadianAirlines = airlines.where({ country: 'Canada' });
console.log(`Found ${canadianAirlines.length} Canadian airlines`);

// Get just the names
const names = canadianAirlines.map(a => a.get('name'));
console.log(names);
3

Access Raw JSON Data

Get the raw JSON array if you don’t need Backbone Collection methods:
// Option 1: Convert collection to JSON
const airlinesArray = require('airline-codes').toJSON();

// Option 2: Import JSON directly
const airlinesArray = require('airline-codes/airlines.json');

console.log(airlinesArray[0]);
// => { id: "1", name: "Private flight", iata: "-", ... }
4

Sort Airlines

The collection is pre-sorted by name (via comparator: 'name'):
// Airlines are already sorted alphabetically by name
const first = airlines.at(0);
console.log(first.get('name'));
// => First airline alphabetically

// Get first 10 airlines
const topTen = airlines.first(10);
topTen.forEach(airline => {
  console.log(airline.get('name'));
});

Advanced Queries

Since airline-codes returns a Backbone Collection, you have access to all Backbone Collection methods including filter, find, map, reduce, and more.

Custom Filtering

// Find all active US airlines with ICAO codes
const airlines = require('airline-codes');

const filtered = airlines.filter(airline => {
  return airline.get('country') === 'United States' &&
         airline.get('active') === 'Y' &&
         airline.get('icao') !== '';
});

console.log(`Found ${filtered.length} active US airlines with ICAO codes`);

Search by Airline Name

// Find airlines with "Air" in the name
const airlineList = airlines.filter(airline => {
  return airline.get('name').toLowerCase().includes('air');
});

const names = airlineList.map(a => a.get('name'));
console.log(names.slice(0, 5));
// => ['Air Europa', 'Air France', 'Air Canada', ...]

Build a Lookup Map

// Create a fast IATA code lookup object
const iataMap = {};

airlines.forEach(airline => {
  const iata = airline.get('iata');
  if (iata && iata !== '-') {
    iataMap[iata] = airline.toJSON();
  }
});

// Now you can do O(1) lookups
console.log(iataMap['AA'].name);
// => American Airlines

Real-World Example

Here’s a complete example of building an airline search function:
const airlines = require('airline-codes');

function searchAirlines(query) {
  const lowerQuery = query.toLowerCase();
  
  return airlines.filter(airline => {
    const name = airline.get('name').toLowerCase();
    const iata = airline.get('iata').toLowerCase();
    const icao = airline.get('icao').toLowerCase();
    
    return name.includes(lowerQuery) ||
           iata === lowerQuery ||
           icao === lowerQuery;
  }).map(airline => ({
    name: airline.get('name'),
    iata: airline.get('iata'),
    icao: airline.get('icao'),
    country: airline.get('country')
  }));
}

// Usage
const results = searchAirlines('united');
console.log(results);
// => [
//   { name: 'United Airlines', iata: 'UA', icao: 'UAL', country: 'United States' },
//   ...
// ]

Next Steps

API Reference

Explore all available methods and data fields

Backbone Docs

Learn about Backbone Collection methods

Build docs developers (and LLMs) love