Stock Screener

MarketScanner

Purpose

Screens instruments with base, accumulated, financial, tag, and sort filters.

Signature

func (c *QuoteClient) MarketScanner(req model.MarketScannerRequest) (*model.ScannerResult, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.MarketScannerRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
MarketstringYesAlways serializedAllowed values: ALL, US, HK, CN, SG

Returns

(*model.ScannerResult, error). Key fields from model.ScannerResult:

FieldTypeJSON field
Pageintpage
TotalPageinttotalPage
TotalCountinttotalCount
PageSizeintpageSize
CursorIDstringcursorId
Items[]ScannerResultItemitems

Invocation example

result, err := qc.MarketScanner(model.MarketScannerRequest{
	Market: "US",
	Page: 1,
	PageSize: 20,
	MultiTagsFields: []string{"MultiTagField_Industry"},
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  {
    "symbol": "NVDA",
    "name": "NVIDIA Corp",
    "latestPrice": 132.15,
    "change": 8.42,
    "changeRate": 0.068,
    "volume": 385241000,
    "marketValue": 3245678901234.0
  },
  {
    "symbol": "TSLA",
    "name": "Tesla Inc",
    "latestPrice": 285.50,
    "change": 12.30,
    "changeRate": 0.045,
    "volume": 112456000,
    "marketValue": 912345678901.0
  }
]

GetMarketScannerTags

Purpose

Retrieves market scanner tags data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetMarketScannerTags(req model.MarketScannerTagsRequest) (*model.MarketScannerTags, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.MarketScannerTagsRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
MarketstringNoOmitted if emptyAllowed values: ALL, US, HK, CN, SG
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US

Returns

(*model.MarketScannerTags, error). Key fields from model.MarketScannerTags:

FieldTypeJSON field
TagFields[]stringtagFields
Tags[]MarketScannerTagtags

Invocation example

result, err := qc.GetMarketScannerTags(model.MarketScannerTagsRequest{
	Market: "US",
	MultiTagsFields: []string{"MultiTagField_Industry"},
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
{
  "tagFields": ["market", "tag"],
  "tags": [
    {"tagId": 1, "name": "Most Active", "description": "Stocks with highest trading volume"},
    {"tagId": 2, "name": "Top Gainers", "description": "Stocks with highest price increase"},
    {"tagId": 3, "name": "Top Losers", "description": "Stocks with highest price decrease"}
  ]
}


Did this page help you?