tickstreamdocs

DOCS

Symbols & markets

57 markets — the most-traded futures across CME, CBOT, NYMEX, COMEX plus live index & ETF quotes (SPX, QQQ, SPY…). Any other symbol on request.

You reference an instrument by its short symbol (futures use the front-month continuous contract by default — it rolls automatically). We carry the most-traded futures across CME · CBOT · NYMEX · COMEX — equity indices, rates, energy, metals and FX — plus live index & ETF quotes (SPX, NDX, VIX, SPY, QQQ, IWM …).

Futures stream real trade ticks (and Level 2 depth). ETFs stream the live last price (no bid/ask); indices like SPX/VIX stream the live index level (an index isn't traded, so there are no trade prints — just the level). Subscribe to all of them on the same ticks channel.

Rates differ, and it is worth knowing which you are watching. A liquid future prints continuously — ES delivers over a thousand ticks a minute. Index and ETF levels are polled roughly every 2 seconds and published on change, so SPX or NDX arrive every few seconds while VIX can sit still for a minute simply because it has not moved. Silence on an index is a flat price, not a dropped feed. A liquid future going quiet for minutes is worth reporting — tell us and include the symbol and timestamps.

need another?

We're entitled to thousands of instruments across these exchanges. Don't see what you need? Request any symbol and we'll enable it — usually within a day — and email you the moment it's live.

Equity Index

SymbolInstrumentExchange
ESE-mini S&P 500CME
NQE-mini Nasdaq-100CME
YME-mini DowCBOT
RTYE-mini Russell 2000CME
EMDE-mini S&P MidCap 400CME
MESMicro E-mini S&P 500CME
MNQMicro E-mini Nasdaq-100CME
MYMMicro E-mini DowCBOT
M2KMicro E-mini Russell 2000CME
FDAXDAX · historical files only, no live streamEUREX

Rates

SymbolInstrumentExchange
ZN10-Year T-NoteCBOT
ZB30-Year T-BondCBOT
ZF5-Year T-NoteCBOT
ZT2-Year T-NoteCBOT
UBUltra T-BondCBOT
TNUltra 10-Year T-NoteCBOT
ZQ30-Day Fed FundsCBOT
SR33-Month SOFRCME

Energy

SymbolInstrumentExchange
CLCrude Oil (WTI)NYMEX
MCLMicro WTI Crude OilNYMEX
NGNatural Gas (Henry Hub)NYMEX
MNGMicro Henry Hub Natural GasNYMEX
RBRBOB GasolineNYMEX
HONY Harbor ULSDNYMEX
BZBrent Crude OilNYMEX
QME-mini Crude OilNYMEX

Metals

SymbolInstrumentExchange
GCGoldCOMEX
MGCMicro GoldCOMEX
SISilverCOMEX
SILSilver (1,000 oz)COMEX
HGCopperCOMEX
MHGMicro CopperCOMEX
PLPlatinumNYMEX
PAPalladiumNYMEX

FX

SymbolInstrumentExchange
6EEuro FXCME
6BBritish PoundCME
6JJapanese YenCME
6AAustralian DollarCME
6CCanadian DollarCME
6SSwiss FrancCME
6NNew Zealand DollarCME

Crypto

SymbolInstrumentExchange
BTCBitcoinCME
MBTMicro BitcoinCME
ETHEtherCME
METMicro EtherCME

Indices & ETFs

SymbolInstrumentExchange
SPXS&P 500 IndexCBOE
NDXNasdaq-100 IndexNASDAQ
RUTRussell 2000 IndexCBOE
VIXCboe Volatility IndexCBOE
SPYSPDR S&P 500 ETFARCA
QQQInvesco QQQ (Nasdaq-100)NASDAQ
IWMiShares Russell 2000 ETFARCA
DIASPDR Dow Jones ETFARCA
GLDSPDR Gold SharesARCA
SLViShares Silver TrustARCA
USOUnited States Oil FundARCA
UNGUnited States Natural GasARCA
TLTiShares 20+ Yr TreasuryNASDAQ

List symbols programmatically

The tables above are the markets we can carry. Not all of them stream at every moment: some are switched on when a customer asks for them. The live catalog says which: each future in /v1/symbols carries symbol, name, exchange, contract, contractSince, subscribed and streaming, and the options roots are listed beside them.

curl https://api.tick-stream.xyz/v1/symbols \
  -H "Authorization: Bearer sk_live_…"
from tickstream import Tickstream
for s in Tickstream("sk_live_…").symbols()["futures"]:
    print(s["symbol"], s["contract"], s["streaming"])

Specifying contracts

A symbol resolves to the front-month continuous contract and rolls automatically. Prices are the ones that traded, with no back-adjustment, so there is a gap at each roll.

A specific expiry cannot be addressed. Ticks, book and history are keyed by root: inside a roll window both contracts are watched, but only the front one's prints are published and stored. Asking for ESZ6 returns 400 contract_not_addressable naming the root to use instead — it used to return an empty window, which reads as "that contract did not trade". Which contract a root is on right now is in /v1/symbols under contract.

Detecting a roll without being told about it. Beside contract, /v1/symbols returns contractSince: the UTC instant that contract became the front month. Poll it and you can see a roll happen rather than waiting for an email, which matters if you anchor anything to a prior session close and must not mix expiries across one. It is null for a root that has never rolled under the volume rule, either because it follows the calendar or because the switch predates the record — treat null as unverified rather than as never, and fail closed if your calculation depends on it.

Requesting a market

Every exchange above (CME, CBOT, NYMEX, COMEX) carries far more than the 57 listed here — adding one is just an email. Tell us the symbol and exchange and we'll turn it on:

📨 Request a market →

tip

Building with an LLM? Your agent can request markets too — see LLM & MCP.