Skip to content

List price buckets​

GET
/v1/public/{currencyPair}/buckets

Public: no API key needed. Send the request as is, without signing it.

Returns the open, high, low and close prices and traded volume of a currency pair in buckets (candles) of periodSeconds, newest first. The current, unfinished bucket is included unless you skip results or endTime is in the past; responses are cached for up to 5 seconds.

Parameters​

Path Parameters

currencyPair*

Currency pair symbol, e.g. BTCZAR.

Type
string
Required
Example"BTCZAR"

Query Parameters

periodSeconds

Length of each bucket in seconds: 60, 300, 900, 1800, 3600, 21600 or 86400.

Type
integer
Valid values
60300900180036002160086400
Example60
Default
60
startTime

Only buckets that start at or after this time, as an ISO 8601 timestamp or Unix seconds. A value in neither format is ignored.

Type
string
Example"2026-10-23T00:00:00Z"
endTime

Only buckets that start at or before this time, as an ISO 8601 timestamp or Unix seconds. A value in neither format is ignored.

Type
string
Example"2026-10-23T09:00:00Z"
skip

Number of buckets to skip, for paging.

Type
integer
Example0
Default
0
limit

Maximum number of buckets to return, up to 400.

Type
integer
Example300
Default
300
includeEmpty

false to leave out buckets with no trades.

Type
boolean
Examplefalse
Default
true

Responses​

OK

application/json
JSON
[
{
"currencyPairSymbol": "BTCZAR",
"bucketPeriodInSeconds": 60,
"startTime": "2026-10-23T08:51:00Z",
"open": "1849800",
"high": "1850012",
"low": "1849800",
"close": "1849900",
"volume": "0.0517",
"quoteVolume": "95638.42"
},
{
"currencyPairSymbol": "BTCZAR",
"bucketPeriodInSeconds": 60,
"startTime": "2026-10-23T08:50:00Z",
"open": "1849500",
"high": "1849900",
"low": "1849500",
"close": "1849800",
"volume": "0.2105",
"quoteVolume": "389372.3"
}
]

Samples​

Errors

HTTPErrorWhen
400-21INVALID_CURRENCY_PAIRcurrencyPair isn't a currency pair VALR supports.
400-11INVALID_REQUESTperiodSeconds isn't one of the supported periods, skip or limit isn't a whole number, limit is more than 400, or includeEmpty isn't true or false.

Public endpoints are not signed, so they never return authentication errors.