tickstreamdocs

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.

ParamRequiredDescription
symbolyesThe 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).

ParamRequiredDescription
symbolyesThe instrument, e.g. ES.
start / endnoISO-8601 UTC (2026-06-10T13:30:00Z) or Unix seconds. Defaults: end = now, start = one hour before end.
limitnoMax 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.

ParamRequiredDescription
symbolyesES, NQ, YM or RTY.
weeksnoNumber 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.

tip

For continuous live data prefer the WebSocket stream — REST is best for snapshots and backfill, not high-frequency polling. See rate limits.