Skip to content

Market:ScanSymbols

Scans for matching symbols using market scan criteria. Returns a maximum of 1,000 symbols.

Controller: Market
Topic: ScanSymbols
Action: Publish
Permissions: Zenith/Market

NameTypeExpectDescription
CountIntegerOptionalThe maximum number of symbols to return. If supplied, symbols will be returned in alphabetical order, and the first results up to the maximum will be returned. If omitted, defaults to 1,000.
CriteriaAnyOptionalThe market scan criteria to apply. If omitted, will match all symbols.
FullSymbolBooleanOptionalWhether to return full symbol records or not. If True, symbols will include their full details. If omitted, defaults to True.
MarketStringOptionalThe code for the Market to search. Can be a Mixed Market code. If omitted, searches all non-mixed Markets. Supports wildcard searches. See Wildcards for more information.
MarketsArrayOptionalAn array of market codes to search. Can contain Mixed Market codes. Does not support wildcard searches. Invalid codes will result in a Market.NotFound error.
StartIndexIntegerOptionalThe number of symbols to skip. If supplied, symbols will be returned in alphabetical order, and the given number will be skipped.

See Appendix J2 - Market Scan Criteria for how to build scan criteria. This is an Symbol-based scan, so only Symbol criteria are available.

An unordered array of matching Symbol Detail objects

NameTypeExpectDescription
MarketStringAlwaysThe market this symbol belongs to
CodeStringAlwaysThe code for this symbol
NameStringOptionalThe name of this symbol. May be null if there is no friendly name (such as with a TMC)
ClassStringAlwaysThe class of Symbol. One of:
Market
ManagedFund
ExchangeStringOptionalIf this symbol is issued by an exchange different to the market, identifies the exchange
SubscriptionDataStringAlwaysThe types of data available. One or more of the following values, separated by commas:
Asset – Security details are available.
Trades – Trade history is available.
Depth – Full and short depth is available. DepthFull – Full depth is available. DepthShort – Short depth is available. All – All data types are available
TradingMarketsArrayAlwaysAn array of strings identifying the Trading Markets this Symbol belongs to

If FullSymbol is set, the Symbol Detail object can contain the following fields:

NameTypeExpectDescription
AlternateObjectOptionalAn object where the keys and values represent alternate codes associated with this Symbol. Omitted if there are no alternate codes.
AttributesObjectOptionalAn object where the keys and values represent attributes associated with this Symbol. Omitted if there are no attributes.
CallOrPutStringOptionalThe style of Option or Warrant. Omitted if not relevant. One of: Call Put
CategoriesArrayOptionalAn array of string codes representing the categories the Symbol belongs to, if any.
CFIStringAlwaysThe CFI (ISO 10962) code for this Symbol
ContractSizeDecimalOptionalThe contract size of a Warrant. Omitted if not relevant.
DepthDirectionStringOptionalThe direction of depth. If omitted, defaults to BidBelowAsk. One of: BidBelowAsk, AskBelowBid.
ExerciseTypeStringOptionalThe exercise type of an Option. One of: American, Asian, European, Unknown
ExpiryDateDateOptionalThe expiry date of an Option or Warrant. Omitted if not relevant. Will be in the format YYYY-MM-DD
IsIndexBooleanOptionalTrue if this security is an index, otherwise defaults to False
LegsArrayOptionalAn array of Symbol Leg objects representing the combination legs of this Symbol, if any.
LotSizeDecimalOptionalThe lot size for trading. Omitted if none exists.
StrikePriceDecimalOptionalThe strike price of an Option. Omitted if not relevant.
NameTypeExpectDescription
CodeStringAlwaysThe code of the symbol making up this leg.
SideStringAlwaysThe side this leg will trade on. One of: Bid: Bid (buy) side. Ask: Ask (sell) side.
RatioDecimalAlwaysThe ratio of this leg compared to the others.
websocket.send(JSON.stringify(
{
Controller:"Market",
Topic:"ScanSymbols",
TransactionID:1,
Data:
{
Market:"ASX",
Criteria:["Code","BHP"]
}
});

Sample Response:

{
"Controller":"Market",
"Topic":"ScanSymbols",
"TransactionID":1,
"Data":
[
{
"Code":"BHP",
"Market":"ASX",
"Name":"BHP BLT FPO",
"Class":"Market"
},
...
{
"Code":"BHPWX9",
"Market":"ASX",
"Name":"BHP MAR-16 P OPT 4115",
"Class":"Market"
}
]
}
websocket.send(JSON.stringify(
{
Controller:"Market",
Topic:"ScanSymbols",
TransactionID:1,
Data:
{
Market:"ASX",
Criteria:["And",["AltCode","RIC","BHP"],["Code","BHP"]]
}
});

Sample Response:

{
"Controller":"Market",
"Topic":"QuerySymbols",
"TransactionID":1,
"Data":
[
{
"Code":"BHP",
"Market":"ASX",
"Name":"BHP BLT FPO",
"Class":"Market",
"Alternate":["RIC":"BHP.AX"]
}
]
}