IBKR cannot supply every old price series. Check the product, dates, and bar size against its data limits. For example, bars of 30 seconds or less are not offered beyond six months. A gap can be a data limit rather than a fault in TWS.
Educational software guidance. Trading involves risk. Read the financial and information disclaimers.
Step by step
- 1 Confirm you requested the intended contract rather than a newer expiry.
- 2 For a TWS chart, open Edit → Chart Parameters and note Time period and What to show. For an API request, record those inputs from the app log instead. The app can use different values.
- 3 Compare the request with IBKR’s unavailable-data list.
- 4 Try a smaller supported interval to separate availability from a connection problem.
- 5 If the interval should exist, send the exact query and response to support.
A practical example
Suppose you choose an old option that expired long ago. Its name may still look valid in your saved list, but the history you want may no longer be offered. Write down the full contract and date range. Then compare them with the broker’s data limits. You can also test a short recent range on a known valid product to check that the link works. That second test does not create the old data, but it helps show that a missing dataset and a broken link are not the same issue.
Screen reference




Mistake to avoid
Common questions
Can an expired contract lose available history?
Availability varies by product and time since expiry. Check the official limit.
Will more memory recover unavailable bars?
No. Local memory cannot create data the service does not offer.