Giving Up on IBKR Algo Trading API Development: Frustrated Developer's Perspective
- Bryan Downing
- Mar 6
- 2 min read
The Interactive Brokers (IBKR) Trader Workstation (TWS) API has long been a source of frustration for developers. A recent Reddit post in r/interactivebrokers, titled "Frustrated with TWS Api," perfectly encapsulates the widespread dissatisfaction. The original poster, a seasoned developer with 15 years of experience, didn't mince words, calling the IBKR Algo Trading API a "piece of garbage" and questioning why IBKR continues to offer such a subpar product.

A Chorus of Complaints
The comments section of the post reads like a therapy session for developers who have battled the TWS API. Words like "awful," "crap," "ridiculous," "horrible," and "the worst software I ever saw" are common. Developers cite a litany of issues, including:
Dropped sessions and unreliable data: The API is notorious for randomly disconnecting and providing inconsistent data.
Complex setup and poor documentation: Getting started with the TWS API is a daunting task, thanks to its convoluted setup process and inadequate documentation.
Unexpected behaviors: The API is known for its unpredictable quirks and inconsistencies, making it difficult to build reliable applications.
The iserver dropping and difficulties with option price calculations.
The need to log in every 24 hours.
Alternatives and Workarounds
Faced with these challenges, developers have explored various alternatives and workarounds:
Alternative brokers: Some have switched to brokers with better APIs, such as Alpaca (though it lacks options trading), Webull, and Tradier.
ib_insync (Python): This third-party Python library provides a more user-friendly interface to the TWS API. However, the fact that such a library is necessary highlights the underlying problems with the API itself.
MedvedTrader API: This API acts as a middleman solution for connecting to multiple brokers, including IBKR.
Alternative data sources: Some users discuss the need for better sources of historical data, with polygon.io being mentioned as one option.
A Few Defenders
Not everyone is ready to abandon ship. A few users argue that it's possible to build robust trading systems with the TWS API, especially with the help of ib_insync. They acknowledge its complexity but highlight its feature-rich nature and widespread use.
The Verdict
While some developers have found ways to make the TWS API work, the overwhelming sentiment is one of frustration. The API's shortcomings make it a challenging and time-consuming tool for development. Many believe IBKR needs to invest in a complete overhaul of their API, perhaps even a redesign from scratch, to meet the needs of modern developers.
Would you like to explore alternative brokers with better APIs or learn more about the ib_insync library?
Comments