Stream market updates using WebSocket streaming. You will receive a different payload depending on the market event that occurred. Details about each event can be found in the response definition. You can continually update the data in your stream by resending this request with different parameters.
Note: In order to stream data, you must first create a streaming session. Upon receiving a sessionid, you will have up to 5 minutes to connect to a streaming endpoint before the session expires.
Once connected and streaming data, to make modifications to your current streaming connection, simply resend your request payload using the existing sessionid. You can change the symbols by resending your payload with an updated list of symbols and we’ll adjust your stream accordingly. Note: if your sessionid has expired, you will need to get a new one and send it with your adjusted payload.
Note that WebSocket streaming uses a different endpoint: wss://ws.tradier.com
While we do not publish the symbol limits for these APIs, we do monitor for abuse to make sure people aren’t doing anything egregious (like asking for an entire exchange worth of symbols). Essentially, ask for what you need. Don’t abuse the APIs and you should be fine. It is not permitted to open more than one session at a time.
WebSocket
Parameters
Parameter
Type
Param Type
Required
Values/Example
Default
symbols
JSON
Array
Required
["AAPL","VXX190517P00016000"]
An array list of symbols (equity or option)
sessionid
JSON
String
Required
9D1C7018CFEB6F8ECF8CAA58B33
Session Id retrieved from the create session endpoint
filter
JSON
Array
Optional
["trade"]
All payloads.
An array list of the types of payloads to retrieve in the stream. trade,quote,summary,timesale,tradex
linebreak
JSON
Boolean
Optional
true
false
Insert a line break after a completed payload
validOnly
JSON
Boolean
Optional
true
true
Include only ticks that are considered valid by exchanges.