Each day, Intrinio has new users looking for a stock quotes API. It's intuitive that demand would be high for stock price data. Virtually every financial analyst and fintech developer needs this data or their strategies won't work. The problem is that real time stock prices are expensive, and downright unaffordable if you need redistribution rights so you can show the prices to your own customers.
Good luck figuring out how much this data even costs from traditional providers. If you can get a quote, you'll realize that API access with redistribution rights is so expensive it's not even worth it. This article explains how real time stock prices are produced, how Intrinio's stock quotes API works, and why it's a more affordable solution.
To understand how Intrinio provides stock prices, it's important to understand how those prices are generated in the first place. In the United States, there are several exchanges where investors can buy and sell shares. You are probably familiar with NASDAQ, NYSE, and BATS, but a newcomer you may not know is the Investor's Exchange (IEX).
Like the more familiar exchanges, IEX receives "ask" prices from investors that want to sell their stock, "bid" prices from investors that want to buy that stock, and produces a "last" price in between representing the sale price of the stock. Throughout the day, these ask, bid, and last prices move as new orders come into the exchange.
The sum of those orders for a single stock represents that stock's "volume." If there were 10,000 trades of the stock between buyers and sellers in a day, the volume for that stock is 10,000. These ask, bid, and last prices, along with a time stamp, represent "real time" stock prices - whatever the last price was most recently is the real time price.
After IEX gained approval to open a new exchange, the SEC ruled that if the last price on IEX's exchange was the best price for a stock buyer, the other exchanges had to route that trade to IEX. This is true for all US exchanges, with volume moving between the exchanges so the prices on the different exchanges converge. If there is a last price from IEX, it is the best price on all exchanges.
Differences in volume between exchanges means that even though trades route to the best price, there are always differences between the prices on each exchange. As of this writing, IEX receives more than 2% of all US volume. This is a small share, so volume on IEX can be low compared to other exchanges. IEX real time prices, however, are valid real time prices for shares traded on the IEX exchange and tend to converge with the prices of traditional exchanges due to SEC trading requirements.
As IEX volume continues to grow, Intrinio views IEX real time prices as an outstanding solution for the needs of fintech developers and financial analysts. We like the feed so much that we built a websocket that allows Intrinio users to stream the real time bid, ask, last, time stamp, and volume data. This article explains how Intrinio's websocket works and the different ways it can be accessed, and you can see a demonstration in this video:
In very simple terms, the websocket streams pricing data in real time. You can connect to a stream of prices for a single stock, many stocks, or the entire market and the websocket will pump out price data continuously for each stock. This is the essence of real time prices and for developers looking to stream those prices, Intrinio's IEX Real Time Stock Prices websocket is a highly affordable solution.
Intrinio also provides the US Fundamentals Data Feed for developers that would prefer to use an REST API over a websocket. In addition to fundamentals data for US stocks, this API pulls the latest data from the IEX websocket, providing a real time quotes API for use in applications. It's important to note that the quotes API uses the same websocket data, so it is real time, but due to the nature of APIs, it doesn't stream the prices the way the websocket does.
Whereas the websocket continuously pushes the latest prices to a developer's application, the stock quotes API pulls the latest price just once. The moment the price is pulled via API, it is the real time price, but until the price is pulled again, it's impossible to tell if it is still the real time price.
This makes the stock quotes API perfect for developers that need to pull the real time price at specific times, but not all day. If you query the API all day, you will quickly hit the API call limits of Intrinio's paid plans. If you need the real time price continuously, the websocket is the right tool because it allows you to stream a stock price indefinitely.
The stock quotes API, therefore, works by accessing Intrinio's websocket to pull in the latest stock prices from the IEX exchange.
NOTE: Technically speaking, a websocket is one type of API, but we refer to our real time websocket as a websocket to distinguish it from our RESTful API.
Intrinio's mission is to make financial data affordable and easy to access so investors can save money and make time to build something meaningful. IEX has this same attitude - unlike traditional exchanges, they didn't set out to make a fortune by selling their stock price data. This allows us to pass the savings on to Intrinio users who enjoy the websocket, API, and Excel access Intrinio provides to real time prices.
This article shows how to start accessing real time prices in Excel, API, and websocket formats. This article provides a guide to getting started with the API. If you need access in Excel, this tutorial will get you going.
New to Intrinio? Request a consultation with our team to build your custom data solution.