---
title: MarketDataRequest
seo:
  title: MarketDataRequest | FIX Market Data
  description: "FIX market data MarketDataRequest reference: field layout,
    repeating groups, supported values, and message-specific behavior."
sidebar:
  label: MarketDataRequest
---
`MsgType(35)=MarketDataRequest(V)`

Direction: **Client to exchange**.

Request a snapshot, subscribe to market data, or cancel a subscription.

A session can hold one market-data subscription per ticker. A snapshot or subscription request containing an unknown ticker is rejected as a whole. A new subscription request is also rejected as a whole if any requested ticker is already subscribed on that session. One-time snapshots of already-subscribed tickers are supported.

## Field Layout

See [FIX Message Layouts](/reference/fix-message-layouts) for field ordering and presence rules.

| Field | Type | Presence | Behavior |
| --- | --- | --- | --- |
| `MDReqID(262)` | [`STRING`](/reference/fix-data-types#string) | Required |  |
| `SubscriptionRequestType(263)` | [`CHAR`](/reference/fix-data-types#char) | Required | Supported values:<br/><code style="overflow-wrap:anywhere">SubscriptionRequestType(263)=SNAPSHOT(0)</code><br/><code style="overflow-wrap:anywhere">SubscriptionRequestType(263)=SNAPSHOT_PLUS_UPDATES(1)</code><br/><code style="overflow-wrap:anywhere">SubscriptionRequestType(263)=DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST(2)</code> |
| `MarketDepth(264)` | [`INT`](/reference/fix-data-types#int) | Required | <span style="overflow-wrap:anywhere">MarketDepth(264)=0 requests the full book. MarketDepth(264)=1 requests top of book. MarketDepth(264)=2 through MarketDepth(264)=25 request that many price levels per side. Depth beyond top of book, and MarketDepth(264)=1 with AggregatedBook(266)=No(N), use full refreshes.</span> |
| `MDUpdateType(265)` | [`INT`](/reference/fix-data-types#int) | Optional | <span style="overflow-wrap:anywhere">Trade subscriptions require incremental updates. Incremental depth updates, including MarketDepth(264)=1 with AggregatedBook(266)=No(N), are not supported; use MDUpdateType(265)=FullRefresh(0), or omit the update mode, for those book views.</span><br/><br/>Supported values:<br/><code style="overflow-wrap:anywhere">MDUpdateType(265)=FULL_REFRESH(0)</code><br/><code style="overflow-wrap:anywhere">MDUpdateType(265)=INCREMENTAL_REFRESH(1)</code> |
| `AggregatedBook(266)` | [`BOOLEAN`](/reference/fix-data-types#boolean) | Optional | <span style="overflow-wrap:anywhere">Omitting this field selects aggregated price levels. AggregatedBook(266)=No(N) carries individual resting orders at every selected price level, including all orders at the best price on each requested side for MarketDepth(264)=1. This representation supports full refreshes only.</span> |
| `NoMDEntryTypes(267)` | [`NUMINGROUP`](/reference/fix-data-types#numingroup) | Required | <span style="overflow-wrap:anywhere">Repeating group. Only bids, offers, and trades are served. Trade entries are not available in snapshots.</span> |
| `NoRelatedSym(146)` | [`NUMINGROUP`](/reference/fix-data-types#numingroup) | Required | <span style="overflow-wrap:anywhere">Repeating group.</span> |

### NoMDEntryTypes(267) Entries

Keep each entry's fields in the order shown.

| Field | Type | Presence | Behavior |
| --- | --- | --- | --- |
| `MDEntryType(269)` | [`CHAR`](/reference/fix-data-types#char) | Required | Supported values:<br/><code style="overflow-wrap:anywhere">MDEntryType(269)=BID(0)</code><br/><code style="overflow-wrap:anywhere">MDEntryType(269)=OFFER(1)</code><br/><code style="overflow-wrap:anywhere">MDEntryType(269)=TRADE(2)</code> |

### NoRelatedSym(146) Entries

Keep each entry's fields in the order shown.

| Field | Type | Presence | Behavior |
| --- | --- | --- | --- |
| `Symbol(55)` | [`STRING`](/reference/fix-data-types#string) | Required |  |
