One flight number
Every leg of a flight number we hold, or one date. Codeshare numbers resolve to the operating flight.
Path parameters
Airline code and digits, like CX2071 or LH8401.
Query parameters
Only this local date, YYYY-MM-DD.
Response schema
60 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 arrival, 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
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.
Not an airline code followed by digits.
No schedule for this flight in our coverage.
More than 60 requests in one minute from one key.
curl 'https://api.navo24.com/v1/flight/flights/CX2071' \
-H "Authorization: Bearer tmcp_YOUR_API_KEY"const res = await fetch("https://api.navo24.com/v1/flight/flights/CX2071", {
headers: {
"Authorization": "Bearer tmcp_YOUR_API_KEY"
}
});
const data = await res.json();import requests
res = requests.get(
"https://api.navo24.com/v1/flight/flights/CX2071",
headers={"Authorization": "Bearer tmcp_YOUR_API_KEY"},
)
data = res.json(){
"data": [
{
"id": "CX2071/2026-10-31",
"status_info": {
"code": "estimated",
"label": "Expected",
"time": "21:53",
"date": "2026-10-31",
"delay_min": -17,
"raw": "Est at 21:53"
},
"extra": {},
"codeshare_airlines": [],
"distance_km": 14599,
"flight_no": "CX2071",
"airline": {
"icao": "CPA",
"iata": "CX",
"name": "Cathay Pacific",
"country": "Hong Kong SAR of China",
"logo": "/airline-logos/CPA.png"
},
"codeshares": [],
"date": "2026-10-31",
"time_local": "22:10",
"tz": "Asia/Hong_Kong",
"arrival_utc": "2026-10-31T14:10Z",
"origin": {
"iata": "MIA",
"name": "Miami International Airport",
"city": "Miami",
"country": "US",
"lat": 25.796011,
"lon": -80.289751,
"tz": "America/New_York"
},
"destination": {
"iata": "HKG",
"name": "Hong Kong International Airport",
"city": "Hong Kong",
"country": "HK",
"lat": 22.31184,
"lon": 113.914862,
"tz": "Asia/Hong_Kong"
},
"via": [
{
"iata": "ANC",
"name": "Ted Stevens Anchorage International Airport",
"city": "Anchorage",
"country": "US",
"lat": 61.179004,
"lon": -149.992561,
"tz": "America/Anchorage"
}
],
"stops": 1,
"board": "arr",
"station": "HKG",
"cargo": true,
"status": "Est at 21:53",
"terminal": null,
"gate": null,
"source": "hkg",
"updated_at": "2026-10-31T00:15:00Z"
}
],
"meta": {
"flight_no": "CX2071",
"count": 1
}
}