Securities

Get Real-Time Quotes

Signature


pub async fn get_real_time_quote(&self, req: BriefRequest) -> Result<Vec<Brief>, TigerError>

Description

Returns real-time quotes; symbols required; hour trading, security type, and language omitted by default. Requires matching market data access.

Deprecated alias: get_brief forwards to this method and has been marked #[deprecated] in the SDK since 0.5.1. It adds no behavior. Use get_real_time_quote in new code.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.include_hour_tradingOption<bool>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<Brief>, TigerError>

FieldTypeDescription
symbolStringStock symbol
openf64Open price
highf64High price
lowf64Low price
closef64Close price
pre_closef64Previous close
latest_pricef64Latest price
latest_timei64Latest trade time (ms timestamp)
ask_pricef64Ask price
ask_sizei64Ask size
bid_pricef64Bid price
bid_sizei64Bid size
volumei64Volume
statusStringTrading status
adj_pre_closef64Adjusted previous close
changef64Price change
change_ratef64Change rate
amplitudef64Amplitude
expiryStringExpiry date
strikeStringStrike price
rightStringOption direction
multiplieri32Contract multiplier
open_interesti64Open interest

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "open": 192.3,
    "high": 195.99,
    "low": 191.85,
    "close": 195.5,
    "preClose": 192.53,
    "latestPrice": 195.5,
    "latestTime": 1738180800000
  }
]

Rate limit

The base rate limit is 120 requests/min.


Get Delayed Quote

Signature


pub async fn get_delayed_quote( &self, req: DelayedQuoteRequest, ) -> Result<Vec<Brief>, TigerError>

Description

Delayed snapshot; symbols required.

Deprecated alias: get_stock_delay_briefs forwards to this method and has been marked #[deprecated] in the SDK since 0.5.1. It adds no behavior. Use get_delayed_quote in new code.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<Brief>, TigerError>

FieldTypeDescription
symbolStringStock symbol
openf64Open price
highf64High price
lowf64Low price
closef64Close price
pre_closef64Previous close
latest_pricef64Latest price
latest_timei64Latest trade time (ms timestamp)
ask_pricef64Ask price
ask_sizei64Ask size
bid_pricef64Bid price
bid_sizei64Bid size
volumei64Volume
statusStringTrading status
adj_pre_closef64Adjusted previous close
changef64Price change
change_ratef64Change rate
amplitudef64Amplitude
expiryStringExpiry date
strikeStringStrike price
rightStringOption direction
multiplieri32Contract multiplier
open_interesti64Open interest

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "open": 192.3,
    "high": 195.99,
    "low": 191.85,
    "close": 195.5,
    "preClose": 192.53,
    "latestPrice": 195.5,
    "latestTime": 1738180800000
  }
]

Rate limit

The base rate limit is 10 requests/min.



Get Kline

Signature


pub async fn get_kline(&self, req: KlineRequest) -> Result<Vec<Kline>, TigerError>

Description

Stock bars; symbols and period are required.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.periodOption<String>Required by the server; not prevalidated by the SDKNone (omitted)
req.rightOption<String>OptionalNone (omitted)
req.begin_timeOption<i64>OptionalNone (omitted)
req.end_timeOption<i64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.begin_indexOption<i32>OptionalNone (omitted)
req.end_indexOption<i32>OptionalNone (omitted)
req.page_tokenOption<String>OptionalNone (omitted)
req.trade_sessionOption<String>OptionalNone (omitted)
req.dateOption<String>OptionalNone (omitted)
req.with_fundamentalOption<bool>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<Kline>, TigerError>

FieldTypeDescription
symbolStringStock symbol
periodStringPeriod
next_page_tokenStringNext page token
itemsVecData items

items elements (KlineItem):

FieldTypeDescription
timei64Timestamp
volumei64Volume
volume_decimalOption<f64>Optional fractional volume
openf64Open price
closef64Close price
highf64High price
lowf64Low price
amountf64Turnover amount

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "period": "day",
    "nextPageToken": "eyJzIjoiMTczODE4MDgwMDAwMCJ9",
    "items": [
      {
        "time": 1738094400000,
        "volume": 52314200,
        "open": 192.3,
        "close": 193.85,
        "high": 194.2,
        "low": 191.5,
        "amount": 10145000000.0
      },
      {
        "time": 1738008000000,
        "volume": 48120300,
        "open": 191.5,
        "close": 192.53,
        "high": 193.1,
        "low": 190.8,
        "amount": 9280000000.0
      }
    ]
  }
]

Rate limit

The base rate limit is 60 requests/min. Methods documented here that use kline share this quota.


Get Kline By Page

Signature


pub async fn get_kline_by_page( &self, req: KlineByPageRequest, ) -> Result<Vec<KlineItem>, TigerError>

Description

Client pagination; SDK defaults: page_size=200, total_size=1000; continues with oldest time minus one.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>OptionalNone (omitted)
req.periodOption<String>OptionalNone (omitted)
req.begin_timeOption<i64>OptionalNone (omitted)
req.end_timeOption<i64>OptionalNone (omitted)
req.total_sizeOption<i32>Optional1000 when None
req.page_sizeOption<i32>Optional200 when None
req.rightOption<String>OptionalNone (omitted)
req.trade_sessionOption<String>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<KlineItem>, TigerError>

FieldTypeDescription
timei64Timestamp
volumei64Volume
volume_decimalOption<f64>Optional fractional volume
openf64Open price
closef64Close price
highf64High price
lowf64Low price
amountf64Turnover amount

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

    let result_0 = quote.get_kline_by_page(KlineByPageRequest {
        symbols: Some(vec!["AAPL".into()]),
        period: Some("day".into()),
        total_size: Some(100),
        ..Default::default()
    }).await?;

    Ok(())

}

Response example

[
  {
    "time": 1738180800000,
    "volume": 58263100,
    "open": 192.3,
    "close": 195.5,
    "high": 195.99,
    "low": 191.85,
    "amount": 11329847520.0
  }
]

Rate limit

The base rate limit is 60 requests/min. Methods documented here that use kline share this quota.


Get Timeline

Signature


pub async fn get_timeline(&self, symbols: &[&str]) -> Result<Vec<Timeline>, TigerError>

Description

Convenience method for current stock timeline data.

Parameters

ParameterRust typeRequirementSDK default
symbols&[&str]RequiredNone

Return

Result<Vec<Timeline>, TigerError>

FieldTypeDescription
symbolStringStock symbol
periodStringPeriod
pre_closef64Previous close
intradayOptionIntraday timeline data
pre_hoursOptionPre-market timeline data
after_hoursOptionAfter-hours timeline data

Each TimelineBucket contains TimelineItem elements in items:

FieldTypeDescription
timei64Timestamp
volumei64Volume
volume_decimalOption<f64>Optional fractional volume
pricef64Price
avg_pricef64Average price

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

    let result_0 = quote.get_timeline(&["AAPL"]).await?;

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "period": "day",
    "preClose": 192.53,
    "intraday": null,
    "preHours": null,
    "afterHours": null
  }
]

Rate limit

The base rate limit is 120 requests/min.


Get Timeline History

Signature


pub async fn get_timeline_history( &self, req: TimelineHistoryRequest, ) -> Result<Vec<Timeline>, TigerError>

Description

Historical stock timeline; symbols required; date, adjustment, and session are optional.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.dateOption<String>OptionalNone (omitted)
req.rightOption<String>OptionalNone (omitted)
req.trade_sessionOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<Timeline>, TigerError>

FieldTypeDescription
symbolStringStock symbol
periodStringPeriod
pre_closef64Previous close
intradayOptionIntraday timeline data
pre_hoursOptionPre-market timeline data
after_hoursOptionAfter-hours timeline data

Each TimelineBucket contains TimelineItem elements in items:

FieldTypeDescription
timei64Timestamp
volumei64Volume
volume_decimalOption<f64>Optional fractional volume
pricef64Price
avg_pricef64Average price

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "period": "day",
    "preClose": 192.53,
    "intraday": null,
    "preHours": null,
    "afterHours": null
  }
]

Rate limit

The base rate limit is 60 requests/min.


Get Trade Tick

Signature


pub async fn get_trade_tick( &self, req: TradeTickRequest, ) -> Result<Vec<TradeTick>, TigerError>

Description

Stock ticks; symbols required; indexes, limit, session optional.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.begin_indexOption<i32>OptionalNone (omitted)
req.end_indexOption<i32>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.trade_sessionOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<TradeTick>, TigerError>

FieldTypeDescription
symbolStringStock symbol
begin_indexi64Begin index
end_indexi64End index
itemsVecData items

items elements (TradeTickItem):

FieldTypeDescription
timei64Timestamp
volumei64Volume
pricef64Trade price
r#typeStringTrade type; JSON field: type
part_codeStringParticipant code
part_nameStringParticipant name
condStringTrade condition

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "beginIndex": 0,
    "endIndex": 30,
    "items": [
      {
        "time": 1738180750000,
        "price": 195.5,
        "volume": 100,
        "type": "+"
      },
      {
        "time": 1738180745000,
        "price": 195.49,
        "volume": 50,
        "type": "-"
      }
    ]
  }
]

Rate limit

The base rate limit is 120 requests/min.


Get Market Depth

Signature


pub async fn get_quote_depth(&self, req: QuoteDepthRequest) -> Result<Vec<Depth>, TigerError>

Description

Order book; symbols required. Requires the applicable depth license.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.marketOption<String>OptionalNone (omitted)
req.trade_sessionOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<Depth>, TigerError>

FieldTypeDescription
symbolStringStock symbol
asksVecAsk levels
bidsVecBid levels

asks and bids elements (DepthLevel):

FieldTypeDescription
pricef64Price
counti32Order count
volumei64Order volume

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "asks": [
      {
        "price": 195.51,
        "volume": 200
      },
      {
        "price": 195.52,
        "volume": 350
      }
    ],
    "bids": [
      {
        "price": 195.49,
        "volume": 150
      },
      {
        "price": 195.48,
        "volume": 400
      }
    ]
  }
]

Rate limit

The base rate limit is 60 requests/min.


Get Stock Broker

Signature


pub async fn get_stock_broker( &self, req: StockBrokerRequest, ) -> Result<Option<StockBroker>, TigerError>

Description

Broker queue; symbol required; HK permissions apply.

Parameters

ParameterRust typeRequirementSDK default
req.symbolOption<String>Required by the server; not prevalidated by the SDKNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.sec_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Option<StockBroker>, TigerError>

FieldTypeDescription
symbolStringStock symbol
level_ask_listVecBroker ask levels
level_bid_listVecBroker bid levels

level_ask_list and level_bid_list elements (StockBrokerItem):

FieldTypeDescription
leveli32Level
pricef64Price
brokersVec<BrokerDetail>Broker details

brokers elements (BrokerDetail):

FieldTypeDescription
idStringBroker ID
nameStringBroker name

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

    let result_0 = quote.get_stock_broker(StockBrokerRequest { symbol: Some("AAPL".into()), ..Default::default() }).await?;

    Ok(())

}

Response example

{
    "symbol": "AAPL",
    "levelAskList": [
      {
        "level": 1,
        "price": 195.51,
        "brokers": [
          {
            "id": "5860",
            "name": "Broker A"
          }
        ]
      }
    ],
    "levelBidList": [
      {
        "level": 1,
        "price": 195.49,
        "brokers": [
          {
            "id": "6998",
            "name": "Broker B"
          }
        ]
      }
  ]
}

Rate limit

The base rate limit is 60 requests/min.


Get Capital Flow

Signature


pub async fn get_capital_flow( &self, symbol: &str, market: &str, period: &str, ) -> Result<Option<CapitalFlow>, TigerError>

Description

Capital flow; all arguments required; licensed data.

Parameters

ParameterRust typeRequirementSDK default
symbol&strRequiredNone
market&strRequiredNone
period&strRequiredNone

Return

Result<Option<CapitalFlow>, TigerError>

FieldTypeDescription
symbolStringStock symbol
periodStringPeriod
itemsVecData items

items elements (CapitalFlowItem):

FieldTypeDescription
timeStringTime
timestampi64Timestamp
net_inflowf64Net inflow

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

    let result_0 = quote.get_capital_flow("AAPL", "US", "day").await?;

    Ok(())

}

Response example

{
  "symbol": "AAPL",
  "period": "day",
  "items": [
    {
      "netInflow": -109057032.20,
      "time": "2025-07-28",
      "timestamp": 1753660800000
    },
    {
      "netInflow": 52340018.55,
      "time": "2025-07-25",
      "timestamp": 1753488000000
    }
  ]
}

Rate limit

The base rate limit is 60 requests/min.


Get Capital Distribution

Signature


pub async fn get_capital_distribution( &self, symbol: &str, market: &str, ) -> Result<Option<CapitalDistribution>, TigerError>

Description

Capital distribution; both arguments required.

Parameters

ParameterRust typeRequirementSDK default
symbol&strRequiredNone
market&strRequiredNone

Return

Result<Option<CapitalDistribution>, TigerError>

FieldTypeDescription
symbolStringStock symbol
net_inflowf64Net inflow
in_allf64Total inflow
in_bigf64Large order inflow
in_midf64Medium order inflow
in_smallf64Small order inflow
out_allf64Total outflow
out_bigf64Large order outflow
out_midf64Medium order outflow
out_smallf64Small order outflow

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

    let result_0 = quote.get_capital_distribution("AAPL", "US").await?;

    Ok(())

}

Response example

{
  "symbol": "AAPL",
  "netInflow": -52340018.55,
  "inAll": 2850000000.0,
  "inBig": 1520000000.0,
  "inMid": 830000000.0,
  "inSmall": 500000000.0,
  "outAll": 2902340018.55,
  "outBig": 1600000000.0
}

Rate limit

The base rate limit is 60 requests/min.


Get Short Interest

Signature


pub async fn get_short_interest( &self, req: ShortInterestRequest, ) -> Result<Vec<ShortInterest>, TigerError>

Description

Short interest; symbols required; primarily US.

Parameters

ParameterRust typeRequirementSDK default
req.symbolsOption<Vec<String>>Required by the server; not prevalidated by the SDKNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<ShortInterest>, TigerError>

FieldTypeDescription
symbolStringStock symbol
settlement_dateStringSettlement date
short_interestf64Short interest shares
avg_daily_volumef64Average daily volume
days_to_coverf64Days to cover
percent_of_floatf64Percent of float
short_interest_previousf64Previous short interest
percent_changef64Percent change

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "settlementDate": "2025-01-15",
    "shortInterest": 98520000.0,
    "avgDailyVolume": 58263100.0,
    "daysToCover": 1.69,
    "percentOfFloat": 0.64,
    "shortInterestPrevious": 95130000.0,
    "percentChange": 3.56
  }
]

Rate limit

The base rate limit is 60 requests/min.


Get Trade Rank

Signature


pub async fn get_trade_rank( &self, req: TradeRankRequest, ) -> Result<Vec<TradeRankItem>, TigerError>

Description

Trading ranking; market required.

Parameters

ParameterRust typeRequirementSDK default
req.marketOption<String>Required by the server; not prevalidated by the SDKNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<TradeRankItem>, TigerError>

FieldTypeDescription
symbolStringStock symbol
nameStringName
latest_pricef64Latest price
changef64Price change
change_ratef64Change rate
volumei64Volume
amountf64Turnover amount

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

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

    Ok(())

}

Response example

[
  {
    "symbol": "AAPL",
    "name": "Apple Inc",
    "latestPrice": 195.5,
    "change": 2.97,
    "changeRate": 0.0154,
    "volume": 58263100,
    "amount": 11329847520.0
  }
]

Rate limit

The base rate limit is 10 requests/min.



Did this page help you?