What the Streaming API is
The Streaming API is the live and high-resolution surface of Zealous Markets. Where the core REST API serves daily and hourly aggregates, the Streaming API adds:
- Sub-hour granularity —
secondandminuteaggregates, plushourandday. - Three metric families —
trade(OHLCV + buy/sell splits),book(order-book depth, spread, cancellations), andquote(best bid/offer). - A live feed — a Server-Sent Events stream of bars as they close.
One key, one quota
Streaming uses the same zm_live_* API keys as the core REST API — mint
one key in Profile → API keys and it works on both surfaces. Usage counts
against a single shared monthly quota (requests + served bytes).
Streaming endpoints additionally require the streaming feature on your
plan. A key with api-access but not streaming gets 403 plan_forbidden
from /v1/streams/* and /v1/cmc/*.
The data model
Each pair has a readiness state, surfaced by the status endpoint:
REQUESTED → WARMING → READY, with STALE and FAILED as off-nominal states.
Once READY, pull history with the snapshot endpoint
or subscribe to the live SSE feed. Snapshots merge
live and historical data into a single timeseries.
Base URL and conventions
Everything lives under the same base URL as the core API:
https://zealous.markets/api/v1/streams
https://zealous.markets/api/v1/cmc
Snapshot endpoints take their parameters in a JSON request body via POST.
Errors use the same envelope as the core API — see
Errors. Snapshots speak application/json and
application/toon; see Formats.
The machine-readable spec is at
/api/v1/openapi-streaming.yaml, and every
endpoint is runnable from the API Explorer.