The BOATS Overnight Real-time Websocket Endpoints are currently in beta. For production use cases, we recommend the IEX websocket endpoints - which these endpoints expand upon.
# Websocket BOATS API Top-of-Book & Last Trade Endpoint wss://api.tiingo.com/boats
Just remember, you will need your token in order to connect. Keep it safe.
Tiingo provides updates via websocket every time the Top-of-book (best bid/offer prices and sizes) change and when a trade is executed.
We obtain BOATS (Blue Ocean ATS) top-of-book and last-sale feeds, normalize them into Tiingo's realtime array format, and forward every validated update to entitled websocket clients with minimal processing. Updates are delivered as a JSON array inside our JSON object.
To further minimize latency, we use bare metal machines for our realtime infrastructure close to the market-data path.
The BOATS firehose is an add-on entitlement (BOATS Real-time). Please note the firehose exposes a very high amount of data, in some cases to the nanosecond resolution. Please build your systems cautiously and to scale.
Access to the BOATS firehose requires the BOATS Real-time entitlement on your API account. Without that entitlement, subscribe requests to wss://api.tiingo.com/boats are rejected.
The public BOATS websocket currently exposes a single threshold level: thresholdLevel 3, which streams every validated venue-native quote and trade update Tiingo receives from BOATS (Blue Ocean ATS).
For REST snapshots and overnight OHLC history, see 2.7 REST - BOATS Overnight Real-time. You can find out about the full product offering on the Product - BOATS page.
With Tiingo's Websocket/Firehose BOATS API, you receive every validated top-of-book and last-trade update from the BOATS venue feed.
Use thresholdLevel 3 (the only public BOATS channel today) to subscribe to the full venue firehose.
For the BOATS Websocket API:
# Websocket Top-of-Book & Last Trade Endpoint wss://api.tiingo.com/boats
The BOATS websocket returns meta information about the websocket update message along with the raw data related to that update message.
Check out the table below to see the top-level fields returned from the Websocket BOATS API.
service
messageType
data
To see what fields are returned in the "data" field, please see the table below.
Quote ("Q") updates return a compact 9-element data array with the venue top-of-book only (bid/mid/ask). Halt, after-hours, and trade-slot placeholders from the older IEX-style layout are not included on this feed.
0
1
2
3
4
5
6
mid = (bidPrice + askPrice)/2.0This value is calculated by Tiingo and not provided by BOATS.
7
8
Trade ("T") and Break ("B") updates return a compact 10-element data array: last price/size plus the four raw MEMOIR Sale Condition characters at indexes 6–9 (so values like "H" vs "X" stay distinct).
0
1
2
3
4
5
6
7
8
9