Get departure and arrival schedules for any airport worldwide. Supports 5 days of historical data plus forward-looking schedules. Live data including gates, terminals, delays, and airline info. Free tier available.
The SkyLink Flight Schedules API gives you access to airport-level departure and arrival boards for any ICAO airport code. Query today's schedule, look back at historical flights from the past 5 days, or retrieve upcoming departures and arrivals — all with live gate, terminal, and status data.
- Departure schedules for any ICAO airport
- Arrival schedules for any ICAO airport
- 5 days of historical data + 1 day forward
- Date + time filtering — query a specific date and optional time window
- Paginated results — handle airports with hundreds of daily flights
- Per-flight data:
- Flight number (IATA and ICAO)
- Airline name and IATA/ICAO codes
- Origin / destination airport (ICAO, IATA, city)
- Scheduled time, estimated time, actual time
- Terminal and gate
- Flight status (Scheduled / Boarding / Departed / En Route / Landed / Arrived / Cancelled)
- Delay in minutes
- Supports both ICAO and IATA airport codes as input
GET /v3/schedules/departures?icao=KJFK # today's departures
GET /v3/schedules/arrivals?icao=KJFK # today's arrivals
GET /v3/schedules/departures?icao=EGLL&date=25-03-2026 # specific date (DD-MM-YYYY)
GET /v3/schedules/arrivals?icao=KLAX&date=25-03-2026&time=14:00 # with time
GET /v3/schedules/departures?icao=YSSY&page=2 # page 2 of results
# Examples:
GET /v3/schedules/departures?icao=KJFK # JFK departures
GET /v3/schedules/arrivals?icao=EGLL # Heathrow arrivals
GET /v3/schedules/departures?icao=EDDM # Munich departures
GET /v3/schedules/arrivals?icao=YSSY # Sydney arrivals
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"
}
r = requests.get(
"https://skylink-api.p.rapidapi.com/v3/schedules/departures",
headers=headers,
params={"icao": "EGLL"}
)
data = r.json()
print(f"{data['total_count']} departures from Heathrow today")
for flight in data["flights"][:10]:
print(f" {flight['flight_number']} → {flight['destination_city']} "
f"({flight['destination_airport']}) "
f"at {flight['scheduled_time']} | {flight['status']}")# Get arrivals at JFK on a past date
r = requests.get(
"https://skylink-api.p.rapidapi.com/v3/schedules/arrivals",
headers=headers,
params={
"icao": "KJFK",
"date": "25-03-2026",
"time": "09:00" # optional: start from this time
}
)
for flight in r.json()["flights"][:10]:
delay = f" (+{flight['delay_minutes']}min)" if flight.get("delay_minutes") else ""
print(f" {flight['flight_number']} from {flight['origin_city']} "
f"— arrived {flight.get('actual_time', flight['scheduled_time'])}{delay}")import requests, time
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "skylink-api.p.rapidapi.com"
}
TARGET_FLIGHT = "BA183"
AIRPORT = "KJFK"
while True:
r = requests.get(
"https://skylink-api.p.rapidapi.com/v3/schedules/arrivals",
headers=headers,
params={"icao": AIRPORT}
)
flights = r.json()["flights"]
target = next((f for f in flights if f["flight_number"] == TARGET_FLIGHT), None)
if target:
print(f"{TARGET_FLIGHT}: {target['status']} | "
f"Gate {target.get('gate', 'TBD')} | "
f"ETA {target.get('estimated_time', target['scheduled_time'])}")
if target["status"] in ("Arrived", "Landed"):
print("Flight has arrived!")
break
time.sleep(120) # check every 2 minutesconst axios = require('axios');
const headers = {
'x-rapidapi-key': 'YOUR_API_KEY',
'x-rapidapi-host': 'skylink-api.p.rapidapi.com'
};
// Today's departures from Munich Airport
const { data } = await axios.get(
'https://skylink-api.p.rapidapi.com/v3/schedules/departures',
{ headers, params: { icao: 'EDDM' } }
);
console.log(`${data.total_count} flights departing from Munich today`);
data.flights.slice(0, 5).forEach(f => {
console.log(`${f.flight_number} → ${f.destination_city} at ${f.scheduled_time}`);
});# Departures from JFK today
curl "https://skylink-api.p.rapidapi.com/v3/schedules/departures?icao=KJFK" \
-H "x-rapidapi-key: YOUR_API_KEY" \
-H "x-rapidapi-host: skylink-api.p.rapidapi.com"
# Historical arrivals at LAX
curl "https://skylink-api.p.rapidapi.com/v3/schedules/arrivals?icao=KLAX&date=25-03-2026" \
-H "x-rapidapi-key: YOUR_API_KEY" \
-H "x-rapidapi-host: skylink-api.p.rapidapi.com"{
"airport": "EGLL",
"date": "2026-03-29",
"type": "departures",
"total_count": 312,
"page": 1,
"flights": [
{
"flight_number": "BA123",
"flight_number_icao": "BAW123",
"airline": {
"name": "British Airways",
"iata": "BA",
"icao": "BAW"
},
"destination_airport": "KJFK",
"destination_iata": "JFK",
"destination_city": "New York",
"scheduled_time": "2026-03-29T10:30:00Z",
"estimated_time": "2026-03-29T10:45:00Z",
"actual_time": null,
"terminal": "5",
"gate": "B32",
"status": "Boarding",
"delay_minutes": 15
}
]
}- Date parameter:
DD-MM-YYYY(e.g.,25-03-2026) - Time parameter:
HH:MM24-hour format UTC (e.g.,14:00) - Historical window: Up to 5 days in the past
- Forward window: 1 day ahead (next 24 hours)
- All times in response are UTC
- Airport departure/arrival board websites — digital signage and web dashboards
- Travel apps — show what's departing from an airport near the user
- Airline punctuality analysis — collect historical delay data for analytics
- Airport retail and parking demand forecasting — predict passenger volumes by schedule
- Corporate travel monitoring — track all incoming flights for a meeting or event
- Hotel/taxi coordination systems — show incoming arrivals for pickup scheduling
- Aviation data journalism — research cancellations and delays on specific dates
- flight-status-api — drill down to a specific flight by number for real-time gate info
- airport-database-api — look up airport details by ICAO code
- aviation-utilities-api — FAA ground delays that affect airport departures
- flight-tracking-api — track the actual aircraft position on a map
flight-schedules departures arrivals airport-schedules aviation-api airline-schedules python javascript rest-api flight-data departure-board arrival-board
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
- History: 5 days historical + 1 day forward