✈️ AF-KLM Fleet Catalog

Open source, community-maintained catalog of Air France and KLM fleets with real-time tracking of aircraft properties, WiFi connectivity, and historical changes.


📊 Fleet Overview

Airline Total 📶 WiFi 🛜 High-Speed % Starlink
🇫🇷 Air France 220 220 (100%) 41 19%
🇳🇱 KLM 117 94 (80%) 0 0%
Combined 337 314 (93%) 41 12%

🛜 High-Speed = Starlink satellite internet (50+ Mbps)
📶 WiFi = Any WiFi connectivity (low-speed or high-speed)

Last updated: 2026-02-04


🛫 Fleet Breakdown

🇫🇷 Air France (AF)

Aircraft Type Count
A220-300 PASSENGER 46
777-300ER 43
A350-900 41
A320 29
777-200-200ER 18
A321 12
787-9 10
A330-200 8
A320 (SHARKLETS) 6
A318 4
A319 3
Total 220

🇳🇱 KLM (KL)

Aircraft Type Count
737-800 29
777-300ER 15
787-10 15
777-200-200ER 14
A321NEO 12
787-9 12
A330-200 5
A330-300 5
737-900 5
737-700 5
Total 117

📋 Detailed Configuration

🇫🇷 Air France — Detailed Configuration

Aircraft Config Seats Count 🛜 Starlink
777-200-200ER J028W032Y268 328 18 -
777-300ER J014W028Y430 472 12 -
777-300ER J048W048Y273 369 8 -
777-300ER P004J058W028Y206 296 14 1/14 (7%)
777-300ER P004J060W044Y204 312 9 1/9 (11%)
787-9 J030W021Y228 279 10 -
A220-300 PASSENGER Y148 148 46 12/46 (26%)
A318 Y131 131 4 -
A319 C072Y071 143 2 -
A319 Y142 142 1 -
A320 C108Y066 174 22 2/22 (9%)
A320 Y178 178 7 -
A320 (SHARKLETS) C108Y066 174 6 -
A321 C082Y130 212 8 -
A321 Y212 212 4 -
A330-200 J036W021Y167 224 8 1/8 (13%)
A350-900 J034W024Y266 324 20 10/20 (50%)
A350-900 J048W032Y210 290 1 1/1 (100%)
A350-900 J048W032Y212 292 20 13/20 (65%)

🇳🇱 KLM — Detailed Configuration

Aircraft Config Seats Count 🛜 Starlink
737-700 C036M106 142 5 -
737-800 C036M150 186 29 -
737-900 C056M132 188 5 -
777-200-200ER C035W024M229 288 12 -
777-200-200ER C035W032M219 286 2 -
777-300ER C035W024M322 381 15 -
787-10 C038W028M252 318 15 -
787-9 C030W021M224 275 12 -
A321NEO C030M197 227 12 -
A330-200 C018M246 264 5 -
A330-300 C030M262 292 5 -

🚀 Quick Start

Update the Catalog

# Set your API key
export AFKLM_API_KEY=your_api_key_here

# Update Air France
node fleet-update.js --airline AF

# Update KLM  
node fleet-update.js --airline KL

# Preview changes without saving
node fleet-update.js --airline KL --dry-run

# Regenerate this README with latest stats
node generate-readme.js

Using the Data

// Load Air France fleet
const response = await fetch('https://raw.githubusercontent.com/.../airlines/AF.json');
const fleet = await response.json();

// Find all Starlink aircraft
const starlink = fleet.aircraft.filter(a => a.connectivity.wifi === 'high-speed');
console.log(`${starlink.length} aircraft with Starlink`);

// Get aircraft by type
const a350s = fleet.aircraft.filter(a => a.aircraft_type.full_name?.includes('A350'));

📁 Data Structure

af-klm/
├── airlines/
│   ├── AF.json         # Air France fleet
│   └── KL.json         # KLM fleet
├── schema/
│   └── aircraft.schema.json
├── fleet-update.js     # Update script
└── generate-readme.js  # This stats generator

Aircraft Schema

{
  "registration": "F-HTYA",
  "aircraft_type": {
    "iata_code": "359",
    "manufacturer": "Airbus",
    "model": "A350",
    "full_name": "AIRBUS A350-900"
  },
  "cabin": {
    "physical_configuration": "J034W024Y266",
    "total_seats": 324,
    "classes": { "business": 34, "premium_economy": 24, "economy": 266 }
  },
  "connectivity": {
    "wifi": "high-speed",
    "wifi_provider": "Starlink",
    "satellite": true
  },
  "tracking": {
    "first_seen": "2025-01-15",
    "last_seen": "2026-02-04",
    "total_flights": 1250
  },
  "history": [
    {
      "timestamp": "2026-01-20",
      "property": "connectivity.wifi",
      "old_value": "low-speed",
      "new_value": "high-speed",
      "source": "airline_api"
    }
  ]
}

🤝 Contributing

Daily Updates

Community members are encouraged to run the update script daily:

  1. Fork this repo
  2. Set your AFKLM_API_KEY
  3. Run node fleet-update.js --airline AF and --airline KL
  4. Run node generate-readme.js to update stats
  5. Submit a PR

API Key

Get a free API key at developer.airfranceklm.com


📋 Schema Version

Current: 1.0.0


📄 License

Under MIT License


Made with ✈️ by the aviation community

S
Description
No description provided
Readme MIT 580 KiB
Languages
Python 80%
JavaScript 19.3%
Shell 0.7%