FIX Trading API

QuoteRequest

QuoteRequests are used to request market data.  Saxo Bank only support market data for FX, CFD Indices, and CFD Futures. Licensing costs and redistribution conditions apply to CFD data, contact us for more information.

TagField NameTypeRequiredDescriptionProducts
Standard Header, MsgType = R
131QuoteReqIDSTRINGYUnique client quote request ID

FX
CFD

146NoRelatedSymNUMINGROUPYNumber of symbol requests in repeating groupFX
CFD
*55SymbolSTRINGYRequested symbolFX
CFD
*460ProductINTY

2 = COMMODITY CFD on Future
4 = CURRENCY FX
7 = INDEX CFD on Index

FX
CFD
*303QuoteRequestTypeINTN2 = AUTOMATICFX
CFD
*38OrderQtyQTYN

Requested quote quantity. If not included, quotes will be for top of book

FX
CFD
*192OrderQty2QTYNNumber of end clients who will see the data, used in case of CFDsCFD
Standard Trailer

* elements of a repeating group

QuoteRequestReject

QuoteRequestRejects are returned if elements of a quote request are invalid. A reason is supplied in the Text field.

TagField NameTypeRequiredDescriptionProducts
Standard Header, MsgType = AG
131QuoteReqIDSTRINGYUnique client quote request IDFX
CFD
658QuoteRequestRejectReasonINTY

1 = UNKNOWN_SYMBOL
2 = EXCHANGE_CLOSED
3 = QUOTE_REQUEST_EXCEEDS_LIMIT
4 = TOO_LATE_TO_ENTER
5 = INVALID_PRICE
6 = NOT_AUTHORIZED_TO_REQUEST_QUOTE

FX
CFD
146NoRelatedSymNUMINGROUPYNumber of symbols in repeating groupFX
CFD
*55SymbolSTRINGYRejected symbolFX
CFD
*460ProductINTY2 = COMMODITY CFD on Future
4 = CURRENCY FX
7 = INDEX CFD on Index
FX
CFD
*38OrderQtyQTYNRequested quote quantity FX
CFD
*192OrderQty2QTYNNumber of end clients who will see the dataCFD
58TextSTRINGYReject reason as textFX
CFD
Standard Trailer

* elements of a repeating group

Quote

Market data for CFD Indices and CFD Futures are returned via Quote messages. Prices are always marked indicative with 0 size, however the prices sent will be for the OrderQty requested on the original subscription.

TagField NameTypeRequiredDescriptionProducts
Standard Header, MsgType = S
131QuoteReqIDSTRINGYUnique client quote request IDCFD
117QuoteIDSTRINGYSaxo quote ID for this individual quoteCFD
537QuoteTypeINTY

CFD quotes are always indicative
0 = INDICATIVE

CFD
55SymbolSTRINGYSymbol this quote is forCFD
460ProductINTY2 = COMMODITY
7 = INDEX
CFD
132BidPxPRICEYBid Price for original OrderQty requested (although BidSize will be zero)CFD
133OfferPxPRICEYOffer Price for original OrderQty requested (although OfferSize will be zero)CFD
134BidSizeQTYYIndicitive, always zero.
0
CFD
135OfferSizeQTYY

Indicitive, always zero.
0

CFD
Standard Trailer

MassQuote

Market data for FX is returned via MassQuote messages. Price/size bands are pre-set at Saxo Bank with agreement from the client.  Prices are not sweepable and should be interpreted as such; i.e. order requests should be done in the full amount and not broken into pieces in an attempt to VWAP the quote.

TagField NameTypeRequiredDescriptionProducts
Standard Header, MsgType = i
131QuoteReqIDSTRINGNUnique client quote request IDFX
117QuoteIDSTRINGYSaxo quote ID for this individual quoteFX
537QuoteTypeINTY0 = INDICATIVE
1 = TRADEABLE
FX
296NoQuoteSetsNUMINGROUPY

Always one
1 

FX
*302QuoteSetIDSTRINGYAlways one
1
FX
*304TotQuoteEntriesINTYNumber of quotes in repeating groupFX
*295NoQuoteEntriesNUMINGROUPYNumber of quotes in repeating groupFX
**299QuoteEntryIDSTRINGYNumber of this quote in the groupFX
**55SymbolSTRINGYSymbol this quote is forFX
**460ProductINTY4 = CURRENCYFX
**132BidPxPRICEYBid priceFX
**133OfferPxPRICEYOffer priceFX
**134BidSizeQTYY

Bid size.

FX
**135OfferSizeQTYYOffer size.FX
**60TransactTimeUTCTIMESTAMPYTime this quote was createdFX
**64FutSettDateLOCALMKTDATEYValue date for the quoteFX
Standard Trailer

* elements of a repeating group