Flights on a route
Scheduled flights between two airports for up to 14 days, earliest first. Direct flights and flights that stop on the way (via[]). Each leg carries the operating airline, codeshares, local time with its IANA zone, UTC, distance and the latest status the airport published. HKG to FRA is the free demo route and answers without a key; every other route needs a tmcp_ key.
Query parameters
Origin airport, 3-letter IATA code.
Destination airport, 3-letter IATA code.
Local date YYYY-MM-DD. Default: today.
Days to search from date, 1 to 14. Default 7.
1 for freighters only (all-cargo flights).
Only this operating airline, ICAO code.
Response schema
78 fields
Derived from the example response, nested as the JSON is.
The payload. Everything an endpoint returns sits under this key.
data[]
Stable identifier for the record. On the tracking endpoints this is the container UUID, except on a portfolio summary row, where it is the container number.
status_info
Last status the airport published: code, label, time and delay in minutes.
Event or status code.
The event in plain words. A non-actual event is tagged "(planned)".
airline
IATA code.
Human-readable name.
Country name.
Marketing flight numbers of the same flight.
Scheduled time at station, local wall clock HH:MM, in tz.
Scheduled departure, UTC.
origin
Origin code (airport IATA or UN/LOCODE).
IATA code.
Human-readable name.
City the airport serves.
Country name.
Latitude.
destination
Destination code (airport IATA or UN/LOCODE).
IATA code.
Human-readable name.
City the airport serves.
Country name.
Latitude.
Stops between origin and destination of this leg.
via[]
IATA code.
Human-readable name.
City the airport serves.
Country name.
Latitude.
dep when the leg comes from a departures board, arr from an arrivals board.
IATA of the airport whose board the leg was read from.
true on an all-cargo (freighter) flight.
Current normalised status of the shipment. Ocean lifecycle order: discharged, available, delivered, returned_empty. Two values end a shipment, delivered and returned_empty, and returned_empty outranks delivered.
Id of the airport or airline source the leg came from.
When the record itself last changed in our database, which includes bookkeeping writes. For "when did we last learn something about the shipment", read last_updated_at.
meta
from
IATA code.
Human-readable name.
City the airport serves.
Country name.
Latitude.
to
IATA code.
Human-readable name.
City the airport serves.
Country name.
Latitude.
How many cards the lane returned.
Errors
A failure carries { "error": { "code", "message" } } with the HTTP status. Branch on the code, and log the message.
The key is unknown or revoked.
from or to is not a 3-letter IATA code.
date is not YYYY-MM-DD.
More than 60 requests in one minute from one key.
Schedules, not live tracking
Data comes from official airport and airline flight information, refreshed every 3 hours, 7 days ahead. status_info is the last status the airport published, not a radar position. For an air waybill status use AirCargoMCP.
curl 'https://api.navo24.com/v1/flight/flights?from=HKG&to=FRA&date=2026-11-01&days=2&cargo=1&airline=GEC' \
-H "Authorization: Bearer tmcp_YOUR_API_KEY"const res = await fetch("https://api.navo24.com/v1/flight/flights?from=HKG&to=FRA&date=2026-11-01&days=2&cargo=1&airline=GEC", {
headers: {
"Authorization": "Bearer tmcp_YOUR_API_KEY"
}
});
const data = await res.json();import requests
res = requests.get(
"https://api.navo24.com/v1/flight/flights?from=HKG&to=FRA&date=2026-11-01&days=2&cargo=1&airline=GEC",
headers={"Authorization": "Bearer tmcp_YOUR_API_KEY"},
)
data = res.json(){
"data": [
{
"id": "LH8463/2026-11-01",
"status_info": {
"code": "scheduled",
"label": "Scheduled",
"time": null,
"date": null,
"delay_min": null,
"raw": null
},
"extra": {},
"codeshare_airlines": [],
"distance_km": 9869,
"flight_no": "LH8463",
"airline": {
"icao": "GEC",
"iata": "LH",
"name": "Lufthansa Cargo",
"country": "Germany",
"logo": "/airline-logos/GEC.png"
},
"codeshares": [],
"date": "2026-11-01",
"time_local": "10:50",
"tz": "Asia/Hong_Kong",
"departure_utc": "2026-11-01T02:50Z",
"origin": {
"iata": "HKG",
"name": "Hong Kong International Airport",
"city": "Hong Kong",
"country": "HK",
"lat": 22.31184,
"lon": 113.914862,
"tz": "Asia/Hong_Kong"
},
"destination": {
"iata": "FRA",
"name": "Frankfurt Main Airport",
"city": "Frankfurt am Main",
"country": "DE",
"lat": 50.026706,
"lon": 8.55835,
"tz": "Europe/Berlin"
},
"via": [
{
"iata": "DEL",
"name": "Indira Gandhi International Airport",
"city": "New Delhi",
"country": "IN",
"lat": 28.55563,
"lon": 77.09519,
"tz": "Asia/Calcutta"
}
],
"stops": 1,
"board": "dep",
"station": "HKG",
"cargo": true,
"status": "",
"terminal": null,
"gate": null,
"source": "hkg",
"updated_at": "2026-10-31T00:15:00Z"
}
],
"meta": {
"from": {
"iata": "HKG",
"name": "Hong Kong International Airport",
"city": "Hong Kong",
"country": "HK",
"lat": 22.31184,
"lon": 113.914862,
"tz": "Asia/Hong_Kong"
},
"to": {
"iata": "FRA",
"name": "Frankfurt Main Airport",
"city": "Frankfurt am Main",
"country": "DE",
"lat": 50.026706,
"lon": 8.55835,
"tz": "Europe/Berlin"
},
"date": "2026-11-01",
"days": 2,
"count": 3,
"airlines": 3
}
}