Quote:
too many assets in the list..
we still implement a "soft" slow to load-balance client requests vs. server response
Pacing of requests is exactly the job of a plug-in, cannot be the user's script.

Though as of TWS/IBG v974 IB API - finally! - implements automatic pacing.
Quote:
Better Pacing: API messages sent at a higher rate than 50/second can now be paced by TWS at the 50/second rate instead of potentially causing a disconnection. This is now done automatically by the RTD Server API and can be done with other API technologies by invoking SetConnectOptions("+PACEAPI") prior to eConnect.
https://www.interactivebrokers.com/en/index.php?f=5061

This has been tested by some people at IBAPI forum and it does work, allowing to update prices for an option chain of 1860 contracts in under 40sec.

Quote:
Requesting too much historical data can lead to throttling and eventual disconnect of the API client.
And as is clear from the logs above, Zorro's IB plug-in is grossly inefficient at determining how much to request in one go (and is by far not pushing the limits).

But what can potentially cause "throttling" by IB is that the same hist.data is re-requested several times (which is a no-no) because of incorrectly formed EndDates..