Incomplete Flight History?

Hello,

I’m attempting to query all completed flights for a particular day. I’ve been doing some spot-checking and it doesn’t seem like the GET /flights/search/advanced operation is getting me all flights for my test ident:

Operation: GET /flights/search/advanced
Parameters: {notnull arrivalTime} {match ident SKK16}
Results:

{
“flights”: [
{
“ident”: “SKK16”,
“ident_icao”: “SKK16”,
“ident_iata”: “KP16”,
“fa_flight_id”: “SKK16-1662914100-schedule-0478”,
“actual_off”: “2022-09-13T16:09:50Z”,
“actual_on”: “2022-09-13T17:15:43Z”,
“foresight_predictions_available”: false,
“predicted_out”: null,
“predicted_off”: null,
“predicted_on”: null,
“predicted_in”: null,
“predicted_out_source”: null,
“predicted_off_source”: null,
“predicted_on_source”: null,
“predicted_in_source”: null,
“origin”: {
“code”: “GABS”,
“code_icao”: “GABS”,
“code_iata”: “BKO”,
“code_lid”: null,
“airport_info_url”: “/airports/GABS”
},
“destination”: {
“code”: “GUCY”,
“code_icao”: “GUCY”,
“code_iata”: “CKY”,
“code_lid”: null,
“airport_info_url”: “/airports/GUCY”
},
“waypoints”: ,
“first_position_time”: “2022-09-13T16:05:20Z”,
“last_position”: {
“fa_flight_id”: “SKK16-1662914100-schedule-0478”,
“altitude”: 1,
“altitude_change”: “D”,
“groundspeed”: 9,
“heading”: 318,
“latitude”: 9.58434,
“longitude”: -13.60312,
“timestamp”: “2022-09-13T17:17:25Z”,
“update_type”: “A”
},
“bounding_box”: [
12.54277,
-13.62013,
9.57116,
-7.93595
],
“ident_prefix”: null,
“aircraft_type”: “737”
}
],
“links”: null,
“num_pages”: 1
}

When comparing to a manual search for this ident, it seems there’s a few completed flights for 09/13/2022. Is there a reason why it’s only returning the 1 result? Is there another operation I might be missing that would return all results for any ident for any given day?

This is likely due to the 24 hour historical limitation.

Taylor Fischer -
Commercial Support

Toll Free: +1.800.713.8570
Support Line:+1.713.588.6514

Eleven Greenway Plaza, Suite 2900 - Houston, Texas - 77046
FlightAware


Learn about FlightAware Global and Premium Accounts: http://flightaware.com/commercial/

@Fischer6385 Thank you for the response. If the daily historical is irretrievable after 24 hours, that’s something I can work around, however, I tested this theory again today for the same ident (for flights that have run for today) and I received similar results…which is to say, it seems like it’s only returning the latest arrival. I’m posting this at 09/16/2022 ≈14:30 PM CDT, which is equivalent to 09/16/2022 19:30 UTC or GMT. Here is the result for the query I’ve just run (no “links” for paginated results; indicating 1 result):

{
“flights”: [
{
“ident”: “SKK16”,
“ident_icao”: “SKK16”,
“ident_iata”: “KP16”,
“fa_flight_id”: “ETAPM-1663349395-adhoc-0”,
“actual_off”: “2022-09-16T17:34:13Z”,
“actual_on”: “2022-09-16T18:54:40Z”,
“foresight_predictions_available”: false,
“predicted_out”: null,
“predicted_off”: null,
“predicted_on”: null,
“predicted_in”: null,
“predicted_out_source”: null,
“predicted_off_source”: null,
“predicted_on_source”: null,
“predicted_in_source”: null,
“origin”: {
“code”: “DIAP”,
“code_icao”: “DIAP”,
“code_iata”: “ABJ”,
“code_lid”: null,
“airport_info_url”: “/airports/DIAP”
},
“destination”: {
“code”: “GABS”,
“code_icao”: “GABS”,
“code_iata”: “BKO”,
“code_lid”: null,
“airport_info_url”: “/airports/GABS”
},
“waypoints”: ,
“first_position_time”: “2022-09-16T17:30:09Z”,
“last_position”: {
“fa_flight_id”: “ETAPM-1663349395-adhoc-0”,
“altitude”: 12,
“altitude_change”: “D”,
“groundspeed”: 9,
“heading”: 56,
“latitude”: 12.52171,
“longitude”: -7.96822,
“timestamp”: “2022-09-16T18:55:12Z”,
“update_type”: “A”
},
“bounding_box”: [
12.54227,
-8.10711,
11.08413,
-7.15128
],
“ident_prefix”: null,
“aircraft_type”: null
}
],
“links”: null,
“num_pages”: 1
}

The last flight that would have run under this ident would have been around 3-5 hours from this posting…but it does not show within the 24-hour threshold. Please advise.

Thank you!

@Fischer6385
One additional flight result within the same 24 hours…this one landing within 2 hours of the previous post (actual_on: 2022-09-16T18:54:40Z), same ident…only returned the latest result for today:

{
“flights”: [
{
“ident”: “SKK16”,
“ident_icao”: “SKK16”,
“ident_iata”: “KP16”,
“fa_flight_id”: “SKK16-1663173480-schedule-0259”,
“actual_off”: “2022-09-16T19:42:11Z”,
“actual_on”: “2022-09-16T20:45:02Z”,
“foresight_predictions_available”: false,
“predicted_out”: null,
“predicted_off”: null,
“predicted_on”: null,
“predicted_in”: null,
“predicted_out_source”: null,
“predicted_off_source”: null,
“predicted_on_source”: null,
“predicted_in_source”: null,
“origin”: {
“code”: “GABS”,
“code_icao”: “GABS”,
“code_iata”: “BKO”,
“code_lid”: null,
“airport_info_url”: “/airports/GABS”
},
“destination”: {
“code”: “GUCY”,
“code_icao”: “GUCY”,
“code_iata”: “CKY”,
“code_lid”: null,
“airport_info_url”: “/airports/GUCY”
},
“waypoints”: ,
“first_position_time”: “2022-09-16T18:53:44Z”,
“last_position”: {
“fa_flight_id”: “SKK16-1663173480-schedule-0259”,
“altitude”: 1,
“altitude_change”: “D”,
“groundspeed”: 26,
“heading”: 229,
“latitude”: 9.58241,
“longitude”: -13.60538,
“timestamp”: “2022-09-16T20:45:37Z”,
“update_type”: “A”
},
“bounding_box”: [
12.54284,
-13.61824,
9.57156,
-7.9362
],
“ident_prefix”: null,
“aircraft_type”: null
}
],
“links”: null,
“num_pages”: 1
}

If you are only trying to get flight details about a single ident, then you should just be using /flights/ident for your request, and then iterate over the returned results to exclude the non-arrived flights. That method also happens to have longer data retention history limit than the short-term, live flight limitation of the /flights/search interface.

@bovineone Thank you for your response. Unfortunately, I do not believe /flights/{ident} would be viable since the ident is a required parameter and I am wanting to gather flight data for all idents within a given period (could be a period of within the last hour for sake of brevity). I tested feeding a wildcard to the ident parameter for this function (image attached) and it does not seem this function supports the “*” in arguments, though I understand this wildcard does work with ident in other functions: i.e. /flights/search (maybe the shorter retention history limit allows for this). All of this testing led me down the path of some of the other functions that do not require an ident parameter, which—in the end—brought me to creating this initial forum post.

I will say, /flights/{ident} does return preferred results in terms of the actual data (route_distance being a big one). Aside from me passing all applicable idents one at a time through the /flights/{ident} function, is there a another way to routinely gather this data for all idents within a period?

Correct, /flights/{ident} must be a single literal ident that you want to look up.

The /flights/search interface is primarily intended for very recent flights (particularly en route, or very recently landed).

If you are truly intending to monitor all flights worldwide, then you are likely going to want to investigate our separate Firehose API, which is intended for higher volume flight monitoring without the need for request polling.