DOCS
SDKs & libraries
First-class SDKs for Python, Node, browser JS, Rust and Go — plus raw WebSocket and REST for everything else.
Every SDK wraps the same protocol: it manages the connection, heartbeats, backpressure and
reconnection, and exposes a simple subscribe iterator for the stream and a
Client for one-off REST calls. They all authenticate with your
API key.
Install
pip install tickstreamnpm i @tickstream/client<script src="https://cdn.tick-stream.xyz/v1.js"></script>cargo add tickstreamgo get github.com/Alx90s/tickstream-go Subscribe & query
from tickstream import Stream, Client
stream = Stream("sk_live_…")
for tick in stream.subscribe("ES", "NQ"):
print(tick.price)
# one-off REST calls
q = Client("sk_live_…").quote("ES")import { Stream, Client } from "@tickstream/client";
const stream = new Stream("sk_live_…");
for await (const tick of stream.subscribe("ES", "NQ"))
console.log(tick.price);
const q = await new Client("sk_live_…").quote("ES");const stream = new tickstream.Stream("sk_live_…");
stream.on("tick", (t) => console.log(t.symbol, t.price));
stream.subscribe("ES");use tickstream::Stream;
let mut s = Stream::new("sk_live_…");
let mut ticks = s.subscribe(&["ES", "NQ"]).await?;
while let Some(t) = ticks.next().await {
println!("{}", t.price);
}import ts "github.com/Alx90s/tickstream-go"
s := ts.New("sk_live_…")
ticks, _ := s.Subscribe("ES", "NQ")
for t := range ticks {
fmt.Println(t.Price)
} Consistent surface
| Concept | Surface |
|---|---|
| Stream ticks | Stream(key).subscribe(...symbols) |
| Stream the book | Stream(key).book(symbol, depth) — see Level 2 |
| Latest quote | Client(key).quote(symbol) |
| Historical backfill | Client(key).ticks(symbol, start, end) |
| Options chain (Pro) | Client(key).options(underlying, expiry) |