Limit Order Book Depth Bands
Cumulative order book size aggregated into configurable basis-point bands around the midpoint, emitted at one-second intervals.
Limit Order Book Depth Bands
Overview
The Limit Order Book Depth Bands (T-LIMITBOOK_DEPTH_BANDS) data type provides liquidity metrics derived from the full limit order book (T-LIMITBOOK_FULL). Each row measures the cumulative resting order size on both sides of the book within a set of configurable basis-point bands around the midpoint. Rows are emitted at one-second intervals and are available as per-symbol CSV files and per-exchange Parquet artifacts.
File Organization
Limit Order Book Depth Bands data is organized in the coinapi bucket using the structure below.
T-LIMITBOOK_DEPTH_BANDS/
└── D-{YYYYMMDD | YYYYMMDDHH}/
└── E-[EXCHANGE]/
└── IDDI-[IDENTIFIER]+SC-[COINAPI_SYMBOL_ID]+S-[EXCHANGE_SYMBOL].csv.gzExample:
T-LIMITBOOK_DEPTH_BANDS/D-2026032400/E-COINBASE/IDDI-12345+SC-COINBASE_SPOT_BTC_USD+S-BTC__002DUSD.csv.gz
Where:
T-LIMITBOOK_DEPTH_BANDS: Indicates the data type (depth-band liquidity summaries)D-{YYYYMMDD | YYYYMMDDHH}defines the time partition:YYYYMMDDincoinapi→ legacy daily partitions published before 2026-06-09YYYYMMDDHHincoinapi→ hourly partitions for data published on or after 2026-06-09
E-[EXCHANGE]: Exchange identifierIDDI-[IDENTIFIER]: CoinAPI internal identifierSC-[COINAPI_SYMBOL_ID]: CoinAPI symbol identifierS-[EXCHANGE_SYMBOL]: Symbol as identified by the exchange
A Parquet artifact (one file per exchange per date or hour) is also available at:
T-LIMITBOOK_DEPTH_BANDS/D-{YYYYMMDD | YYYYMMDDHH}/E-[EXCHANGE].parquet
[!NOTE]
This dataset is available only in the
coinapibucket. It is not included incoinapi-daily-tail.
File Format
CSV files are comma-separated and compressed with gzip. Each row represents one depth-band snapshot at a point in time. The CSV contains all bands from 10 to 500 basis points in 10 bps steps. The Parquet artifact stores a curated subset: 10–100 bps every 10 bps, 120–200 bps every 20 bps, and 250–500 bps every 50 bps.
Data Fields
| Column Name | Type | Nullable | Description |
|---|---|---|---|
exchange_id | string | No | Exchange identifier extracted from the object path. |
symbol_exchange_id | string | No | Exchange-native symbol identifier. |
symbol_id | string | No | CoinAPI symbol identifier. |
symbol_id_int | integer | No | Numeric CoinAPI symbol identifier used by downstream systems. |
date_str | string | No | Date token from the path (YYYYMMDD or YYYYMMDDHH). |
time_exchange | string | No | Exchange event time-of-day for the row. |
time_coinapi | string | No | CoinAPI receive time-of-day for the row. |
best_bid_px | decimal | Yes | Best bid price at the snapshot moment. |
best_bid_sx | decimal | Yes | Best bid size at the snapshot moment. |
best_ask_px | decimal | Yes | Best ask price at the snapshot moment. |
best_ask_sx | decimal | Yes | Best ask size at the snapshot moment. |
mid_px | decimal | Yes | Midpoint price computed as (best_ask_px + best_bid_px) / 2. |
depth_ask_sx_{N}_bps | decimal | Yes | Cumulative ask-side size within N basis points of the midpoint (ask side). N runs from 10 to 500. |
depth_bid_sx_{N}_bps | decimal | Yes | Cumulative bid-side size within N basis points of the midpoint (bid side). N runs from 10 to 500. |
[!NOTE]
In CSV files, depth band columns are present for every 10 bps from 10 to 500 bps (e.g.,
depth_ask_sx_10_bps,depth_ask_sx_20_bps, ...,depth_ask_sx_500_bps). Parquet files and Snowflake contain a curated subset of these bands.
Example Data
exchange_id,symbol_exchange_id,symbol_id,symbol_id_int,date_str,time_exchange,time_coinapi,best_bid_px,best_bid_sx,best_ask_px,best_ask_sx,mid_px,depth_ask_sx_10_bps,depth_bid_sx_10_bps,...
COINBASE,BTC-USD,COINBASE_SPOT_BTC_USD,12345,20260324,13:15:04.0000000,13:15:04.0020000,67234.10,0.983,67234.50,1.245,67234.30,15.720,14.880,...Data Collection Process
- We maintain a real-time connection to each supported exchange and build an incremental order book from
T-LIMITBOOK_FULLdata. - Every second, the current best bid, best ask, midpoint, and cumulative depth within each configured band are computed and written as a row per symbol.
- Data is uploaded to the
coinapibucket as hourly partitions for data published on or after 2026-06-09. Legacy daily partitions published before that date remain incoinapi.
Corner Cases and Special Considerations
- Derived data: Depth bands are derived from
T-LIMITBOOK_FULL. Exchanges not covered by full limit order book data are not included. - Empty bands: If no resting orders exist within a given band at snapshot time, the corresponding depth column will be
0or empty. - Midpoint computation:
mid_pxis computed from the best bid and best ask at the time of the snapshot. In illiquid markets, the spread may be wide and depth band values may not reflect typical market conditions. - CSV vs Parquet band coverage: CSV files contain the full set of 10–500 bps bands in 10 bps steps. Parquet files and Snowflake expose only the curated subset (10–100 every 10, 120–200 every 20, 250–500 every 50).
Snowflake Access
This dataset is also available via Snowflake under:
APIBRICKS_COINAPI_SHARED.LIMITBOOK_DEPTH_BANDS.LIMITBOOK_DEPTH_BANDS
The Snowflake table uses the curated band subset described above.
Limit Order Book Snapshot 50
Fifty-level order book snapshots derived from the full limit order book, recording the top 50 bid and ask levels at one-minute intervals.
OHLCV (Open, High, Low, Close, Volume)
The OHLCV data type provides aggregated candlestick information for each symbol over standard time intervals.