I use Amibroker to download data from IB. But it takes forever to download. Why is this? Aside the throttling, I mean. Downloading data from google is far quicker and that's free.
I think it is mostly the throttling issue that slows it down. I've given up on that datafeed route. If you miss a day of download , and you have a long watchlist, forget it. The throttling will turn a 2 minute chore with other feeds into a 1 hour one.
I agree that the throttling of IB's reqHistoricalData() is quite annoying. Getting a good while of history takes forever, especially if you are pulling data for a lot of contracts. However, I keep most of the historical data persisted in storage locally, and every trading day I just request the last day's worth of data and have it appended to my dataset. This doesn't take very long to update. It is fairly easy and straight-forward to make a simple TWSAPI app to keep copies of the old historical data, periodically updated with new data every trading day. At least, that's how I do it. I haven't found the need to subscribe to another data service for this. Perhaps your needs are different than mine though.
There's a reason the firm is called Interactive Brokers, rather than Interactive Datavendors. Think about it.