General

get_market_state

Signature


pub async fn get_market_state(&self, market: &str) -> Result<Vec<MarketState>, TigerError>

Description

Market state; required market, such as US/HK.

Parameters

ParameterRust typeRequirementSDK default
market&strRequired by Rust typeNone

Return

  • QuoteClient: Result<Vec<MarketState>, TigerError>. market: String, market_status: String, status: String, open_time: String.

market, market_status, status, open_time

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_state(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_market_state("US").await?;

    Ok(())

}

Response example

[
  {
    "market": "US",
    "market_status": "Trading",
    "status": "TRADING",
    "open_time": "2025-01-29 09:30:00"
  }
]

get_trading_calendar

Signature


pub async fn get_trading_calendar( &self, req: TradingCalendarRequest, ) -> Result<Vec<TradingCalendarItem>, TigerError>

Description

Calendar; market required; dates optional.

Parameters

ParameterRust typeRequirementSDK default
req.marketOption<String>Required by server; SDK does not pre-validateNone (omitted)
req.begin_dateOption<String>OptionalNone (omitted)
req.end_dateOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<TradingCalendarItem>, TigerError>. market: String, date: String, is_trading: bool, session_type: String.

Market, date, trading status, session times.

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_trading_calendar(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

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

    Ok(())

}

Response example

[
  {
    "market": "US",
    "date": "2025-01-29",
    "is_trading": true,
    "session_type": "regular"
  }
]

get_symbols

Signature


pub async fn get_symbols(&self, req: SymbolsRequest) -> Result<Vec<String>, TigerError>

Description

Symbol universe; all request fields optional.

Parameters

ParameterRust typeRequirementSDK default
req.marketOption<String>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.include_otcOption<bool>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<String>, TigerError>.
    Symbol strings.

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_symbols(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbols(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "value": 94836000000.0
  }
]


get_symbol_names

Signature


pub async fn get_symbol_names( &self, req: SymbolsRequest, ) -> Result<Vec<SymbolName>, TigerError>

Description

Symbol names; same request as get_symbols.

Parameters

ParameterRust typeRequirementSDK default
req.marketOption<String>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.include_otcOption<bool>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<SymbolName>, TigerError>. symbol: String, name: String, market: String.

symbol, name, market

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_symbol_names(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbol_names(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "name": "Apple Inc",
    "market": "US"
  }
]

get_trade_metas

Signature


pub async fn get_trade_metas( &self, req: TradeMetasRequest, ) -> Result<Vec<crate::model::quote::TradeMeta>, TigerError>

Description

Trading metadata; symbols required.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by server; SDK does not pre-validateNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<crate::model::quote::TradeMeta>, TigerError>. symbol: String, lot_size: i32, min_tick: f64, spread_scale: f64, shortable_flag: String, marginable_flag: String.

lot size, min tick, spread scale, shortable/marginable flags.

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_trade_metas(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_trade_metas(TradeMetasRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "lot_size": 1,
    "min_tick": 0.01,
    "spread_scale": 1.0,
    "shortable_flag": "Y",
    "marginable_flag": "Y"
  }
]


get_quote_permission

Signature


pub async fn get_quote_permission( &self, req: QuotePermissionRequest, ) -> Result<Vec<QuotePermission>, TigerError>

Description

Permission details; date range optional.

Parameters

ParameterRust typeRequirementSDK default
req.begin_dateOption<String>OptionalNone (omitted)
req.end_dateOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.

name, expire_at

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_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_quote_permission(QuotePermissionRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "name": "usQuoteLevel2",
"expire_at": 1767225600000
  }
]

grab_quote_permission

Signature


pub async fn grab_quote_permission(&self) -> Result<Vec<QuotePermission>, TigerError>

Description

Current permissions; no parameters.

Parameters

ParameterRust typeRequirementSDK default
none-Required by Rust typeNone

Return

  • QuoteClient: Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.

Vec<QuotePermission>

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_grab_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.grab_quote_permission().await?;

    Ok(())

}

Response example

[
  {
    "name": "usQuoteLevel2",
"expire_at": 1767225600000
  }
]

get_kline_quota

Signature


pub async fn get_kline_quota( &self, req: KlineQuotaRequest, ) -> Result<Vec<KlineQuota>, TigerError>

Description

Bar quota; details omitted by default.

Parameters

ParameterRust typeRequirementSDK default
req.with_detailsOption<bool>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

  • QuoteClient: Result<Vec<KlineQuota>, TigerError>. method: String, used: i32, quota: i32, detail: Vec

method, used, quota, detail

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_kline_quota(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_kline_quota(KlineQuotaRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "method": "kline",
    "used": 35,
    "quota": 500,
    "detail": [
      {
        "symbol": "AAPL",
        "count": 5
      }
    ]
  }
]


Did this page help you?