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.
- 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
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
Sign up at RapidAPI — SkyLink API — 1,000 free requests/month, no credit card required.
import requests
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "skylink-api.p.rapidapi.com"
}
# Track British Airways flight 123
r = 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']}")
if flight.get("delay_minutes"):
print(f"Delay: {flight['delay_minutes']} minutes")import requests, time
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "skylink-api.p.rapidapi.com"
}
def get_status(flight_number):
r = requests.get(
f"https://skylink-api.p.rapidapi.com/v3/flight_status/{flight_number}",
headers=headers
)
return r.json()
flight_number = "BA123"
last_gate = None
while True:
status = get_status(flight_number)
current_gate = status["departure"]["gate"]
if current_gate != last_gate:
print(f"Gate updated: {last_gate} → {current_gate}")
last_gate = current_gate
if status["status"] in ("Departed", "Arrived", "Cancelled"):
print(f"Final status: {status['status']}")
break
time.sleep(60) # check every minuteconst axios = require('axios');
const headers = {
'x-rapidapi-key': 'YOUR_API_KEY',
'x-rapidapi-host': 'skylink-api.p.rapidapi.com'
};
const { data: flight } = await axios.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 -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"{
"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"
}
}- 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
- flight-schedules-api — get all departures and arrivals for an entire airport
- airport-database-api — get airport coordinates, terminals, and runways
- flight-tracking-api — track the actual aircraft position on a map
- aviation-utilities-api — calculate the great-circle distance for any route
flight-status flight-tracking airline-api aviation-api real-time python javascript delays gates rest-api free-api iata icao
All features are included in a single SkyLink API subscription. No juggling 5 different providers. One key, one schema, one bill.
- Website: https://skylinkapi.com
- Full Docs: https://skylinkapi.com/docs
- RapidAPI: https://rapidapi.com/skylink-api-skylink-api-default/api/skylink-api
- Free Tier: 1,000 requests/month — no credit card required