Stream Data Using SSE#
Streaming data in specific Data Bundles requires specific Apperate plans. SSE Streaming (Grow plan and Enterprise plan) on specific symbols or Firehose (Enterprise plan) – streaming everything. We stream data using Server-Sent Events (SSE).
The Data Bundles provide endpoints for streaming the following types of data:
U.S. stocks and securities
Forex / currencies
IEX Depth of Book
The Data Streams API page describes the endpoints.
Please refer to the Data Bundles for the data you want to stream and the Apperate plans for the type of streaming you want–SSE Stream (available with Grow plan and Enterprise plan) or Firehose (available with Enterprise plan). They’re described below.
Streaming Data Endpoints#
The Data Streams endpoint page describes the endpoints.
Go to the Data Streams endpoint page to see all the endpoints.
US Stocks and Securities#
There are three types of endpoints for US stocks and securities. Two of them require a paid plan and a UTP agreement. Here’s an overview of these endpoints:
US Stocks Endpoints:
- IEX real-time data
- Paid plan
- IEX real-time data
- 15 min delayed OTC data
- Paid plan
Get Nasdaq-listed Stock Data (UTP/OTC Data) explains the UTP agreement process.
Firehose Versus Streaming on Symbols#
Depending on your Apperate plan, you can stream on specific symbols or stream everything – like drinking from a firehose.
SSE Streaming is available with Grow plans and Enterprise plans; Firehose is available only with Enterprise plans.
symbols query parameter enables you to stream on a specific symbol or comma-separated list of symbols. The examples below respectively demonstrate calling the
stocksUS endpoint on specific symbols and all symbols.
Stream on symbols:
curl --header 'Accept: text/event-stream' 'https://cloud-sse.iexapis.com/v1/stocksUS?symbols=spy,msft&token=YOUR_TOKEN'
curl --header 'Accept: text/event-stream' 'https://cloud-sse.iexapis.com/v1/stocksUS?token=YOUR_TOKEN'
You can use the
symbols parameter with all the streaming endpoints.
Firehose functionality does not apply to IEX DEEP streaming endpoints.
When you connect to an SSE endpoint, you receive a snapshot of the latest message and then receive updates as they are available. You can disable snapshots by using the query parameter setting
You can also specify a starting point for a snapshot by using a query parameter setting
snapshotAsOf=EPOCH_TIMESTAMP, where the value is in milliseconds since Epoch.
Some data is available to stream at set intervals: 1 second, 5 seconds, or 1 minute. The endpoints below, for example, compliment the
1 second interval:
curl --header 'Accept: text/event-stream' 'https://cloud-sse.iexapis.com/v1/stocksUS1Second?token=YOUR_TOKEN&symbols=spy'
5 second interval:
curl --header 'Accept: text/event-stream' 'https://cloud-sse.iexapis.com/v1/stocksUS5Second?token=YOUR_TOKEN&symbols=spy'
1 minute interval:
curl --header 'Accept: text/event-stream' 'https://cloud-sse.iexapis.com/v1/stocksUS1Minute?token=YOUR_TOKEN&symbols=spy'
Now you’re familiar with some of the SSE Streaming endpoints. You can try more SSE Streaming endpoints as described in the Data Streams API Reference.