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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
Market | Market | market | CLR default; omitted during serialization | Optional | Enum value |
PackageName | PackageName | package_name | CLR default; omitted during serialization | Optional | — |
IncludeOTC | Boolean | include_otc | CLR default; omitted during serialization | Optional | — |
Return
MarketStateResponse inherits TigerResponse; its Data is List<MarketState>.
Response data type: List<MarketState>.
MarketState fields
| Field | C# type | Description |
|---|---|---|
Market | string | Market identifier. |
MarketStatus | string | Trading status. |
Status | string | Status description. |
OpenTime | string | Opening 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 absentResponse 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
Market | Market | market | CLR default; omitted during serialization | Optional | Enum value |
PackageName | PackageName | package_name | CLR default; omitted during serialization | Optional | — |
IncludeOTC | Boolean | include_otc | CLR default; omitted during serialization | Optional | — |
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 absentResponse 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
Market | Market | market | CLR default; omitted during serialization | Optional | Enum value |
PackageName | PackageName | package_name | CLR default; omitted during serialization | Optional | — |
IncludeOTC | Boolean | include_otc | CLR default; omitted during serialization | Optional | — |
Return
SymbolNameResponse inherits TigerResponse; its Data is List<SymbolNameItem>.
Response data type: List<SymbolNameItem>.
SymbolNameItem fields
| Field | C# type | Description |
|---|---|---|
Symbol | string | Instrument symbol. |
Name | string | Instrument 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 absentResponse 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
Market | Market | market | CLR default; omitted during serialization | Optional | Enum value |
BeginDate | string | begin_date | null | Optional | — |
EndDate | string | end_date | null | Optional | Timestamp or date format; maintain chronological order |
Return
TradeCalendarResponse inherits TigerResponse; its Data is List<TradeCalendar>.
Response data type: List<TradeCalendar>.
TradeCalendar fields
| Field | C# type | Description |
|---|---|---|
Date | string | Calendar date. |
Type | string | Trading-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 absentResponse 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
Symbol | string | symbol | null | Required | — |
SecType | SecType | sec_type | CLR default; omitted during serialization | Optional | — |
Expiry | string | expiry | null | Optional | — |
Return
QuoteContractResponse inherits TigerResponse; its Data is QuoteContractItem.
Response data structure: QuoteContractItem; Items is List<QuoteContract>.
QuoteContractItem fields
| Field | C# type | Description |
|---|---|---|
Symbol | string | Requested symbol. |
SecType | string | Requested security type. |
Items | List<QuoteContract> | Matching contract records. |
Nested QuoteContract fields
| Field | C# type | Description |
|---|---|---|
Symbol | string | Contract symbol. |
Name | string | Contract name. |
Exchange | string | Exchange. |
Market | string | Market. |
SecType | string | Security type. |
Currency | string | Currency. |
Expiry | string | Option expiration. |
Strike | string | Option strike price. |
Right | string | Option right. |
Multiplier | double | Contract 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 absentRate 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited 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
| Field | C# type | Description |
|---|---|---|
Name | string | Permission name. |
ExpireAt | long | Permission 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 absentRate 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited 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
| Field | C# type | Description |
|---|---|---|
Name | string | Permission name. |
ExpireAt | long | Permission 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 absentRate 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited field; QuoteClient does not inject TigerConfig.DefaultAccount, and null is omitted during serialization |
WithDetails | Boolean | with_details | CLR default; omitted during serialization | Optional | — |
Return
KlineQuotaResponse inherits TigerResponse; its Data is List<QuotaItem>.
Response data type: List<QuotaItem>.
QuotaItem fields
| Field | C# type | Description |
|---|---|---|
Remain | int | Remaining quota. |
Used | int | Used quota. |
Method | string | API method. |
Details | List<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 absentRate 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited 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
| Field | C# type | Description |
|---|---|---|
License | string | User 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 absentRate 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Not applicable | Inherited 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
| Field | C# type | Description |
|---|---|---|
TigerId | string | Tiger user ID. |
License | string | License. |
Token | string | Token. |
CreateTime | long | Token creation timestamp. |
ExpiredTime | long | Token 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 absentRate limit
Base tier: 10 requests per minute.
Updated 23 days ago
