What is an Application Programming Interface - API
An application programming interface, or API, is a "go-between" that enables a software program to interact with other software. In the context of trading, an API often refers to the interface that enables your software to connect with a broker to obtain real-time pricing data or place trades.
BREAKING DOWN Application Programming Interface - API
Application programming interfaces, or APIs, have become increasingly popular with the rise of automated trading systems. In the past, retail traders were forced to screen for opportunities in one application and separately place trades with their broker. Many retail brokers now provide APIs that enable traders to directly connect their screening software with the brokerage account to share real-time prices and place orders. Traders can even develop their own applications, using programming languages like Python, and execute trades using a broker's API.
There are two types of traders that use broker APIs:
- Third-Party Applications - Many traders use third-party applications that require access to broker APIs for pricing data and the ability to place trades. For example, MetaTrader is one of the most popular foreign exchange (forex) trading applications and requires API access in order to secure real-time pricing and place trades.
- Developer Applications - A growing number of traders develop their own automated trading systems, using programming languages like Python, and require a way to access pricing data and place trades.
Despite the obvious benefits of APIs, there are many risks to consider. Most APIs are provided to a broker's customers free-of-charge, but there are some cases where traders may incur an extra fee. It's important to understand these fees before using the API. Traders should also be aware of any API limitations, including the potential for downtime, which could have a significant effect on trading results.
Where to Find APIs
The most popular brokers supporting API access in the traditional stock and futures markets include TradeStation, TDAmeritrade, and InteractiveBrokers, but many smaller brokers have expanded access over time. APIs are more common among forex brokers where third-party applications and trading systems - such as MetaTrader - have been commonly used for many years.
Many brokers provide online documentation for their APIs, where developers can find out exactly how to authenticate with the API, what data is available for consumption, how to place orders through the API, and other technical details. It's important to be familiar with these details before choosing a broker when looking for specific functionality.
Some brokers also provide libraries in various languages to make interaction with their API easier. For example, a broker may offer a Python library that provides a set of functions, or methods, for placing a trade rather than having to write your own functions to do so. This can help accelerate development of trading systems and/or make them less costly to develop.