I see, so for every single request I can only get 2 days of minute data. Then how long ago does IB save their minute data? May be half to one year?
I think their published limit says 1 year, but in practice I'm able to get much more than that. For example, I can pull 1 minute data for AAPL from 2007. Not sure what the exact limit is, but it's certainly much more than a year.
The main problem with IB data is the rate limits for requests. You can only send 60 requests in a 10 minute period. This is a strict limit and the API will not return data if you attempt more than this. Thus, depending on how much data you're trying to pull, it could take a very long time.