General

All operations use QuoteClient.ExecuteAsync.

STOCK_DETAIL and QUOTE_OVERNIGHT require additional market-data entitlements. The server returns a permission error code when an entitlement is missing.

Get Market State

Operation

QuoteApiService.MARKET_STATE = market_state. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<MarketStateResponse>

ModelValue: QuoteMarketModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
MarketMarketmarketCLR default; omitted during serializationOptionalEnum value
PackageNamePackageNamepackage_nameCLR default; omitted during serializationOptional
IncludeOTCBooleaninclude_otcCLR default; omitted during serializationOptional

Return

MarketStateResponse inherits TigerResponse; its Data is List<MarketState>.

Response data type: List<MarketState>.

MarketState fields

FieldC# typeDescription
MarketstringMarket identifier.
MarketStatusstringTrading status.
StatusstringStatus description.
OpenTimestringOpening time.

Example

TigerRequest<MarketStateResponse> request = new()
{
    ApiMethodName = QuoteApiService.MARKET_STATE,
    ModelValue = new QuoteMarketModel { Market = Market.US }
};
MarketStateResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<MarketState>? data = response?.Data; // null when response or data is absent

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {
      "market": "US",
      "marketStatus": "Pre-Mkt",
      "status": "PRE_HOUR_TRADING",
      "openTime": "08-03 09:30:00 EDT"
    }
  ]
}

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Get Symbol List

Operation

QuoteApiService.ALL_SYMBOLS = all_symbols. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<TigerListStringResponse>

ModelValue: QuoteMarketModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
MarketMarketmarketCLR default; omitted during serializationOptionalEnum value
PackageNamePackageNamepackage_nameCLR default; omitted during serializationOptional
IncludeOTCBooleaninclude_otcCLR default; omitted during serializationOptional

Return

TigerListStringResponse inherits TigerResponse; its Data is List<string>. String elements are not object models, so they have no field table.

Response data type: List<string>. Items are strings, so there is no object field table.

Example

TigerRequest<TigerListStringResponse> request = new()
{
    ApiMethodName = QuoteApiService.ALL_SYMBOLS,
    ModelValue = new QuoteMarketModel { Market = Market.US }
};
TigerListStringResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<string>? data = response?.Data; // null when response or data is absent

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": ["A", "AA", "AAL", "AAPL", "ABBV", "ABC", "ABNB"]
}

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Get Symbol Names

Operation

QuoteApiService.ALL_SYMBOL_NAMES = all_symbol_names. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<SymbolNameResponse>

ModelValue: QuoteMarketModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
MarketMarketmarketCLR default; omitted during serializationOptionalEnum value
PackageNamePackageNamepackage_nameCLR default; omitted during serializationOptional
IncludeOTCBooleaninclude_otcCLR default; omitted during serializationOptional

Return

SymbolNameResponse inherits TigerResponse; its Data is List<SymbolNameItem>.

Response data type: List<SymbolNameItem>.

SymbolNameItem fields

FieldC# typeDescription
SymbolstringInstrument symbol.
NamestringInstrument name.

Example

TigerRequest<SymbolNameResponse> request = new()
{
    ApiMethodName = QuoteApiService.ALL_SYMBOL_NAMES,
    ModelValue = new QuoteMarketModel { Market = Market.US }
};
SymbolNameResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<SymbolNameItem>? data = response?.Data; // null when response or data is absent

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {"symbol": "00001", "name": "CKH Holdings"},
    {"symbol": "00700", "name": "TENCENT"}
  ]
}

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Get Trading Calendar

Operation

QuoteApiService.TRADING_CALENDAR = trading_calendar. Use this constant for TigerRequest.ApiMethodName.

This operation is registered by the server.

Request

TigerRequest<TradeCalendarResponse>

ModelValue: TradeCalendarModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
MarketMarketmarketCLR default; omitted during serializationOptionalEnum value
BeginDatestringbegin_datenullOptional
EndDatestringend_datenullOptionalTimestamp or date format; maintain chronological order

Return

TradeCalendarResponse inherits TigerResponse; its Data is List<TradeCalendar>.

Response data type: List<TradeCalendar>.

TradeCalendar fields

FieldC# typeDescription
DatestringCalendar date.
TypestringTrading-calendar day type.

Example

TigerRequest<TradeCalendarResponse> request = new()
{
    ApiMethodName = QuoteApiService.TRADING_CALENDAR,
    ModelValue = new TradeCalendarModel { Market = Market.US, BeginDate = "2026-01-01", EndDate = "2026-01-31" }
};
TradeCalendarResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<TradeCalendar>? data = response?.Data; // null when response or data is absent

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {"date": "2025-07-28", "type": "TRADING"},
    {"date": "2025-07-29", "type": "TRADING"}
  ]
}

Related APIs

See Requests, responses, and operations.

Get Quote Contract

Operation

QuoteApiService.QUOTE_CONTRACT = quote_contract. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<QuoteContractResponse>

ModelValue: QuoteContractsModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
SymbolstringsymbolnullRequired
SecTypeSecTypesec_typeCLR default; omitted during serializationOptional
ExpirystringexpirynullOptional

Return

QuoteContractResponse inherits TigerResponse; its Data is QuoteContractItem.

Response data structure: QuoteContractItem; Items is List<QuoteContract>.

QuoteContractItem fields

FieldC# typeDescription
SymbolstringRequested symbol.
SecTypestringRequested security type.
ItemsList<QuoteContract>Matching contract records.

Nested QuoteContract fields

FieldC# typeDescription
SymbolstringContract symbol.
NamestringContract name.
ExchangestringExchange.
MarketstringMarket.
SecTypestringSecurity type.
CurrencystringCurrency.
ExpirystringOption expiration.
StrikestringOption strike price.
RightstringOption right.
MultiplierdoubleContract multiplier.

Example

TigerRequest<QuoteContractResponse> request = new()
{
    ApiMethodName = QuoteApiService.QUOTE_CONTRACT,
    ModelValue = new QuoteContractsModel { Symbol = "AAPL", SecType = SecType.STK }
};
QuoteContractResponse? response = await quoteClient.ExecuteAsync(request);

Response type

QuoteContractItem? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Get Market Data Permissions

Operation

QuoteApiService.GET_QUOTE_PERMISSION = get_quote_permission. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<QuotePermissionResponse>

ModelValue: ApiModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization

Return

QuotePermissionResponse inherits TigerResponse; its Data is List<QuotePermission>.

Response data type: List<QuotePermission>.

QuotePermission fields

FieldC# typeDescription
NamestringPermission name.
ExpireAtlongPermission expiration timestamp.

Example

TigerRequest<QuotePermissionResponse> request = new()
{
    ApiMethodName = QuoteApiService.GET_QUOTE_PERMISSION,
    ModelValue = new ApiModel()
};
QuotePermissionResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<QuotePermission>? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Claim Market Data Device Access

Operation

QuoteApiService.GRAB_QUOTE_PERMISSION = grab_quote_permission. Use this constant for TigerRequest.ApiMethodName.

This operation switches market data device access to the current device. It does not purchase or grant new market data access.

Request

TigerRequest<QuotePermissionResponse>

ModelValue: ApiModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization

Return

QuotePermissionResponse inherits TigerResponse; its Data is List<QuotePermission>.

Response data type: List<QuotePermission>.

QuotePermission fields

FieldC# typeDescription
NamestringPermission name.
ExpireAtlongPermission expiration timestamp.

Example

TigerRequest<QuotePermissionResponse> request = new()
{
    ApiMethodName = QuoteApiService.GRAB_QUOTE_PERMISSION,
    ModelValue = new ApiModel()
};
QuotePermissionResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<QuotePermission>? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Get K-Line Quota

Operation

QuoteApiService.KLINE_QUOTA = kline_quota. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<KlineQuotaResponse>

ModelValue: KlineQuotaModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization
WithDetailsBooleanwith_detailsCLR default; omitted during serializationOptional

Return

KlineQuotaResponse inherits TigerResponse; its Data is List<QuotaItem>.

Response data type: List<QuotaItem>.

QuotaItem fields

FieldC# typeDescription
RemainintRemaining quota.
UsedintUsed quota.
MethodstringAPI method.
DetailsList<string>Quota-detail values.

Example

TigerRequest<KlineQuotaResponse> request = new()
{
    ApiMethodName = QuoteApiService.KLINE_QUOTA,
    ModelValue = new KlineQuotaModel { WithDetails = true }
};
KlineQuotaResponse? response = await quoteClient.ExecuteAsync(request);

Response type

List<QuotaItem>? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Get User License

Operation

QuoteApiService.USER_LICENSE = user_license. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<UserLicenseResponse>

ModelValue: ApiModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization

Return

UserLicenseResponse inherits TigerResponse; its Data is UserLicense.

Response data type: UserLicense.

UserLicense fields

FieldC# typeDescription
LicensestringUser license.

Example

TigerRequest<UserLicenseResponse> request = new()
{
    ApiMethodName = QuoteApiService.USER_LICENSE,
    ModelValue = new ApiModel()
};
UserLicenseResponse? response = await quoteClient.ExecuteAsync(request);

Response type

UserLicense? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Refresh Token

Operation

QuoteApiService.USER_TOKEN_REFRESH = user_token_refresh. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<UserTokenResponse>

ModelValue: ApiModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullNot applicableInherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization

Return

UserTokenResponse inherits TigerResponse; its Data is UserToken.

Response data type: UserToken.

UserToken fields

FieldC# typeDescription
TigerIdstringTiger user ID.
LicensestringLicense.
TokenstringToken.
CreateTimelongToken creation timestamp.
ExpiredTimelongToken expiration timestamp.

Example

TigerRequest<UserTokenResponse> request = new()
{
    ApiMethodName = QuoteApiService.USER_TOKEN_REFRESH,
    ModelValue = new ApiModel()
};
UserTokenResponse? response = await quoteClient.ExecuteAsync(request);

Response type

UserToken? data = response?.Data; // null when response or data is absent

Rate limit

Base tier: 10 requests per minute.


Did this page help you?