Stock Screener

Market Scanner

Signature


pub async fn market_scanner( &self, req: MarketScannerRequest, ) -> Result<Option<ScannerResult>, TigerError>

Description

v1; market required; paging/cursor/filter JSON/sort optional; scanner permission.

Parameters

ParameterRust typeRequirementSDK default
req.marketStringRequiredNone
req.pageOption<i32>OptionalNone (omitted)
req.page_sizeOption<i32>OptionalNone (omitted)
req.cursor_idOption<String>OptionalNone (omitted)
req.base_filter_listOption<Vec<serde_json::Value>>OptionalNone (omitted)
req.accumulate_filter_listOption<Vec<serde_json::Value>>OptionalNone (omitted)
req.financial_filter_listOption<Vec<serde_json::Value>>OptionalNone (omitted)
req.multi_tags_filter_listOption<Vec<serde_json::Value>>OptionalNone (omitted)
req.sort_field_dataOption<serde_json::Value>OptionalNone (omitted)
req.multi_tags_fieldsOption<Vec<String>>OptionalNone (omitted)

Return

QuoteClient: Result<Option<ScannerResult>, TigerError>.

ScannerResult fields:

FieldRust typeDescription
pagei32Page number
total_pagei32Total page count
total_counti32Total result count
page_sizei32Results per page
cursor_idStringCursor ID
itemsVec<ScannerResultItem>Scanner result rows

Each ScannerResultItem in items:

FieldRust typeDescription
symbolStringSymbol
marketStringMarket
base_data_listVec<ScannerDataRow>Base data
accumulate_data_listVec<ScannerDataRow>Accumulated data
financial_data_listVec<ScannerDataRow>Financial data
multi_tag_data_listVec<ScannerDataRow>Multi-tag data

Each ScannerDataRow in those four data lists:

FieldRust typeDescription
indexi32Field index
nameStringField name
valueStringString value
dataf64Numeric value

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_market_scanner(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.market_scanner(MarketScannerRequest { market: "US".into(), ..Default::default() }).await?;

    Ok(())

}

Response example

{
  "page": 1,
  "totalPage": 5,
  "totalCount": 98,
  "pageSize": 20,
  "cursorId": "abc123",
  "items": [{"symbol":"AAPL","market":"US","latestPrice":195.50}]
}

Rate limit

The base rate limit is 10 requests/min.


Get Market Scanner Tags

Signature


pub async fn get_market_scanner_tags( &self, req: MarketScannerTagsRequest, ) -> Result<Vec<MarketScannerTagGroup>, TigerError>

Description

Optional market/fields; Rust multi_tags_fields maps to wire multi_tag_field_list.

Parameters

ParameterRust typeRequirementSDK default
req.marketOption<String>OptionalNone (omitted)
req.multi_tags_fieldsOption<Vec<String>>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

QuoteClient: Result<Vec<MarketScannerTagGroup>, TigerError>.

Each MarketScannerTagGroup:

FieldRust typeDescription
marketStringMarket
multi_tag_fieldStringMulti-tag field
tag_listVec<MarketScannerTag>Tag list

Each MarketScannerTag in tag_list:

FieldRust typeDescription
fieldStringTag field
nameStringTag name
valuesVec<String>Available tag values

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_market_scanner_tags(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_market_scanner_tags(MarketScannerTagsRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "market": "",
    "multiTagField": "",
    "tagList": []
  }
]

Rate limit

The base rate limit is 10 requests/min.



Did this page help you?