📦 Datasets

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.gz

Example:

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:
    • YYYYMMDD in coinapi → legacy daily partitions published before 2026-06-09
    • YYYYMMDDHH in coinapi → hourly partitions for data published on or after 2026-06-09
  • E-[EXCHANGE]: Exchange identifier
  • IDDI-[IDENTIFIER]: CoinAPI internal identifier
  • SC-[COINAPI_SYMBOL_ID]: CoinAPI symbol identifier
  • S-[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 coinapi bucket. It is not included in coinapi-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 NameTypeNullableDescription
exchange_idstringNoExchange identifier extracted from the object path.
symbol_exchange_idstringNoExchange-native symbol identifier.
symbol_idstringNoCoinAPI symbol identifier.
symbol_id_intintegerNoNumeric CoinAPI symbol identifier used by downstream systems.
date_strstringNoDate token from the path (YYYYMMDD or YYYYMMDDHH).
time_exchangestringNoExchange event time-of-day for the row.
time_coinapistringNoCoinAPI receive time-of-day for the row.
best_bid_pxdecimalYesBest bid price at the snapshot moment.
best_bid_sxdecimalYesBest bid size at the snapshot moment.
best_ask_pxdecimalYesBest ask price at the snapshot moment.
best_ask_sxdecimalYesBest ask size at the snapshot moment.
mid_pxdecimalYesMidpoint price computed as (best_ask_px + best_bid_px) / 2.
depth_ask_sx_{N}_bpsdecimalYesCumulative ask-side size within N basis points of the midpoint (ask side). N runs from 10 to 500.
depth_bid_sx_{N}_bpsdecimalYesCumulative 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

  1. We maintain a real-time connection to each supported exchange and build an incremental order book from T-LIMITBOOK_FULL data.
  2. 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.
  3. Data is uploaded to the coinapi bucket as hourly partitions for data published on or after 2026-06-09. Legacy daily partitions published before that date remain in coinapi.

Corner Cases and Special Considerations

  1. Derived data: Depth bands are derived from T-LIMITBOOK_FULL. Exchanges not covered by full limit order book data are not included.
  2. Empty bands: If no resting orders exist within a given band at snapshot time, the corresponding depth column will be 0 or empty.
  3. Midpoint computation: mid_px is 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.
  4. 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.

Service StatusGitHub SDK