Skip to content

Recordings and your archive

recordings = briskapi.recordings(source="historical_mock")   # yours only; no account needed
if recordings:
    briskapi.pull(recordings[0]["prefix"])      # verify, decode and cache; becomes the default
else:
    briskapi.record("recordings/my-session")   # record the demo (uploaded unless you opt out)
# Or briskapi.load("recordings/my-session") for a local recording folder (or an older events.jsonl[.gz]).

briskapi.Ticker("7203").quote(at="08:59:59.9999")             # available pre-open quote, in JST
briskapi.Ticker("7203").history(start="09:00", end="09:01")   # every update in a window
briskapi.Market().snapshot(at="09:00:00").to_pandas()

A recording is a folder of Parquet tables laid out like a NautilusTrader v2 catalog: data/order_book_depths.parquet (every quote update: v2's OrderBookDepth, then BRiSK's other quote fields), data/trades.parquet (every execution, as v2 TradeTick), data/equity.parquet (the securities master, as v2 Equity) and data/custom/BriskBatch.parquet (per-frame timing). The complete demo replay takes about 41 MB. pandas, Polars and DuckDB read the tables directly; brisk export writes a NautilusTrader catalog or JSONL. docs/data-format.md describes every column, with examples for pandas, Polars and DuckDB.

Time queries use each quote's timestamp. Toyota's first demo quote is at 08:59:59.993551 JST; an earlier query raises NotFoundError. Market().summary() returns both start and end, including for local recordings and live feeds. Your archive holds only what you uploaded, under your identity: a random key the tool makes on your computer and never registers (see Your private archive). Listings skip invalid or unsupported recordings with a warning. One sample stays a public download for everyone: a raw wire capture (2026-03-11, from 12:12:40 JST), in the legacy brisk-sbi-wire-jsonl-v1 format the tool no longer reads.