tickstreamdocs

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 tickstream
npm i @tickstream/client
<script src="https://cdn.tick-stream.xyz/v1.js"></script>
cargo add tickstream
go 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

ConceptSurface
Stream ticksStream(key).subscribe(...symbols)
Stream the bookStream(key).book(symbol, depth) — see Level 2
Latest quoteClient(key).quote(symbol)
Historical backfillClient(key).ticks(symbol, start, end)
Options chain (Pro)Client(key).options(underlying, expiry)
any language

No SDK for your stack? The WebSocket and REST APIs are plain JSON — anything that speaks HTTP works. And for AI agents, see LLM & MCP.