Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flight Status API — Real-Time by Flight Number

RapidAPIFree TierPythonJavaScript

Query live flight status for any commercial flight by IATA (BA123) or ICAO (BAW123) flight number. Returns departure/arrival times, terminal, gate, baggage carousel, delay status, and airline info.

The SkyLink Flight Status API provides real-time flight tracking by flight number — not just scheduled data. Get live gate assignments, actual departure times, and estimated arrivals as they update throughout the day.


Features

  • Accepts both IATA and ICAO flight numbers — BA123 or BAW123, DL1 or DAL1 — auto-converts between formats
  • Departure info — scheduled time, estimated time, actual time, terminal, gate, check-in desk
  • Arrival info — scheduled time, estimated time, actual time, terminal, gate, baggage carousel
  • Flight status — Scheduled / Boarding / Departed / En Route / Landed / Arrived / Cancelled / Diverted
  • Delay tracking — delay duration in minutes, delay reason when available
  • Airline data — name, IATA code, ICAO code, country
  • Origin and destination airports — ICAO/IATA codes, city, country
  • Real-time data — not cached schedule data

Endpoints

GET /v3/flight_status/{flight_number}
# Examples:
GET /v3/flight_status/BA123 # British Airways 123 (IATA)
GET /v3/flight_status/BAW123 # British Airways 123 (ICAO — auto-converted)
GET /v3/flight_status/AA100 # American Airlines 100
GET /v3/flight_status/DL1 # Delta Air Lines 1
GET /v3/flight_status/UA96 # United Airlines 96
GET /v3/flight_status/EK001 # Emirates 1
GET /v3/flight_status/LH400 # Lufthansa 400

Quick Start

Get Your Free API Key

Sign up at RapidAPI — SkyLink API — 1,000 free requests/month, no credit card required.

Python

importrequestsheaders= {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "skylink-api.p.rapidapi.com"
}
# Track British Airways flight 123r=requests.get(
"https://skylink-api.p.rapidapi.com/v3/flight_status/BA123",
headers=headers
)
flight=r.json()
print(f"Flight: {flight['flight_number']}{flight['airline']['name']}")
print(f"Status: {flight['status']}")
print(f"Route: {flight['departure']['airport']}{flight['arrival']['airport']}")
print(f"Departure: Gate {flight['departure']['gate']}, "f"Terminal {flight['departure']['terminal']}")
print(f"Scheduled: {flight['departure']['scheduled_time']}")
print(f"Actual: {flight['departure'].get('actual_time', 'Not yet departed')}")
print(f"ETA: {flight['arrival']['estimated_time']}")
ifflight.get("delay_minutes"):
print(f"Delay: {flight['delay_minutes']} minutes")

Python — Gate Change Monitor

importrequests, timeheaders= {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "skylink-api.p.rapidapi.com"
}
defget_status(flight_number):
r=requests.get(
f"https://skylink-api.p.rapidapi.com/v3/flight_status/{flight_number}",
headers=headers
)
returnr.json()
flight_number="BA123"last_gate=NonewhileTrue:
status=get_status(flight_number)
current_gate=status["departure"]["gate"]
ifcurrent_gate!=last_gate:
print(f"Gate updated: {last_gate}{current_gate}")
last_gate=current_gateifstatus["status"] in ("Departed", "Arrived", "Cancelled"):
print(f"Final status: {status['status']}")
breaktime.sleep(60) # check every minute

JavaScript (Node.js)

constaxios=require('axios');constheaders={'x-rapidapi-key': 'YOUR_API_KEY','x-rapidapi-host': 'skylink-api.p.rapidapi.com'};const{data: flight}=awaitaxios.get('https://skylink-api.p.rapidapi.com/v3/flight_status/AA100',{ headers });console.log(`${flight.flight_number}${flight.status}`);console.log(`${flight.departure.airport}${flight.arrival.airport}`);console.log(`Gate: ${flight.departure.gate} | Terminal: ${flight.departure.terminal}`);if(flight.delay_minutes){console.log(`Delayed ${flight.delay_minutes} min`);}

cURL

curl -X GET "https://skylink-api.p.rapidapi.com/v3/flight_status/LH400" \
-H "x-rapidapi-key: YOUR_API_KEY" \
-H "x-rapidapi-host: skylink-api.p.rapidapi.com"

Response Schema

{
"flight_number": "BA123",
"status": "En Route",
"delay_minutes": 12,
"airline": {
"name": "British Airways",
"iata": "BA",
"icao": "BAW"
},
"departure": {
"airport": "EGLL",
"airport_name": "London Heathrow Airport",
"city": "London",
"scheduled_time": "2026-03-29T10:30:00Z",
"estimated_time": "2026-03-29T10:42:00Z",
"actual_time": "2026-03-29T10:44:00Z",
"terminal": "5",
"gate": "B32",
"check_in_desk": "A"
},
"arrival": {
"airport": "KJFK",
"airport_name": "John F Kennedy International Airport",
"city": "New York",
"scheduled_time": "2026-03-29T13:45:00Z",
"estimated_time": "2026-03-29T13:57:00Z",
"actual_time": null,
"terminal": "7",
"gate": "B12",
"baggage_carousel": "3"
}
}

Use Cases

  • Airport departure/arrival boards — digital signage and web dashboards
  • Travel companion apps — push notifications for gate changes and delays
  • Corporate travel management systems — monitor executive travel in real time
  • Airline operations dashboards — track your fleet's status across all flights
  • Hotel/taxi pickup coordination — know the actual arrival time, not just scheduled
  • Flight delay compensation claim tools — log delay data automatically
  • Passenger notification systems — SMS/email alerts for status changes

Related Repositories


GitHub Topics

flight-statusflight-trackingairline-apiaviation-apireal-timepythonjavascriptdelaysgatesrest-apifree-apiiataicao


Part of SkyLink API — The All-In-One Aviation Data API

All features are included in a single SkyLink API subscription. No juggling 5 different providers. One key, one schema, one bill.

About

Query live flight status for any commercial flight by IATA (BA123) or ICAO (BAW123) flight number. Returns departure/arrival times, terminal, gate, baggage carousel, delay status, and airline info.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors