curl --request GET \
--url https://test.deribit.com/api/v2/public/get_tradingview_chart_data \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 833,
"method": "public/get_tradingview_chart_data",
"params": {
"instrument_name": "BTC-5APR19",
"start_timestamp": 1554373800000,
"end_timestamp": 1554376800000,
"resolution": "30"
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_tradingview_chart_data"
payload = {
"jsonrpc": "2.0",
"id": 833,
"method": "public/get_tradingview_chart_data",
"params": {
"instrument_name": "BTC-5APR19",
"start_timestamp": 1554373800000,
"end_timestamp": 1554376800000,
"resolution": "30"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 833,
method: 'public/get_tradingview_chart_data',
params: {
instrument_name: 'BTC-5APR19',
start_timestamp: 1554373800000,
end_timestamp: 1554376800000,
resolution: '30'
}
})
};
fetch('https://test.deribit.com/api/v2/public/get_tradingview_chart_data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/public/get_tradingview_chart_data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 833,
'method' => 'public/get_tradingview_chart_data',
'params' => [
'instrument_name' => 'BTC-5APR19',
'start_timestamp' => 1554373800000,
'end_timestamp' => 1554376800000,
'resolution' => '30'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/public/get_tradingview_chart_data"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/public/get_tradingview_chart_data")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_tradingview_chart_data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 833,
"result": {
"volume": [
19.007942601,
20.095877981
],
"cost": [
19000,
23400
],
"ticks": [
1554373800000,
1554375600000
],
"status": "ok",
"open": [
4963.42,
4986.29
],
"low": [
4728.94,
4726.6
],
"high": [
5185.45,
5250.87
],
"close": [
5052.95,
5013.59
]
},
"usIn": 1554381680742493,
"usOut": 1554381680742698,
"usDiff": 205,
"testnet": false
}public/get_tradingview_chart_data
Retrieves publicly available market data formatted for generating TradingView-compatible candle charts. The data includes open, high, low, close (OHLC) prices and volume for specified time intervals.
Use the chart_resolution parameter to specify the candle interval (e.g., 1m, 5m, 1h, 1d). This method provides the standard format used by TradingView and other charting platforms.
curl --request GET \
--url https://test.deribit.com/api/v2/public/get_tradingview_chart_data \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 833,
"method": "public/get_tradingview_chart_data",
"params": {
"instrument_name": "BTC-5APR19",
"start_timestamp": 1554373800000,
"end_timestamp": 1554376800000,
"resolution": "30"
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_tradingview_chart_data"
payload = {
"jsonrpc": "2.0",
"id": 833,
"method": "public/get_tradingview_chart_data",
"params": {
"instrument_name": "BTC-5APR19",
"start_timestamp": 1554373800000,
"end_timestamp": 1554376800000,
"resolution": "30"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 833,
method: 'public/get_tradingview_chart_data',
params: {
instrument_name: 'BTC-5APR19',
start_timestamp: 1554373800000,
end_timestamp: 1554376800000,
resolution: '30'
}
})
};
fetch('https://test.deribit.com/api/v2/public/get_tradingview_chart_data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/public/get_tradingview_chart_data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 833,
'method' => 'public/get_tradingview_chart_data',
'params' => [
'instrument_name' => 'BTC-5APR19',
'start_timestamp' => 1554373800000,
'end_timestamp' => 1554376800000,
'resolution' => '30'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/public/get_tradingview_chart_data"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/public/get_tradingview_chart_data")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_tradingview_chart_data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 833,\n \"method\": \"public/get_tradingview_chart_data\",\n \"params\": {\n \"instrument_name\": \"BTC-5APR19\",\n \"start_timestamp\": 1554373800000,\n \"end_timestamp\": 1554376800000,\n \"resolution\": \"30\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 833,
"result": {
"volume": [
19.007942601,
20.095877981
],
"cost": [
19000,
23400
],
"ticks": [
1554373800000,
1554375600000
],
"status": "ok",
"open": [
4963.42,
4986.29
],
"low": [
4728.94,
4726.6
],
"high": [
5185.45,
5250.87
],
"close": [
5052.95,
5013.59
]
},
"usIn": 1554381680742493,
"usOut": 1554381680742698,
"usDiff": 205,
"testnet": false
}Query Parameters
Instrument name Unique instrument identifier
"BTC-PERPETUAL"
The earliest timestamp to return result from (milliseconds since the UNIX epoch) The timestamp (milliseconds since the Unix epoch)
1536569522277
The most recent timestamp to return result from (milliseconds since the UNIX epoch) The timestamp (milliseconds since the Unix epoch)
1536569522277
Chart bars resolution given in full minutes or keyword 1D (only some specific resolutions are supported)
1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
Status of the query: ok or no_data
ok, no_data Values of the time axis given in milliseconds since UNIX epoch
The timestamp (milliseconds since the Unix epoch)
List of volume bars (in base currency, one per candle)
// todo
List of cost bars (volume in quote currency, one per candle)
// todo
List of prices at open (one per candle)
Price in quote currency
List of prices at close (one per candle)
Price in quote currency
List of highest price levels (one per candle)
Price in quote currency
List of lowest price levels (one per candle)
Price in quote currency
The id that was sent in the request
Was this page helpful?