Free
Delayed, but the same feed.
Free
- All 60+ markets
- 15-minute delay
- 7-day tick backfill
- Every SDK + MCP
Trying it, prototyping, coursework
Start freefutures
Licensed futures data — every trade, the full order book, and order-by-order depth. From $29/mo.
The free tier is the same feed on a delayed, but the same feed — build against it before you pay anything. Read the streaming docs
Three lines. No sales call, no onboarding session, no contract.
from tickstream import Stream
for tick in Stream("sk_live_…").subscribe("NQ"):
print(tick.price, tick.size, tick.ts)import { Stream } from "tickstream";
for await (const t of new Stream("sk_live_…").subscribe("NQ"))
console.log(t.price, t.size, t.ts);let mut s = Stream::new("sk_live_…").subscribe("NQ").await?;
while let Some(t) = s.next().await {
println!("{} {} {}", t.price, t.size, t.ts);
}s, _ := tickstream.New("sk_live_…").Subscribe("NQ")
for t := range s.Ticks() {
fmt.Println(t.Price, t.Size, t.Ts)
}curl -N "https://api.tick-stream.xyz/v1/ticks?symbol=NQ" \
-H "Authorization: Bearer sk_live_…"# in Claude Code, Cursor or VS Code
claude mcp add tickstream \
-e TICKSTREAM_API_KEY=sk_live_… \
-- npx -y tickstream-mcp response
{
"symbol": "NQ",
"ts": 1785716817482913,
"price": 24918.25,
"size": 3,
"side": "buy",
"exch": "CME"
}
// ts is microseconds, UTC.
// side is the real aggressor, not
// inferred from a quote rule. Three levels of the same market, and the difference between them is not resolution — it is what question you can ask.
What traded. Price, size, and the real aggressor side off the exchange, not inferred from a quote rule afterwards.
Every resting bid and offer, per price level. You see that four hundred contracts sit at a price.
L2 tells you how much sits on a level. L3 tells you how many orders it is made of and in what sequence they queued. That is the difference between “there are 400 contracts there” and “there are 400 contracts there in three orders, and the first one has been sitting for eight seconds.”
exchange order ids · queue position · nanosecond exchange timestamps
The book above is an illustration of the structure, not a live snapshot. The live one arrives on your socket.
| Package | Delay | History | Book | Symbols | Conns | Price |
|---|---|---|---|---|---|---|
| FreeDelayed, but the same feed. | 15 min | 7 days | Ticks only | 10 | 1 | free |
| RealtimeLive ticks, no delay. | none | 1 yr | Ticks only | 25 | 2 | $29/mo |
| Realtime + L2The full order book. | none | 5 yr | Level 2 | unlimited | 3 | $79/mo |
| L3 / Market-by-orderEvery individual order, with its queue position. | none | 7 yr | Level 3 — MBO | unlimited | 10 | $199/mo |
History is the window your key may reach back through on /v1/history/*. Requests further back are clamped to it, not rejected.
measured, not claimed
/v1/public/metrics · no key required · status page
Under a millisecond is our pipeline — feed ingest to socket egress. Your round trip comes on top of that and depends on where you host. We measure what we control and publish it.
All 67 enabled markets · CME · CBOT · NYMEX · COMEX · EUREX · request another
Desk — everything in one subscription.
$499/mo instead of $705 bought separately. You keep $206 (29%).
Delayed, but the same feed.
Free
Trying it, prototyping, coursework
Start freeLive ticks, no delay.
$29/mo
$261/yr
Dashboards, alerts, small bots
Get RealtimeThe full order book.
$79/mo
$711/yr
Order flow, execution timing
Get Realtime + L2Every individual order, with its queue position.
$199/mo
$1791/yr
Microstructure research, HFT
Get L3 / Market-by-orderAnnual is twelve months less 25%. Company and redistribution use is licensed separately and quoted at cost — work out your number.
Provable gap or a wrong print in your stream? That month is free. Automatically — no ticket, no argument.
Gap history is public →| Figure | Source | Checked |
|---|---|---|
| 67 markets live | The enabled list the gateway serves — /v1/symbols, same source as the accordion above | 2026-08-03 |
| Sub-millisecond pipeline | Feed ingest to socket egress, measured in-process. Your RTT is not included and we do not claim it. | live · /v1/public/metrics |
| Licensed CME data | CME Group distribution agreement, DCMs: CME, CBOT, NYMEX, COMEX | 2026-08-03 |
| 7 yr of L3 history | Our own archived tick path — the same one the algo track records are recomputed on | 2026-08-03 |
| Every price on this page | pricing.config.mjs — the file the checkout, the Stripe sync and the entitlement gate all read | live |
If a number on this page cannot be traced to a row in this table, it should not be on the page. Tell us and we will remove it.
Get a key, run the three lines, and see whether the tape looks the way you expect.
Create a key