npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

baggage-limits

v1.0.1

Published

Airline baggage limits data for 48+ airlines — programmatic API and CLI

Readme

Baggage Limits

Airline baggage allowance data for 48 major airlines worldwide — available as a programmatic Node.js API and a command-line tool. Zero dependencies, works offline.

All data sourced and regularly verified from baggagelimits.co.

Why?

Building a travel app, flight comparison tool, or packing assistant? Baggage rules are scattered across dozens of airline websites, each with different formats. This package gives you structured, consistent data for carry-on limits, checked baggage allowances, personal item rules, and excess fees — all in one place, ready to use.

Install

npm install baggage-limits

Or run the CLI directly without installing:

npx baggage-limits --airline TK

API Usage

const baggage = require('baggage-limits');

Get all airlines

const airlines = baggage.getAll();
console.log(airlines.length); // 48

Look up a specific airline

Search by IATA code or full airline name (case-insensitive):

const tk = baggage.getAirline('TK');
// or
const tk = baggage.getAirline('Turkish Airlines');

console.log(tk.carryOn.weight);      // { kg: 8, lb: 17.6 }
console.log(tk.carryOn.dimensions);  // { cm: '55x40x23', in: '21.7x15.7x9' }
console.log(tk.checked.economy);     // { pieces: 1, weight: { kg: 23, lb: 50.7 }, dimensions: { cm: '158 total', in: '62 total' } }
console.log(tk.checked.business);    // { pieces: 2, weight: { kg: 32, lb: 70.6 }, dimensions: { cm: '158 total', in: '62 total' } }
console.log(tk.excessFee);           // { currency: 'USD', amount: 8 }

// Returns null if airline is not found
baggage.getAirline('FakeAirline'); // null

Search airlines

Partial, case-insensitive text search across airline names and codes:

baggage.search('air');
// Returns: Air Arabia, Air Canada, Air France, Air New Zealand, ...

baggage.search('wizz');
// Returns: [{ name: 'Wizz Air', code: 'W6', ... }]

Filter by alliance

const starAlliance = baggage.getByAlliance('Star Alliance');
// Turkish Airlines, Lufthansa, ANA, Singapore Airlines, United, ...

const oneworld = baggage.getByAlliance('oneworld');
// American Airlines, British Airways, Cathay Pacific, Qantas, ...

const skyteam = baggage.getByAlliance('SkyTeam');
// Air France, Delta, KLM, Korean Air, ...

Filter by carry-on weight limit

Find airlines that allow at least a given weight in the cabin:

const generous = baggage.filterByCarryOnWeight(10);
// Airlines allowing 10 kg or more as carry-on
// Aegean (13kg), Aeroflot (10kg), American Airlines (18kg), ...

Multi-language support

Labels and headers can be displayed in 6 languages:

| Code | Language | |------|----------| | en | English (default) | | tr | Turkish | | es | Spanish | | fr | French | | de | German | | ar | Arabic |

 

baggage.setLocale('tr');
console.log(baggage.getLocale());  // 'tr'

const labels = baggage.getLabels();
console.log(labels.carryOn);       // 'Kabin Bagajı'
console.log(labels.checked);       // 'Kayıtlı Bagaj'
console.log(labels.excessFee);     // 'Fazla Bagaj Ücreti'

// Unsupported locales are silently ignored
baggage.setLocale('xx'); // locale stays unchanged

CLI Usage

Look up an airline

$ baggage-limits --airline TK

✈ Turkish Airlines (TK) — Star Alliance

+----------------------------+--------------------+--------------+
| Type                       | Weight             | Dimensions   |
+----------------------------+--------------------+--------------+
| Carry-on                   | 8 kg / 17.6 lb     | 55x40x23 cm  |
| Personal Item              | -                  | 40x30x15 cm  |
| Checked Baggage (Economy)  | 23 kg / 50.7 lb x1 | 158 total cm |
| Checked Baggage (Business) | 32 kg / 70.6 lb x2 | 158 total cm |
+----------------------------+--------------------+--------------+
Excess Fee: USD 8
Website: https://www.turkishairlines.com

List all airlines

$ baggage-limits --list

All Airlines (48):

+-------------------------------+------+---------------+
| Airline                       | Code | Alliance      |
+-------------------------------+------+---------------+
| Aegean Airlines               | A3   | Star Alliance |
| Aeroflot                      | SU   | SkyTeam       |
| Air Arabia                    | G9   | -             |
| ...                           | ...  | ...           |
+-------------------------------+------+---------------+

Search, filter, and more

# Search by partial name
baggage-limits --search united

# Filter by alliance
baggage-limits --alliance "Star Alliance"

# Display in Turkish
baggage-limits --airline TK --locale tr

# Get raw JSON (great for piping to jq or other tools)
baggage-limits --airline TK --json

# Show help
baggage-limits --help

All CLI flags

| Flag | Short | Description | |------|-------|-------------| | --airline <name\|code> | -a | Look up an airline by name or IATA code | | --list | -l | List all 48 airlines | | --alliance <name> | | Filter airlines by alliance name | | --search <query> | -s | Search airlines by partial name match | | --locale <code> | | Set output language (en, tr, es, fr, de, ar) | | --json | | Output results as raw JSON | | --help | -h | Show help message | | --version | -v | Show package version |

Data Schema

Each airline record contains the following fields:

{
  name: 'Turkish Airlines',       // Full airline name
  code: 'TK',                     // IATA airline code
  alliance: 'Star Alliance',      // Alliance name or null

  carryOn: {
    weight: { kg: 8, lb: 17.6 },           // Cabin bag weight limit
    dimensions: { cm: '55x40x23', in: '21.7x15.7x9' }  // LxWxH
  },

  personalItem: {                  // null if not separately defined
    weight: { kg: 4, lb: 8.8 },
    dimensions: { cm: '40x30x15', in: '15.7x11.8x5.9' }
  },

  checked: {
    economy: {
      pieces: 1,                   // Number of bags included
      weight: { kg: 23, lb: 50.7 },
      dimensions: { cm: '158 total', in: '62 total' }  // L+W+H
    },
    business: {
      pieces: 2,
      weight: { kg: 32, lb: 70.6 },
      dimensions: { cm: '158 total', in: '62 total' }
    }
  },

  excessFee: {                     // null if not available
    currency: 'USD',
    amount: 8                      // Per-unit fee
  },

  website: 'https://www.turkishairlines.com'  // Airline baggage policy page
}

Airlines Covered

48 airlines across all three major alliances and independent carriers:

Star Alliance: Aegean Airlines, Air Canada, Air New Zealand, ANA, EVA Air, Finnair, Lufthansa, SAS, Singapore Airlines, Swiss, TAP Air Portugal, Turkish Airlines, United Airlines

oneworld: Alaska Airlines, American Airlines, British Airways, Cathay Pacific, Iberia, Japan Airlines, Malaysian Airlines, Qantas, Qatar Airways

SkyTeam: Aeroflot, Air France, China Southern, Delta, KLM, Korean Air, Saudia, Vietnam Airlines (via LATAM)

Independent / LCC: Air Arabia, EasyJet, Emirates, Etihad, Flydubai, Hawaiian Airlines, IndiGo, JetBlue, Norwegian, Oman Air, Pegasus, Ryanair, Southwest, Spirit, Virgin Atlantic, Vueling, Wizz Air

Use Cases

  • Travel apps — Show passengers their baggage allowance during booking
  • Packing assistants — Help travelers know weight/size limits before they pack
  • Flight comparison tools — Compare baggage policies side by side
  • Airport kiosks — Quick lookup for check-in staff
  • CLI power users — Check limits before heading to the airport
  • Chatbots & AI agents — Provide structured airline data in conversational UIs

License

MIT

Links