curl --request GET \
--url https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbandsimport requests
url = "https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands', 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://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"network": "ethereum",
"pool_address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b",
"indicator": "bbands",
"interval": "1h",
"parameters": {
"period": 20,
"std_dev": 2
},
"data": [
{
"timestamp": "2026-10-07T10:00:00Z",
"upper": 125.1,
"middle": 119.8,
"lower": 114.5
}
],
"has_next_page": false,
"next_cursor": ""
}Get Bollinger Bands for a pool.
Bollinger Bands around a simple moving average of candle closes. Computed from completed pool OHLCV candles.
Paid plans only. Available on Dev, Pro and Enterprise keys. Keyless requests and free keys receive HTTP 403.
Without start the response holds the last limit candles. When
limit cuts the range, next_cursor holds the start of the next page.
curl --request GET \
--url https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbandsimport requests
url = "https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands', 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://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dexpaprika.com/networks/{network}/pools/{pool_address}/indicators/bbands")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"network": "ethereum",
"pool_address": "0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b",
"indicator": "bbands",
"interval": "1h",
"parameters": {
"period": 20,
"std_dev": 2
},
"data": [
{
"timestamp": "2026-10-07T10:00:00Z",
"upper": 125.1,
"middle": 119.8,
"lower": 114.5
}
],
"has_next_page": false,
"next_cursor": ""
}Path Parameters
Unique pool address or identifier. Such as 0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b for WETH / USDT on ethereum.
Query Parameters
Candle interval the indicator is computed on. 1d is the same as 24h.
1m, 5m, 10m, 15m, 30m, 1h, 6h, 12h, 24h, 1d Maximum number of values to return.
1 <= x <= 1000First candle to return. Unix seconds, a relative offset from now such as -24h with units s, m, h, d, RFC3339 or a date at 00:00 UTC. Defaults to limit candles before end, cut to the last 7 days for keyless callers and free keys.
End of the range, exclusive. Same formats as start. Must not be in the future. Defaults to now.
The next_cursor of the previous page. Cannot be combined with start.
Number of candles in the moving average window.
2 <= x <= 200Band width in standard deviations.
x <= 10Response
Bollinger Bands values, oldest first.
Set on pool indicators.
Set on token indicators.
rsi, ema, macd, bbands, vwap Indicator parameters used, defaults included.
Show child attributes
Show child attributes
Pass as cursor to get the next page. Empty on the last page.
Was this page helpful?