Query the whole airline

Hi there

Is there a way of getting a status on all flights an airline has? I did try a workaround with SetMaximumResultSize to 1000 but looks like you limit most queries to 15 results. Which queries would be available for more results than 15 or in other words, how would I need to send queries if I would like to check the flightstatus of all flights an airline has at that moment. We do have flightnumbers and don’t need the schedules per se.

Thanks
Andreas

@dogrock maybe you can help?

Have you used the SetMaximumResultSize to increase the howMany soft cap? This default is in place to prevent a new user from accidentally making some expensive queries with large howMany values.

@dogrock Thanks for the reply. We increased it but the responses are still limited to 15.

And with it I have a second question: I thought the billing is for every query sent. But you suggest that if you send 5 responses out of one query you would charge 5 times?

First, I’m not FlightAware staff.

Second, for most of those queries where you get a big pile of results, every 15 count as a query; so if you sent a query and got 60 results, for billing it’d count as four queries.

@AndreasNiedermann, after looking at some of the recent requests you made (the last appear to have been on September 3), I have some observations.

Many of your requests were made with an ident argument containing “=0” appended to them. For example: “LH177=0”, “DLH177=0”, and “DLH1125=0”. I would expect all of those requests to fail or return no results.

Most of your requests were made with a “howMany” argument of just 1 (or in a couple of cases, 5 was supplied). The server-side implementation is to take the max() of the following three values: the howMany argument for that call, value that last supplied to SetMaximumResultSize, or 15 if you have never called SetMaximumResultSize. I can confirm that your SetMaximumResultSize of 1000 was received.

If you are not receiving the expected number of results then it is likely because the “howMany” argument is not being passed or encoded to us properly. Pasting the full URL and arguments that you are requesting might allow further debugging.

@bovineone thank you, I will have a look at it.

As pricing is concerned, can you confirm @ottergoose statement?

That is basically correct.

Any function that has a howMany argument is considered to have a variably-billed cost, and each additional set of 15 results that actually gets returned is the same as calling that function another time. There is generally no benefit to calling any function that has a howMany argument with a value less than 15, since you’re still charged the same amount.

@bovineone Thank you for your response. So what would be the most cost effective method to query the flight statuses of all flights of an airline e.g. Lufthansa? Maybe you come up with an idea because all ideas I have are just too expensive for us

You need to make your application intelligent about when and what it needs to make requests for, rather than just blindly attempting to refresh data every minute about every flight.

For example, if a flight is still hours prior to departure it is not necessary to request updated information as frequently, compared to when it is closer to departure time.

One technique that might be useful is to call FleetScheduled and FleetArrived to find out all flights for that airline, and then selectively call FlightInfoEx on specific flights that you need more details on.

You might also want to consider using a Pushed Alert that subscribes to specific idents and you will receive a notification when that flight departs/arrives, which may provide you with most of the information you need.