Search() doesn't return all the results ?

Hi !

I’ve been comparing the data returned from the Search API call with data from local ADS-B, and also from another realtime flight data Source That Shall Not Be Named.

I’ve found that the results usually omit a bunch of airline flights. But I look those flights up via the flightaware web UI, it finds them just fine.

Attached is a screenshot to show what I mean, taken about 30 minutes ago above San Francisco. I poll all three sources at the same time, and then plot them on a map:
Blue: local ADS-B traces
Red: FlightAware, Search(query:“-inAir 1 -filter airline”)
Green: Source That Shall Not Be Named

The staggering of the arrows is due to the typical latency differences from the three sources (~1s, ~4s, ~30s).

The four black circles show four regular flights (SWA2884, UAL479, SKW5392, SWA2820) that didn’t show up in the FlightAware’s Search() results, but all of which can be found in FlightAware’s UI, and show up at the right place and time.

(And for the avoidance of doubt: yes, I’ve SetMaximumResultSize(“45”) and set {howMany=45} in the Search call; and I also iterate over multiple result pages, although that’s not a very stable thing (e.g. the same flight pops up in multiple pages).

Any ideas what’s going on with these missing results ? The effect is pretty consistent - every time I run the comparison, I see a fair handful of missing flights for a range of airlines (including big ones like UAL, AAL).


I recommend using a howMany size that will ensure that you get all results in a single API call, since the ordering of the rows is not guaranteed to be stable across the separate calls. Also ensure that the howMany is greater than the number of results you actually expect to get. That will ensure that some potential results are not unintentionally limited by the requested return size.

HI !

I have already followed your advice; I had called SetMaximumResults=45, and Search(howMany=45), and I was receiving less than 45 matches in the example above - all results came back in one page.

I think there must be some other reason why the Search() call is missing out results.

I assume you took that screenshot on 2016-01-18, so I looked for the flights you mentioned on those days. Some things that I’ve noticed about the 4 flights you mentioned…

SWA2820 and SWA2884 are not ADS-B equipped, so we only have 5-minute delayed FAA Radar positions for those flights. FlightXML might have been returning a position for those flights, but it would possibly have been offscreen due to the delay. Your other “green” data provider might have been providing you with MLAT-derived positions, but I don’t think we have MLAT data enabled everywhere yet. … O/tracklog … A/tracklog

UAL479 and SKW5392 appear to have briefly had ADS-B data for only 3 or 4 positions, and then we reverted to 5-minute delayed FAA Radar positions around 10:46 CST. It’s possible there was some coincidental ADS-B issue occurring on our network that day. … X/tracklog … T/tracklog