Cboe US Equities Depth now available

We’re excited to announce that over 7 years of Cboe EDGA, EDGX, BZX, and BYX Depth historical data is now available through our Databento US Equities service, providing full order book depth across all four Cboe-operated equities exchanges. Users can access these datasets in L1, L2, or L3 granularity, as well as in trades, OHLCV, and other data formats. A complete list of the supported schemas can be found in our catalog.
All Cboe proprietary feeds deliver every quote and order at each price level, along with any event that updates the order book, such as executions, modifications, or cancellations. Unlike top-of-book L1 data from the SIPs, this proprietary feed also includes information like trade aggressor side and odd lots. This enables users to accurately model book imbalances, trade directionality, queue position, and more.
These four datasets round out our equities coverage to provide the most complete, normalized view of the US equity market available through a single solution, now spanning 16 prop feeds with full-depth data on nearly all major trading venues.
Cboe is currently one of the largest US equities market operators on any given day and represents a total of 12% of the average daily volume (ADV) across all US stocks and ETFs as of May 2025. Its BZX, BYX, EDGA, and EDGX exchanges were added through the acquisition of Bats Global Markets in 2017.
Each depth feed is disseminated using the Cboe PITCH protocol. You can request historical data using their dataset IDs, which are labeled based on their original market identifiers:
EDGA.PITCH
EDGX.PITCH
BATS.PITCH
(BZX)BATY.PITCH
(BYX)
Historical Cboe equities data starts from May 1, 2018, and is available for usage-based rates or with any Databento US Equities subscription. Visit our pricing page to upgrade your plan.
The example below demonstrates how to request one day of L3 (MBO) data for Apple Inc. (AAPL) stock from the Cboe EDGX Depth dataset using our Python client library.
import databento as db
client = db.Historical()
data = client.timeseries.get_range(
dataset="EDGX.PITCH",
symbols="AAPL",
schema="mbo",
start="2025-05-08"
)
print(data.to_df())