# Market Data

Every price or size values should be represented with FineryMarkets internal corresponding types.

Description of all the types can be found [here](https://faq.finerymarkets.com/api-reference/data-types).

## Market Data Request\<V>

Market data request allows receiving market data on a subscription basis.

<table><thead><tr><th width="150" align="center">Tag</th><th width="200" align="center">Name</th><th width="150" align="center">Required</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">262</td><td align="center">MDReqID</td><td align="center">Y</td><td align="center">1</td><td align="center">Unique market data request Id</td></tr><tr><td align="center">263</td><td align="center">SubscriptionRequestType</td><td align="center">Y</td><td align="center">2</td><td align="center">Subscription request type(see below)</td></tr><tr><td align="center">267</td><td align="center">NoMDEntryTypes</td><td align="center">Y</td><td align="center">2</td><td align="center">Number of MDEntryType &#x3C;269> fields requested. Should always be 2 for bid and offer.</td></tr><tr><td align="center">269</td><td align="center">=> MDEntryType</td><td align="center">Y</td><td align="center">0</td><td align="center">Must be the first field in this repeating group. This is a list of all the types of Market Data Entries that the firm requesting the Market Data is interested in receiving (see below)</td></tr><tr><td align="center">146</td><td align="center">NoRelatedSym</td><td align="center">Y</td><td align="center">1</td><td align="center">Number of symbols (instruments) requested. Should be 1.</td></tr><tr><td align="center">55</td><td align="center">=> Symbol</td><td align="center">Y</td><td align="center">BTC-USD</td><td align="center">Requested instrument</td></tr></tbody></table>

| Subscription Request Type | Description |
| :-----------------------: | :---------: |
|             1             |  Subscribe  |
|             2             | Unsubscribe |

| MDEntryType | Description |
| :---------: | :---------: |
|      0      |     Bid     |
|      1      |    Offer    |

Upon a successful subscription, a **Market Data - Snapshot/Full Refresh \<W>** message is sent to the client, followed by subsequent **Snapshot/Full Refresh \<W>** messages for each book update.

If the subscription fails, a **Market Data Request Reject \<Y>** message is sent to the client.

## **Market Data - Snapshot/Full Refresh\<W>**

Market Data messages are used as the response to a **Market Data Request\<V>** message. In all cases, one Market Data message refers only to one **Market Data Request\<V>** . Each Market Data message contains information about only one symbol (instrument).

<table><thead><tr><th width="150" align="center">Tag</th><th width="200" align="center">Name</th><th width="150" align="center">Required</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">262</td><td align="center">MDReqID</td><td align="center">Y</td><td align="center">1</td><td align="center">Contains MDReqId&#x3C;262> from corresponding Market Data Request</td></tr><tr><td align="center">55</td><td align="center">Symbol</td><td align="center">Y</td><td align="center">BTC-USD</td><td align="center">Instrument</td></tr><tr><td align="center">268</td><td align="center">NoMDEntries</td><td align="center">Y</td><td align="center">1</td><td align="center">Number of entries following. 0 for empty book.</td></tr><tr><td align="center">269</td><td align="center">=> MDEntryType</td><td align="center">Y</td><td align="center">0</td><td align="center">Must be the first field of the repeating group. Entry type(see below)</td></tr><tr><td align="center">270</td><td align="center">=> MDEntryPx</td><td align="center">Y</td><td align="center">1</td><td align="center">Price, value of type Price</td></tr><tr><td align="center">271</td><td align="center">=> MDEntrySize</td><td align="center">Y</td><td align="center">1</td><td align="center">Size, value of type Size</td></tr><tr><td align="center">20002</td><td align="center">LpId</td><td align="center">Y</td><td align="center">123</td><td align="center">FM id of an LP, providing the corresponding price stream</td></tr></tbody></table>

| MDEntryType | Description |
| :---------: | :---------: |
|      0      |     Bid     |
|      1      |    Offer    |

<details>

<summary>Example of the message</summary>

{% code overflow="wrap" lineNumbers="true" %}

```
8=FIX.4.4|9=471|35=W|34=2|49=FINERYMARKETS|52=20250526-14:33:53.914|56=<api_key>|55=BTC-USD|262=1|268=10|269=0|270=500000000|271=500000000|269=0|270=400000000|271=400000000|269=0|270=300000000|271=300000000|269=0|270=200000000|271=200000000|269=0|270=100000000|271=100000000|269=1|270=100000000|271=100000000|269=1|270=200000000|271=200000000|269=1|270=300000000|271=300000000|269=1|270=400000000|271=400000000|269=1|270=500000000|271=500000000|20002=1|10=102
```

{% endcode %}

</details>

## **Market Data - Reject \<Y>**

The **Market Data Request Reject\<Y>** is used when FineryMarkets cannot honor the **Market Data Request\<V>** , due to business or technical reasons.

<table><thead><tr><th width="150" align="center">Tag</th><th width="200" align="center">Name</th><th width="150" align="center">Required</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">262</td><td align="center">MDReqID</td><td align="center">Y</td><td align="center">1</td><td align="center">Contains MDReqId&#x3C;262> from corresponding Market Data Request</td></tr><tr><td align="center">281</td><td align="center">MDReqRejReason</td><td align="center">N</td><td align="center">0</td><td align="center">Rejection reason code(see below)</td></tr><tr><td align="center">58</td><td align="center">Text</td><td align="center">N</td><td align="center">25</td><td align="center">Contains FM error code if MDReqRejReason&#x3C;281> == F</td></tr></tbody></table>

| Rejection reason code |                    Description                   |
| :-------------------: | :----------------------------------------------: |
|           0           |            Unknown symbol(instrument)            |
|           3           |             Insufficient Permissions             |
|           4           |     Unsupported SubscriptionRequestType <263>    |
|           F           | Finery Markets error, see code in Text<58> field |
|           A           | Finery Markets error, see code in Text<58> field |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://faq.finerymarkets.com/api-reference/fix-api/qs-for-takers/market-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
