Skip to content

API overview

Call Returns
briskapi.connect(site="demo" \| "sbi" \| "e-shiten" \| "matsui" \| "monex" \| "smbcnikko") Live Feed of the demo or your broker's BRiSK; becomes the default source (gateway=True also serves it to Live)
briskapi.Live() Databento-style live records from the feed on this computer: subscribe(dataset, schema, symbols='ALL_SYMBOLS', start=None, snapshot=False), then iteration or add_callback(fn) / add_stream(path) with start() and block_for_close(timeout); stop(), symbology_map (above)
Ticker(code).info() Name, lot size, tick type, base price and daily limits
Ticker(code).quote(at=None) Bid/ask with their quantities and orders, the ten best book levels per side (bids, asks) and of the closing-condition orders (closing_bids, closing_asks), the board's order totals, indicative price/volume, market-order and closing quantities, last trade, turnover, issue status and special_quote (side, price, when its timer ends)
Ticker(code).auction(at=None, closing=False) The auction's indicative state, market orders and board totals with market_order_imbalance (market buy minus sell); closing=True for the closing auction
Ticker(code).history(start, end) Every update in order, from the loaded recording or feed (no network)
Ticker(code).trades(start, end) Every execution: time, price, shares and the initiating side (buy, sell; None for most opening prints), from the loaded recording or feed
Market().stocks() Master for every security
Market().snapshot(at=None) Every security's quote
Market().imbalances(at=None, top=None, closing=False) Securities ranked by absolute market-order imbalance (or the closing auction's)
Market().special_quotes(at=None) Securities in a special quote (特別気配): side, price, when its timer ends
Market().trades(start, end) Every security's executions in time order
Market().frames() A recording's batches: clocks, local timing, quote and trade counts
Market().summary() Source, date, coverage and clock range
Feed.quotes(codes) / Feed.on_quote(fn, codes) Live updates as they arrive
Feed.recordings A live feed's recordings so far: trading_date, name, path, uploaded, timing_uploaded
briskapi.recordings() / .pull() / .load() Your archive's listing, verified download, local file
briskapi.Archive().upload(dir) / .delete(prefix) / .deleted() / .restore(prefix) / .timing() / .owner Upload, delete, what you deleted in the last 30 days (with deleted_at, restore_until), bring one back, your timing reports, your owner ID
briskapi.record(output, cache=None, ...) A recording of the demo, uploaded per your choice
briskapi.consent(...) Your upload choice
briskapi.Historical() The cloud API's client, Databento-style; your archive identity is the API key (below)
Historical().timeseries.get_range(dataset, start, end=None, symbols='ALL_SYMBOLS', schema='trades', limit=None, path=None) A store of records from XTKS.BRISK (your recordings) or XTKS.BRISKDEMO: Databento's conversions: to_df() (indexed by ts_recv, or ts_event for bars), to_ndarray(), to_csv(path), to_json(path), to_parquet(path), to_file(path), replay(callback), iteration, len()
Historical().metadata.list_datasets() / .list_schemas(dataset) / .list_fields(schema) / .list_publishers() / .get_dataset_range(dataset) The catalogue; a dataset's first and last date with data
Historical().metadata.get_dataset_condition(dataset, start_date, end_date) Each date available or missing, and the clock windows (JST) your recordings cover
Historical().metadata.get_record_count(...) / .get_cost(...) How many records a request returns; its cost, always 0 (free, with quotas)
Ticker(code).candles(interval) / .margin(days) BRiSK's own price bars from your broker: 5m today only, how far back 1d/1w/1mo go is up to BRiSK; margin balances and lending fees
Market().turnover() / .lists() / .events() / .schedule() / .watchlist() Broker BRiSK market data
briskapi.login(site=..., cookies=None) / briskapi.logout() Your broker's BRiSK session (SBI by default), for the broker data above and connect(site=...)
briskapi.passkey.enroll() / .login() / .forget() Passkey sign-in to your broker's BRiSK

Prices are yen floats, with None for the vendor's zero "unavailable" value. Times are JST datetimes on the trading date. Quantities are shares; side, flag and status codes are raw vendor values. raw=True returns vendor fields (*_price10 in tenths of a yen, *_us in microseconds since JST midnight). Tabular results are lists of dicts with .to_pandas(). Errors are briskapi.BriskError and briskapi.NotFoundError. The first whole-market query reads a recording's tables into memory (about two seconds for the complete demo); one security's history is read on its own.