Crypto

Get Symbol List

Request Class:QuoteSymbolRequest

Description

Retrieve the list of all cryptocurrency symbols.

Parameters

ParameterTypeRequiredDescription
sec_typestringYesMust 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

ParameterTypeRequiredDescription
symbolslistYesList of cryptocurrency symbols (max 50)
sec_typestringYesMust be CC

Response

com.tigerbrokers.stock.openapi.client.https.response.quote.QuoteRealTimeQuoteResponsesource

Data can be accessed via: QuoteRealTimeQuoteResponse.getRealTimeQuoteItems()

Returns a list of RealTimeQuoteItem.

FieldTypeDescription
symbolstringCryptocurrency symbol
openDoubleOpen price
highDoubleHigh price
lowDoubleLow price
closeDoubleClose price
preCloseDoublePrevious close price
latestPriceDoubleLatest traded price
latestTimeLongLatest trade timestamp
volumeDecimalDoubleTrading volume (original precision)
changeDoublePrice change
changeRateDoubleChange 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

ParameterTypeDescription
symbolslistCryptocurrency symbols (max 10)
periodKType1min, 3min, 5min, 15min, 30min, 60min, 120min, 240min, day, week, month, or year; null defaults to day
begin_timelongStart timestamp in milliseconds; the overload without times sends -1
end_timelongEnd timestamp in milliseconds; the overload without times sends -1
limitintRecords 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:

FieldTypeDescription
symbolstringCryptocurrency symbol
periodstringK-line interval
nextPageTokenstringNext-page token in the response
itemsarrayCandlestick bars represented by KlinePoint objects. See the fields below.

KlinePoint bar fields:

FieldTypeDescription
closeDoubleClose price
highDoubleHigh price
lowDoubleLow price
openDoubleOpen price
timeLongTimestamp in milliseconds
volumeDecimalDoubleTrading 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

ParameterTypeRequiredDescription
symbolsarrayYesCryptocurrency symbols, maximum 10
periodTimeLineTypeNoday or day5; defaults to day. day5 is sent as 5day.
begin_timelongNoStart 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:

FieldTypeDescription
symbolstringCryptocurrency symbol
periodstringday or day5
preCloseDoublePrevious close price
intradayTimelineRangeTimeline range

The specific fields of TimelineItem can be accessed using getter methods such as getSymbol().

TimelineRange fields:

FieldTypeDescription
beginTimeLongRequested start in milliseconds
endTimeLongCurrent time when the response is assembled, in milliseconds
itemsList<TimelinePoint>Timeline points

TimelinePoint fields:

FieldTypeDescription
priceDoubleLatest price
avgPriceDoubleAverage trade price; crypto data may return null
timeLongTimestamp in milliseconds
volumeDecimalDoubleTrading 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.




Did this page help you?