Skip to main content

Klines

Candlestick (OHLCV) data for a symbol over a given time range and interval.

Endpoint

GET /v1/market/klines

Weight:

limitWeight
≤ 1001
101 – 5002
501 – 10005
1001 – 150010

Authentication: Public (optional signing).

Query parameters

NameTypeMandatoryDescription
symbolstringYesTrading pair, uppercase, e.g. BTCUSDT.
intervalenumYesOne of 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M.
startTimeintegerNoStart of range, Unix milliseconds, inclusive.
endTimeintegerNoEnd of range, Unix milliseconds, inclusive.
limitintegerNoNumber of klines to return. Default 500, maximum 1500.

If neither startTime nor endTime is provided, the most recent limit klines are returned. If only startTime is provided, limit klines starting at or after startTime are returned. Klines are returned in ascending open_time order.

Response

Each kline is an array. The response is a 2D array of klines:

[
[
1745920800000,
"67310.00",
"67450.50",
"67280.20",
"67432.15",
"182.4521",
1745920859999,
"12298745.33",
1842,
"98.3211",
"6628412.10"
],
[
1745920860000,
"67432.15",
"67510.00",
"67410.00",
"67498.80",
"201.7710",
1745920919999,
"13612498.55",
2014,
"112.4421",
"7588321.42"
]
]

Response fields

Each row is an array; values are positional:

IndexFieldTypeDescription
0open_timeintegerBar open time, Unix milliseconds.
1openstring (decimal)Open price.
2highstring (decimal)High price during the bar.
3lowstring (decimal)Low price during the bar.
4closestring (decimal)Close price.
5volumestring (decimal)Total traded volume in base asset.
6close_timeintegerBar close time, Unix milliseconds (last ms of the bar).
7quote_volumestring (decimal)Total traded volume in quote asset.
8tradesintegerNumber of trades in the bar.
9taker_buy_volumestring (decimal)Volume bought by takers (base asset).
10taker_buy_quote_volumestring (decimal)Volume bought by takers (quote asset).

Errors

HTTPCodeMeaning
400INVALID_PARAMETERMissing symbol/interval, unknown interval, or limit out of range.
400UNKNOWN_SYMBOLSymbol does not exist.
400INVALID_TIME_RANGEstartTime greater than endTime.
429RATE_LIMITEDPer-key request weight exceeded.

Example

curl -s "https://api.pipai.io/v1/market/klines?symbol=BTCUSDT&interval=1m&limit=500"
curl -s "https://api.pipai.io/v1/market/klines?symbol=BTCUSDT&interval=1h&startTime=1745846400000&endTime=1745923200000"