How to retrieve the whole option chains from IB using IBridgePy?
Retrieving option chains with IBridgePy is essential for options trading strategies. This guide shows how to use the IB API through IBridgePy to get complete option chain data including strikes, expiries, and contract details for any underlying security.

As an example, the following code can be used to know the available futures of E-mini S&P 500. “xx” in the code represents the expiry of the futures.
Retrieve Option Chains IBridgePy Example
def initialize(context): request_data(contractDetails=[symbol('FUT,ES,USD,xx')]) def handle_data(context, data): print data.data[symbol('FUT,ES,USD,xx')].contractDetails exit()
Another example is provided to get the option chains of E-mini S&P 500 futures. “xx,xx,xx,xx” in the code represents expiry, strike price, right and multiplier, in this order. If you want to limit the returned option chains with only “Call”, “xx,xx,xx,xx” should be replaced by “xx,xx,C,xx”
def initialize(context): request_data(contractDetails=[symbol('OPT,ES,USD,xx,xx,xx,xx')]) def handle_data(context, data): print data.data[symbol('OPT,ES,USD,xx,xx,xx,xx')].contractDetails exit()
Best Practices
When requesting contract details, consider implementing rate limiting to avoid exceeding Interactive Brokers API request limits. Always test with paper trading accounts before live deployment.
Learn more from Interactive Brokers platform documentation.
