MarketDataRequest (35=V)#
Purpose:
The MarketDataRequest message retrieves the current order book (bids and offers) for a specific instrument. It provides snapshot market depth, showing available liquidity at different price levels. This is essential for price discovery, trading decisions, and market analysis.Before placing orders to see current market prices
To analyze market depth and liquidity
For building trading screens with live order books
To determine best bid/offer prices
Before sending RFQs to understand market context
Business Context:
Market data is the foundation of informed trading. By requesting market depth, traders can see where liquidity exists, identify the best available prices, and understand market conditions. The snapshot model provides a point-in-time view of the order book, which is suitable for decision-making without the complexity of streaming updates.Message Flow#
| Tag | Name | Required | Description |
|---|
| 262 | MDReqID | Y | Unique market data request ID |
| 263 | SubscriptionRequestType | Y | 0 = SNAPSHOT |
| 264 | MarketDepth | Y | 0=Full, 1=Top, N=Levels |
| 265 | MDUpdateType | Y | 0 = FULL_REFRESH |
| 267 | NoMDEntryTypes | Y | Number of entry types requested |
| 146 | NoRelatedSym | Y | Number of symbols (usually 1) |
MDReqEntryTypeGroup (Tag 267):| Tag | Name | Required | Description |
|---|
| 269 | MDEntryType | Y | 0=BID, 1=OFFER |
InstrumentsMDReqGrp (Tag 146):| Tag | Name | Required | Description |
|---|
| 55 | Symbol | N | Instrument name |
| 48 | SecurityID | Y | ISIN code |
| 22 | SecurityIDSource | Y | 4 = ISIN |
Example Request#
8=FIXT.1.1|9=XXX|35=V|
262=MD-123456|263=0|264=5|265=0|
267=2|269=0|269=1|
146=1|48=DE000BASF111|22=4|
10=XXX|
MarketDataSnapshotFullRefresh (35=W)#
| Tag | Name | Required | Description |
|---|
| 262 | MDReqID | N | Echoed from request |
| 48 | SecurityID | Y | ISIN code |
| 22 | SecurityIDSource | Y | 8 = EXCHANGE_SYMBOL |
| 268 | NoMDEntries | Y | Number of price levels |
NoMDEntries Repeating Group:| Tag | Name | Required | Description |
|---|
| 269 | MDEntryType | Y | 0=BID, 1=OFFER |
| 270 | MDEntryPx | N | Price |
| 271 | MDEntrySize | N | Quantity |
| 272 | MDEntryDate | N | Date (YYYYMMDD) |
| 273 | MDEntryTime | N | Time (HH:MM:SS) |
| 37 | OrderID | Y | Offer ID |
Example Response#
8=FIXT.1.1|9=XXX|35=W|
262=MD-123456|48=DE000BASF111|22=8|268=4|
269=0|270=1.0850|271=1000000|272=20260309|273=14:23:45|37=BID123|
269=0|270=1.0849|271=500000|272=20260309|273=14:23:44|37=BID124|
269=1|270=1.0851|271=750000|272=20260309|273=14:23:46|37=ASK123|
269=1|270=1.0852|271=250000|272=20260309|273=14:23:47|37=ASK124|
10=XXX|
This is a SNAPSHOT request (Tag 263=0), not a subscription
Data may be stale immediately after receipt
For high-frequency trading, implement periodic refresh logic
SecurityIDSource in response is "8" (EXCHANGE_SYMBOL), different from request ("4" ISIN)
Modified at 2026-03-09 15:06:12