DOCS
REST API
A small REST surface for latest quotes, historical backfill and reference data.
The REST API complements the stream: use it for the latest quote, to backfill history before going
live, and to list reference data. Base URL: https://api.tick-stream.xyz/v1. All
requests need an API key; timestamps are ISO-8601 (UTC).
GET /quote
The latest trade and top-of-book for a symbol.
| Param | Required | Description |
|---|---|---|
symbol | yes | The instrument, e.g. ES. |
curl "https://api.tick-stream.xyz/v1/quote?symbol=ES" \
-H "Authorization: Bearer sk_live_…"{
"symbol": "ES",
"price": 5283.25,
"bid": 5283.00,
"ask": 5283.25,
"ts": 1749556800
} GET /ticks
Historical ticks for a time window — the backfill endpoint. Results are ordered by time (oldest first).
| Param | Required | Description |
|---|---|---|
symbol | yes | The instrument, e.g. ES. |
start / end | no | ISO-8601 UTC (2026-06-10T13:30:00Z) or Unix seconds. Defaults: end = now, start = one hour before end. |
limit | no | Max rows (default 10,000, max 100,000). |
curl "https://api.tick-stream.xyz/v1/ticks?symbol=ES&start=2025-06-01T13:30:00Z&end=2025-06-01T20:00:00Z" \
-H "Authorization: Bearer sk_live_…"from tickstream import Client
ticks = Client("sk_live_…").ticks(
"ES", start="2025-06-01T13:30:00Z", end="2025-06-01T20:00:00Z")
print(len(ticks), "ticks")
The response carries count and truncated. If truncated is
true, request the next page by setting start to the last returned
ts. Ticks land in the archive within ~5 minutes of trading; for the live edge use the
WebSocket stream.
GET /cot
Weekly CFTC Commitments of Traders positioning for the index futures — refreshed automatically after each Friday release (data as of Tuesday). Pro plan.
| Param | Required | Description |
|---|---|---|
symbol | yes | ES, NQ, YM or RTY. |
weeks | no | Number of weekly reports, newest first (default 52, full history available). |
Each report carries open_interest, change_oi and long/short/net
for non-commercials (large specs), commercials (hedgers) and non-reportables (small traders).
GET /symbols & GET /options
Reference data lives at /symbols (all instruments) and
/options?underlying= (latest chain snapshot, Pro plan).
See those pages for the full parameters and response shapes.
GET /history/*
The endpoints above serve recent data. For the full archive since 2019 — every tick,
Level 2 update and option-chain snapshot over any date range — use the dedicated
historical data endpoints
(/history/ticks, /history/book, /history/options), which require
a data-archive plan.
GET /algos
The live-tested algos are queryable over REST: GET /v1/algos (catalog)
and GET /v1/algos/{id}/track (full backtest + live track record) are public;
GET /v1/algos/{id}/signal and /events return the current signal and
live event feed once you rent that algo.
For continuous live data prefer the WebSocket stream — REST is best for snapshots and backfill, not high-frequency polling. See rate limits.