Crypto
Get Symbol List
Request Class:QuoteSymbolRequest
Description
Retrieve the list of all cryptocurrency symbols.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| sec_type | string | Yes | Must be CC |
Response
com.tigerbrokers.stock.openapi.client.https.response.quote.QuoteSymbolResponse
source
Structure
public class QuoteSymbolResponse extends TigerResponse {
@JSONField(name = "data")
private List<String> symbols;
}The returned data can be accessed via QuoteSymbolResponse.getSymbols(),
which returns a List containing cryptocurrency symbols.
Example Request
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
QuoteSymbolRequest request = QuoteSymbolRequest.newCcRequest();
QuoteSymbolResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(Arrays.toString(response.getSymbols().toArray()));
} else {
System.out.println("response error:" + response.getMessage());
}Example Response
{
"code" : 0,
"message" : "success",
"timestamp" : 1770033519398,
"data" : [ "APT.USD", "IOTX.USD", "USDT.USD", "DYDX.USD", "DOGE.USD", "KAIA.USD", "ATOM.USD", "COMP.USD", "UNI.USD", "AAVE.USD", "LDO.USD", "LINK.USD", "SNX.USD", "OP.USD", "DOT.USD", "POL.USD", "BTC.USD", "SOL.USD", "ARB.USD", "TON.USD", "AVAX.USD", "MKR.USD", "IMX.USD", "ETH.USD", "LTC.USD" ],
"success" : true
}Rate Limit
The base rate limit is 10 requests/min.
Get Real-Time Quotes
Request Class:QuoteRealTimeQuoteRequest
Description
Retrieve real-time quotes for cryptocurrencies.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | list | Yes | List of cryptocurrency symbols (max 50) |
| sec_type | string | Yes | Must be CC |
Response
com.tigerbrokers.stock.openapi.client.https.response.quote.QuoteRealTimeQuoteResponsesource
Data can be accessed via: QuoteRealTimeQuoteResponse.getRealTimeQuoteItems()
Returns a list of RealTimeQuoteItem.
| Field | Type | Description |
|---|---|---|
| symbol | string | Cryptocurrency symbol |
| open | Double | Open price |
| high | Double | High price |
| low | Double | Low price |
| close | Double | Close price |
| preClose | Double | Previous close price |
| latestPrice | Double | Latest traded price |
| latestTime | Long | Latest trade timestamp |
| volumeDecimal | Double | Trading volume (original precision) |
| change | Double | Price change |
| changeRate | Double | Change rate |
Example Request
List<String> symbols = new ArrayList<>();
symbols.add("BTC.USD");
symbols.add("ETH.USD");
QuoteRealTimeQuoteRequest request = QuoteRealTimeQuoteRequest.newCcRequest(symbols);
QuoteRealTimeQuoteResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(Arrays.toString(response.getRealTimeQuoteItems().toArray()));
} else {
System.out.println("response error:" + response.getMessage());
}Example Response
{
"code" : 0,
"message" : "success",
"timestamp" : 1770032332142,
"data" : [ {
"symbol" : "BTC.USD",
"open" : 77517.15,
"high" : 78366.03,
"low" : 74550.0,
"close" : 77517.15,
"preClose" : 77517.15,
"latestPrice" : 77839.45,
"latestTime" : 1770032330750,
"volumeDecimal" : 697.55996,
"change" : 322.3,
"changeRate" : 0.004157789598817811
}, {
"symbol" : "ETH.USD",
"open" : 2314.18,
"high" : 2374.87,
"low" : 2156.8,
"close" : 2313.05,
"preClose" : 2313.05,
"latestPrice" : 2286.79,
"latestTime" : 1770032330750,
"volumeDecimal" : 25668.0994,
"change" : -26.26,
"changeRate" : -0.011352975508527702
} ],
"success" : true
}Rate Limit
The base rate limit is 120 requests/min.
Get Candlestick Bars
Request Class:QuoteKlineRequest
Description
Retrieve cryptocurrency candlestick bars (K-line data) for up to 10 symbols. Each symbol returns at most 1,200 bars. Cryptocurrency queries do not support the SDK's withDate date-specific mode; use repeated requests over non-overlapping time ranges for a longer range.
Parameters
| Parameter | Type | Description |
|---|---|---|
| symbols | list | Cryptocurrency symbols (max 10) |
| period | KType | 1min, 3min, 5min, 15min, 30min, 60min, 120min, 240min, day, week, month, or year; null defaults to day |
| begin_time | long | Start timestamp in milliseconds; the overload without times sends -1 |
| end_time | long | End timestamp in milliseconds; the overload without times sends -1 |
| limit | int | Records per symbol; default 300, maximum 1,200. Non-positive values use 300 and larger values are capped at 1,200. |
Response
com.tigerbrokers.stock.openapi.client.https.response.quote.QuoteKlineResponsesource
Returns a list of KlineItem objects:
| Field | Type | Description |
|---|---|---|
| symbol | string | Cryptocurrency symbol |
| period | string | K-line interval |
| nextPageToken | string | Next-page token in the response |
| items | array | Candlestick bars represented by KlinePoint objects. See the fields below. |
KlinePoint bar fields:
| Field | Type | Description |
|---|---|---|
| close | Double | Close price |
| high | Double | High price |
| low | Double | Low price |
| open | Double | Open price |
| time | Long | Timestamp in milliseconds |
| volumeDecimal | Double | Trading volume with decimal precision |
Crypto returns decimal volume in volumeDecimal and may omit the integer volume field. Stocks return integer volume and do not return volumeDecimal.
The specific fields can be accessed via the object's getter methods, such as getSymbol().
Example Request
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
List<String> symbols = Arrays.asList("BTC.USD", "ETH.USD");
KType kType = KType.min1;
String startTime = "2026-01-29";
String endTime = "2026-01-30";
TimeZoneId timeZoneId = TimeZoneId.NewYork;
int limit = 200;
QuoteKlineRequest request = QuoteKlineRequest.newRequest(symbols, kType, startTime, endTime, timeZoneId)
.withLimit(limit)
.withSecType(SecType.CC);
QuoteKlineResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(JSONObject.toJSONString(response));
} else {
System.out.println("response error:" + response.getMessage());
}Example Response
{
"code" : 0,
"message" : "success",
"timestamp" : 1770037196690,
"data" : [ {
"symbol" : "BTC.USD",
"period" : "1min",
"items" : [ {
"open" : 82808.12,
"close" : 82780.21,
"high" : 82808.12,
"low" : 82772.25,
"time" : 1769749140000,
"volumeDecimal" : 0.29135
}, {
"open" : 82810.81,
"close" : 82803.37,
"high" : 82810.81,
"low" : 82803.37,
"time" : 1769749080000,
"volumeDecimal" : 0.04455
}, {
"open" : 82823.91,
"close" : 82810.17,
"high" : 82823.91,
"low" : 82791.82,
"time" : 1769749020000,
"volumeDecimal" : 0.0493
} ]
}, {
"symbol" : "ETH.USD",
"period" : "1min",
"items" : [ {
"open" : 2751.48,
"close" : 2748.85,
"high" : 2751.75,
"low" : 2746.08,
"time" : 1769749140000,
"volumeDecimal" : 21.495
}, {
"open" : 2751.84,
"close" : 2751.83,
"high" : 2751.84,
"low" : 2751.83,
"time" : 1769749080000,
"volumeDecimal" : 0.022
}, {
"open" : 2753.08,
"close" : 2753.07,
"high" : 2753.08,
"low" : 2753.07,
"time" : 1769749020000,
"volumeDecimal" : 0.4104
} ]
} ],
"success" : true
}Rate Limit
The base rate limit is 60 requests/min.
Get Intraday Timeline Quotes
Request Class:QuoteTimelineRequest
Description
Retrieve cryptocurrency timeline data for up to 10 symbols. The SDK uses TimeLineType.day and TimeLineType.day5; day5 is sent as 5day and converted back to day5 in the response.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | array | Yes | Cryptocurrency symbols, maximum 10 |
| period | TimeLineType | No | day or day5; defaults to day. day5 is sent as 5day. |
| begin_time | long | No | Start timestamp (in milliseconds). Defaults to the current trading day |
Response
com.tigerbrokers.stock.openapi.client.https.response.quote.QuoteTimelineResponsesource
The returned data can be accessed via: QuoteTimelineResponse.getTimelineItems()
TimelineItem Fields:
| Field | Type | Description |
|---|---|---|
| symbol | string | Cryptocurrency symbol |
| period | string | day or day5 |
| preClose | Double | Previous close price |
| intraday | TimelineRange | Timeline range |
The specific fields of TimelineItem can be accessed using getter methods such as getSymbol().
TimelineRange fields:
| Field | Type | Description |
|---|---|---|
| beginTime | Long | Requested start in milliseconds |
| endTime | Long | Current time when the response is assembled, in milliseconds |
| items | List<TimelinePoint> | Timeline points |
TimelinePoint fields:
| Field | Type | Description |
|---|---|---|
| price | Double | Latest price |
| avgPrice | Double | Average trade price; crypto data may return null |
| time | Long | Timestamp in milliseconds |
| volumeDecimal | Double | Trading volume (original precision retained) |
The current crypto timeline returns decimal volume in volumeDecimal and may omit the integer volume field. This field does not apply to stocks or historical timelines.
Example Request
TigerHttpClient client = TigerHttpClient.getInstance().clientConfig(
ClientConfig.DEFAULT_CONFIG);
List<String> symbols = new ArrayList<>();
symbols.add("BTC.USD");
symbols.add("ETH.USD");
QuoteTimelineRequest request =
QuoteTimelineRequest.newCcRequest(symbols, System.currentTimeMillis() - 60 * 60 * 1000);
QuoteTimelineResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println(Arrays.toString(response.getTimelineItems().toArray()));
} else {
System.out.println("response error:" + response.getMessage());
}Example Response
{
"code" : 0,
"message" : "success",
"timestamp" : 1770040737146,
"data" : [ {
"symbol" : "BTC.USD",
"period" : "day",
"preClose" : 77517.15,
"intraday" : {
"items" : [ {
"price" : 77917.75,
"avgPrice" : null,
"time" : 1770040440000,
"volumeDecimal" : 0.01902
}, {
"price" : 77999.83,
"avgPrice" : null,
"time" : 1770040500000,
"volumeDecimal" : 0.06813
}, {
"price" : 78150.0,
"avgPrice" : null,
"time" : 1770040560000,
"volumeDecimal" : 0.06568
}, {
"price" : 78159.46,
"avgPrice" : null,
"time" : 1770040620000,
"volumeDecimal" : 0.07281
} ],
"beginTime" : 1770040435799,
"endTime" : 1770040737143
}
}, {
"symbol" : "ETH.USD",
"period" : "day",
"preClose" : 2313.05,
"intraday" : {
"items" : [ {
"price" : 2321.92,
"avgPrice" : null,
"time" : 1770040440000,
"volumeDecimal" : 8.9763
}, {
"price" : 2322.16,
"avgPrice" : null,
"time" : 1770040500000,
"volumeDecimal" : 1.1757
}, {
"price" : 2325.55,
"avgPrice" : null,
"time" : 1770040560000,
"volumeDecimal" : 25.7984
}, {
"price" : 2326.31,
"avgPrice" : null,
"time" : 1770040620000,
"volumeDecimal" : 13.1475
} ],
"beginTime" : 1770040435799,
"endTime" : 1770040737143
}
} ],
"success" : true
}Rate Limit
The base rate limit is 120 requests/min.
Updated 12 days ago
