Stock Screener
MarketScanner
MarketScannerPurpose
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 field | Type | Required | Serialization | SDK default and constraints |
|---|---|---|---|---|
Market | string | Yes | Always serialized | Allowed values: ALL, US, HK, CN, SG |
Page | int | No | Omitted if zero | Page number |
PageSize | int | No | Omitted if zero | Number of items per page |
CursorID | string | No | Omitted if empty | Cursor returned by the previous page |
BaseFilterList | []map[string]interface{} | No | Omitted if empty | Base-indicator filters |
AccumulateFilterList | []map[string]interface{} | No | Omitted if empty | Accumulated-indicator filters |
FinancialFilterList | []map[string]interface{} | No | Omitted if empty | Financial-indicator filters |
MultiTagsFilterList | []map[string]interface{} | No | Omitted if empty | Multi-tag filters |
SortFieldData | map[string]interface{} | No | Omitted if empty | Sort configuration |
MultiTagsFields | []string | No | Omitted if empty | Multi-tag fields to return |
Returns
(*model.ScannerResult, error). Key fields from model.ScannerResult:
| Field | Type | JSON field | Description |
|---|---|---|---|
Page | int | page | Current result page number. |
TotalPage | int | totalPage | Total number of result pages. |
TotalCount | int | totalCount | Total matched instruments. |
PageSize | int | pageSize | Number of items per page. |
CursorID | string | cursorId | Cursor for paging results. |
Items | []ScannerResultItem | items | Matched instrument results. |
ScannerResultItem field | Type | JSON field |
|---|---|---|
Symbol | string | symbol |
Market | string | market |
BaseDataList | []ScannerDataRow | baseDataList |
AccumulateDataList | []ScannerDataRow | accumulateDataList |
FinancialDataList | []ScannerDataRow | financialDataList |
MultiTagDataList | []ScannerDataRow | multiTagDataList |
ScannerDataRow field | Type | JSON field |
|---|---|---|
Index | int | index |
Name | string | name |
Value | string | value |
Data | float64 | data |
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){"page":0,"totalPage":1,"totalCount":1,"pageSize":20,"cursorId":"next-cursor","items":[{"symbol":"NVDA","market":"US","baseDataList":[{"index":1,"name":"latestPrice","value":"132.15","data":132.15}],"accumulateDataList":[],"financialDataList":[],"multiTagDataList":[]}]}Rate limit
The base rate limit is 10 requests/min.
GetMarketScannerTags
GetMarketScannerTagsPurpose
Retrieves market scanner tags data and decodes it into the published Go return model.
Signature
func (c *QuoteClient) GetMarketScannerTags(req model.MarketScannerTagsRequest) ([]model.MarketScannerTagGroup, error)Availability depends on market, instrument, and enabled data access.
Parameters
model.MarketScannerTagsRequest
| SDK field | Type | Required | Serialization | SDK default and constraints |
|---|---|---|---|---|
Market | string | No | Omitted if empty | Allowed values: ALL, US, HK, CN, SG |
MultiTagsFields | []string | Yes | Omitted if empty | Multi-tag fields to query; serialized as multi_tag_field_list |
Lang | string | No | Omitted if empty | Allowed values: zh_CN, zh_TW, en_US |
Returns
([]model.MarketScannerTagGroup, error). Each array item represents one market and multi-tag field:
| Field | Type | JSON field | Description |
|---|---|---|---|
Market | string | market | Market code. |
MultiTagField | string | multiTagField | Multi-tag field identifier. |
TagList | []MarketScannerTag | tagList | Available tags for the field. |
MarketScannerTag field | Type | JSON field |
|---|---|---|
Field | string | field |
Name | string | name |
Values | []string | values |
The current API response may not populate MarketScannerTag fields, in which case they remain zero-valued. The method does not expose the raw tag items.
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)Rate limit
The base rate limit is 10 requests/min.
Updated 23 days ago
