Introduction
At Interactive Brokers (IBKR) we offer a comprehensive suite of API integration options, providing scalable and efficient access to essential services. We support multiple methods including RESTful Web API, FIX, and TCP socket connection, to suit various use cases. IBKR’s API can be used to automate trading strategies, build custom interfaces, and create seamless third party integrations. Explore our API service types to find the best solution for your needs.
Web API
The RESTful Web API provides users with seamless access to their IBKR account. IBKR’s Web API implementation follows standard HTTP verbs for communication. It employs a range of HTTP status codes and JSON-formatted messages to convey operation status and error information. To ensure secure communication, all API requests must use HTTPS. Authorization and Authentication for IBKR’s Web API is managed using OAuth 2.0. Our Web API Documentation is split into two key components:
Trading
Delivers real-time access to IBKR’s trading functionality, including live market data, market scanners, and intra-day portfolio updates.
Account Management
Provides solution for Introducing Brokers and Financial Advisors to preserve their current user experience and interface design while relying on IBKR’s brokerage services. Advisors and brokers can integrate with the Account Management API to manage Client Registration, Client Account Maintenance, User Authentication, Funding, and Reporting.
Reporting
At IBKR we offer users with full suite of reports including account statements, PortfolioAnalyst and flex queries (raw data files) that can be generated on the fly directly within IBKR Portal OR securely delivered via FTP/sFTP. Alternatively, our Flex Web Service can be used to automate flex query processing.
TWS (Trader Workstation) API
IBKR’s flagship platform, the Trader Workstation, is equipped with it’s own API offering the majority of its feature set through an API built for fast paced, data intensive, and complex trading. The asynchronous TWS API library is built to handle a large data sets for hundreds or potentially thousands of market data lines streaming simultaneously while outputting trades in tandem. Given the platform is equipped with the Trader Workstations’ capabilities, we have nearly full parity with the functionality, order type access, and market data access you may be used to. This can be further extended with the less demanding IB Gateway, as the removal of unused graphical elements from automated trading can allow more resources be dedicated to your unique programs.
The TWS API is built using a TCP Socket connection, and is available in Python, Java, C++, C#*, and VB.NET*.
The TWS API is intended for: Retail traders, Professional Traders, Financial Advisors, and Third Party Platform developers.
*C# and VB.net are only available for Windows PC.
Excel APIs
IBKR also offers an array of Excel-based APIs built around the underlying TWS API. This makes for a more visually appealing workspace for those that prefer a data table presentation rather than fully automated workflows. The Excel API still institutes the same functionality as TWS API including the order types, order conditioning, and market data availability.
The Excel API is built with a DDE, ActiveX, or RTD connection onto the TCP Socket connection facilitated by the standard TWSAPI.
While the existing Excel functionality can be programmed with VB.NET, the underlying connection and request behavior is handled in Java for DDE, or C# for ActiveX and RTD.
Trader Types: Retail traders, Professional Traders
ActiveX
IBKR offers three unique variants of Excel connectivity. ActiveX offers the full functionality of the TWS API with a 1 second market data refresh rate. Implementing the ActiveX variant will require users to implement some level of VB .NET as the cell assignment can not be done completely through the use of something like an Excel Macro.
ActiveX is built using a combination of VB .NET and C#.
DDE
IBKR offers three unique variants of Excel connectivity. DDE offers the full functionality of the TWS API with a 250 ms market data refresh rate. Implementing the DDE variant allows users the full functionality of the TWS API but with access to Excel Macros for a less programming-intensive implementation.
DDE is built using a combination of VB .NET and Java.
RTD
IBKR offers three unique variants of Excel connectivity. RTD offers a more restricted connection structure that is built around the use of requesting real time market data. As such, the RTD variant is built around the intake of larger market data requests without effecting Excel’s performance. The implementation allows for a 250 ms market data refresh.
RTD is built using a combination of VB .NET and C#.
FIX (Financial Information eXchange)
In addition to our standard APIs, IBKR offers customers the option for a direct FIX integration, allowing trades be submitted directly using the standard FIX protocol. For users unfamiliar with the FIX standard, please visit https://www.fixtrading.org/what-is-fix/.
Trader Type: Professional Traders, Organizations, or Institutions.
Third-Party Integrations
For some customers, Trading with IBKR is the preferred option, but in some cases users may not prefer our existing platforms, nor do they have an interest in coding their own software. In these cases, customers may benefit from using Third Party Services or Software to accomplish their trading needs. For example, some customers may wish to trade futures with a more chart oriented approach, or with a platform more emphatic around Futures than what is currently offered by Trader Workstation. In situations like this, customers may find a platform that better supports their visual needs while still holding funds and receiving commission rates through Interactive Brokers.
Third Party Services can connect via Client Portal API, FIX, or Trader Workstation API.
Trader Types: Retail traders, Professional traders
Feedback
Have feedback on our Web API documentation or reference material?
Email us at API-Feedback@interactivebrokers.com.
We value your suggestions, ideas, and feedback in order to continuously improve our API solutions.
This is an automated feedback inbox and unfortunately, we will not be actively responding from this email. However, if you need a specific answer or additional support, please contact our API Support team or access our general support. Current or prospective institutional clients may also contact their sales representative.