🔍

Average Daily Range (ADR) is the average high-to-low range of the previous candles, in price and as a percentage (ADR%). Use the 1d timeframe for the classic daily version. Also returns how much of a normal range the current candle has already covered, a common gauge for day-trading targets and stops.

Common parameters

All indicator requests share these parameters. See Single Indicator for details.

NameTypeRequiredDefaultDescription
exchangestringYes—Exchange identifier, e.g. binance, bybit.
symbolstringYes—Trading pair, e.g. BTCUSDT.
timeframestringYes—Candle interval: 1m, 5m, 15m, 1h, 4h, 1d, 1w.
resultsintegerNo1Number of historical values. Use max for all available.
backtrackintegerNo0Candles to skip from most recent.

Indicator parameters

NameTypeRequiredDefaultDescription
periodintegerNo14Number of completed candles to average (the current candle is not included).

Example

curl -G https://v2.taapi.io/indicator/adr \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTCUSDT" \
  --data-urlencode "timeframe=1h" \
  --data-urlencode "period=14"
const res = await fetch(
  'https://v2.taapi.io/indicator/adr?exchange=binance&symbol=BTCUSDT&timeframe=1h',
  { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);
const data = await res.json();
import requests

resp = requests.get(
    'https://v2.taapi.io/indicator/adr',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    params={'exchange': 'binance', 'symbol': 'BTCUSDT', 'timeframe': '1h'}
)
print(resp.json())

Response

Results are always wrapped in arrays, even when only one value is returned.

200 OK
{
  "value": [1921.36],
  "valuePercent": [2.41],
  "currentRange": [1089.94],
  "rangeUsedPercent": [56.73],
  "timestamp": [1793577600]
}

Example: exchange=binance&symbol=BTC/USDT&timeframe=1d. Over the last 14 days BTC moved about 1,921 USDT (2.41%) from high to low on an average day; today's range so far is 1,090 USDT, about 57% of a normal day.

The average uses the period candles before the current one, which is usually still forming. Use timeframe=1d for the classic daily ADR; other timeframes give the average range per candle.

Errors

Response
{
  "value": [1921.36],
  "valuePercent": [2.41],
  "currentRange": [1089.94],
  "rangeUsedPercent": [56.73],
  "timestamp": [1793577600]
}

Data is being fetched. Retry after 1–2 seconds.

Response
{ "pending": true, "key": "ta:binance:BTCUSDT:1h:adr:..." }
Response
{ "error": "Missing required: exchange, symbol, timeframe" }
Response
{ "error": "Invalid or missing API key." }
Response
{ "error": "Rate limit exceeded. Your plan allows 30 requests per 15 seconds." }

← Back to Indicators Directory