Brokeret LogoDocs
FIX API / FIX 4.4/Market Data

Market Data

Subscribe to streaming quotes and market data via FIX 4.4.

Market Data Subscription

Market data is received on the Price Session (default port 5001). After establishing a session via Logon, subscribe to instruments using the MarketDataRequest message.

MarketDataRequest (MsgType = V)

Subscribe or unsubscribe to market data for one or more symbols.

TagFieldRequiredDescription
35MsgTypeYesV
262MDReqIDYesUnique request identifier
263SubscriptionRequestTypeYes0 = Snapshot, 1 = Subscribe, 2 = Unsubscribe
264MarketDepthYes0 = Full book, 1 = Top of book
265MDUpdateTypeConditional0 = Full refresh, 1 = Incremental (required for Subscribe)
267NoMDEntryTypesYesNumber of entry types requested
269MDEntryTypeYesRepeating: 0 = Bid, 1 = Offer, 2 = Trade
146NoRelatedSymYesNumber of symbols
55SymbolYesRepeating: Instrument symbol (e.g. EURUSD)

Subscribe to Top-of-Book Bid/Offer

8=FIX.4.4|9=152|35=V|49=CLIENT1|56=BROKERET|34=2|52=20260312-14:31:00.000|262=MD001|263=1|264=1|265=1|267=2|269=0|269=1|146=2|55=EURUSD|55=GBPUSD|10=098|

This subscribes to Bid and Offer for EURUSD and GBPUSD with incremental updates.

Unsubscribe

8=FIX.4.4|9=98|35=V|49=CLIENT1|56=BROKERET|34=10|52=20260312-14:45:00.000|262=MD001|263=2|267=2|269=0|269=1|146=2|55=EURUSD|55=GBPUSD|10=112|

Use the same MDReqID as the original subscription.

MarketDataSnapshotFullRefresh (MsgType = W)

Sent by the server as the initial snapshot upon subscription or when a full refresh is requested.

TagFieldDescription
35MsgTypeW
262MDReqIDRequest ID this snapshot responds to
55SymbolInstrument symbol
268NoMDEntriesNumber of entries in the snapshot
269MDEntryType0 = Bid, 1 = Offer
270MDEntryPxPrice
271MDEntrySizeVolume / size
272MDEntryDateDate of the entry
273MDEntryTimeTime of the entry

Example — EURUSD Snapshot

8=FIX.4.4|9=198|35=W|49=BROKERET|56=CLIENT1|34=3|52=20260312-14:31:00.100|262=MD001|55=EURUSD|268=2|269=0|270=1.08452|271=1000000|272=20260312|273=14:31:00.100|269=1|270=1.08455|271=1000000|272=20260312|273=14:31:00.100|10=145|

MarketDataIncrementalRefresh (MsgType = X)

After the initial snapshot, the server sends incremental updates as prices change.

TagFieldDescription
35MsgTypeX
262MDReqIDOriginal request ID
268NoMDEntriesNumber of updated entries
279MDUpdateAction0 = New, 1 = Change, 2 = Delete
269MDEntryType0 = Bid, 1 = Offer
55SymbolInstrument symbol
270MDEntryPxUpdated price
271MDEntrySizeUpdated volume

Example — Bid Price Update

8=FIX.4.4|9=156|35=X|49=BROKERET|56=CLIENT1|34=45|52=20260312-14:31:05.250|262=MD001|268=1|279=1|269=0|55=EURUSD|270=1.08460|271=1000000|10=201|

MarketDataRequestReject (MsgType = Y)

Sent when a subscription request cannot be processed.

TagFieldDescription
35MsgTypeY
262MDReqIDRequest ID being rejected
281MDReqRejReasonRejection reason code
58TextHuman-readable reason

Rejection Reason Codes

CodeMeaning
0Unknown symbol
1Duplicate MDReqID
4Unsupported SubscriptionRequestType
5Unsupported MarketDepth
8Unsupported MDEntryType

Example

8=FIX.4.4|9=105|35=Y|49=BROKERET|56=CLIENT1|34=4|52=20260312-14:31:00.200|262=MD001|281=0|58=Unknown symbol: INVALID|10=177|

Available Symbols

Brokeret provides market data for all symbols configured on your trading server. Common categories include:

CategoryExamples
Forex MajorsEURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD
Forex CrossesEURGBP, EURJPY, GBPJPY, AUDNZD, EURCHF, GBPCAD
MetalsXAUUSD, XAGUSD, XPTUSD
IndicesUS30, US500, NAS100, GER40, UK100
EnergiesUSOIL, UKOIL, NGAS
CryptoBTCUSD, ETHUSD (if enabled)
📧
NoteThe exact symbol list depends on your account configuration. Contact Brokeret for the full list of available instruments.

Market Data Best Practices

  • Subscribe only to needed symbols — Excessive subscriptions increase bandwidth and processing load
  • Use incremental updates (Tag 265 = 1) instead of full refresh for real-time streaming
  • Use Top of Book (Tag 264 = 1) unless you need full depth-of-market
  • Monitor for stale prices — If no updates are received for an extended period, verify the session is still active
  • Handle weekend gaps — Markets close on Friday and reopen Sunday; expect no updates during the weekend

Next Steps