---
title: "US Futures Multiple Depth"
method: GET
path: "/v1/data/us-futures/multiple-depth/{trade_date}/{identifier}"
tags: ["us-futures-tick"]
---

# US Futures Multiple Depth

`GET /v1/data/us-futures/multiple-depth/{trade_date}/{identifier}`

The U.S. Futures Multiple Depth dataset provides multi-level order book data for CME-listed futures contracts, delivering detailed visibility into market liquidity and order-flow dynamics. For each futures contract, the dataset captures up to 10 levels of market depth on both the bid and ask sides, with summary metrics at each level including price, aggregate size, and number of orders. This structure enables analysis of liquidity distribution beyond the top of book and supports advanced studies of depth imbalance, queue dynamics, and order-book resilience. Coverage spans futures contracts traded across major U.S. derivatives exchanges, including CME, CBOT, COMEX, and NYMEX.

 For more details, please refer to the dataset documentation: [US Futures Multiple Depth Guide](https://us-futures-market-data-docs.s3.us-east-1.amazonaws.com/algoseek.US.Futures.Multiple.Depth.pdf).

<details>
<summary>**Advanced Filtering**</summary>

You can provide one or multiple filter expressions based on the dataset's columns to narrow down the results. For example, `StartDate.gt=2023-01-01&StartDate.lt=2023-12-31`, `Ticker=AAPL`. 

Please refer to the <a href="https://algoseek.com/docs/rest-api/tutorial/advanced-filtering">Advanced Filtering Guide</a> for the extensive reference.
</details>

## Path parameters

- `trade_date` string, required — Trading date in YYYY-MM-DD format
- `identifier` string, required — Dataset's security identifier

## Query parameters

- `sort` string, nullable — Sorting criteria for the results. Provide a column name with optional prefix '+' for ascending order, or prefix with '-' for descending order. Multiple sorting fields may be supported depending on the dataset. If sort prefix is not provided, the ascending order is applied.
- `columns` string, nullable — A comma-separated list of columns to include in the response. Use this parameter to select only specific fields from the dataset. If not provided, all available columns will be returned.
- `offset` integer — Number of records to skip before returning results. To be used with the `limit` parameter for pagination. If not provided, defaults to 0.
- `limit` integer — Maximum number of records to return. Default and maximum values depend on the response format; see `format_limits` in the schema for details.
- `response_format` 'json' | 'csv' | 'csv_gzip' — Note the lowercase which is used for the consistency with other projects and tools

## Response `200`

JSON, CSV file, or gzip-compressed CSV file, depending on the value of `response_format` query parameter

- USFuturesMultipleDepthDataOut
  - `data` USFuturesMultipleDepthDataDetailsOut[], required
    - `TradeDate` string, date, nullable — The trading day
    - `EventDateTime` string, date-time, nullable — Event timestamp (CST) with a nanosecond resolution
    - `Ticker` string, nullable — Symbol name
    - `BaseSymbol` string, nullable — Base product name
    - `SecurityID` integer, nullable — Internal security ID
    - `Side` string, nullable — B (Buy) or S (Sell) side of the book
    - `Flags` integer, nullable — A flag as bit mask for extra information about the message
    - `Depth` integer, nullable — number of levels being shown in the book for this instrument
    - `L1Price` number, nullable — level 1 price
    - `L1Size` integer, nullable — number of contracts on level 1
    - `L1Orders` integer, nullable — number of orders on level 1
    - `L2Price` number, nullable — level 2 price
    - `L2Size` integer, nullable — number of contracts on level 2
    - `L2Orders` integer, nullable — number of orders on level 2
    - `L3Price` number, nullable — level 3 price
    - `L3Size` integer, nullable — number of contracts on level 3
    - `L3Orders` integer, nullable — number of orders on level 3
    - `L4Price` number, nullable — level 4 price
    - `L4Size` integer, nullable — number of contracts on level 4
    - `L4Orders` integer, nullable — number of orders on level 4
    - `L5Price` number, nullable — level 5 price
    - `L5Size` integer, nullable — number of contracts on level 5
    - `L5Orders` integer, nullable — number of orders on level 5
    - `L6Price` number, nullable — level 6 price
    - `L6Size` integer, nullable — number of contracts on level 6
    - `L6Orders` integer, nullable — number of orders on level 6
    - `L7Price` number, nullable — level 7 price
    - `L7Size` integer, nullable — number of contracts on level 7
    - `L7Orders` integer, nullable — number of orders on level 7
    - `L8Price` number, nullable — level 8 price
    - `L8Size` integer, nullable — number of contracts on level 8
    - `L8Orders` integer, nullable — number of orders on level 8
    - `L9Price` number, nullable — level 9 price
    - `L9Size` integer, nullable — number of contracts on level 9
    - `L9Orders` integer, nullable — number of orders on level 9
    - `L10Price` number, nullable — level 10 price
    - `L10Size` integer, nullable — number of contracts on level 10
    - `L10Orders` integer, nullable — number of orders on level 10
  - `pagination` PaginationDetailsOut, required
    - `offset` integer — The number of records skipped to fetch the current page
    - `limit` integer, required — The maximum number of records in the current page
    - `next_offset` integer, nullable — The number of records to skip to fetch the next page

## Other responses

- `403` — Forbidden
- `422` — Validation Error
- `429` — Request rejected because the identity or team exceeded a configured monthly or per-minute usage quota. When available, the response includes rate-limit headers describing the current quota.

---

[API](https://skmtc.net/algoseek/apis/datasets-api.md) · [All operations](https://skmtc.net/algoseek/apis/datasets-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/algoseek/datasets-api/revisions/1c983de099e2/schema)
