Pre-Calculated, Redis-Cached
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
Get upper, middle, lower band, and band-width as JSON. Pre-calculated using 20-period SMA and 2 standard deviations. Spot squeezes before the breakout.
Bollinger Bands place an upper and lower envelope around a 20-period moving average based on standard deviation. When the bands contract (squeeze), it signals a period of low volatility — often a precursor to a sharp move. Our API delivers BB_upper, BB_middle, BB_lower, and BB_width pre-calculated from our live data and refreshed on each candle close. Build breakout alerts, mean-reversion bots, or volatility dashboards without touching a single candle.
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
M1, M5, M15, M30, H1, H4, D1 — the same endpoint serves scalpers and position traders alike.
EURUSD, GBPUSD, XAUUSD, BTCUSD, USDJPY — data available for every symbol in our data.
curl -X GET \
"https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=BB_upper&timeframe=H1" \
-H "X-API-Key: YOUR_API_KEY" {
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicator": "BB_upper",
"value": 1.08512,
"bid": 1.08401,
"ask": 1.08414,
"updated_at": 1711548000,
"server_time": "2024-03-27T14:00:00+00:00"
}
} curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicators?symbol=EURUSD&timeframe=H1&category=volatility"import requests
r = requests.get(
"https://tickatlas.com/v1/indicators",
headers={"X-API-Key": "YOUR_KEY"},
params={"symbol": "EURUSD", "timeframe": "H1", "category": "volatility"},
)
d = r.json()["data"]["indicators"] # flat map of bare floats
price = 1.0925
# Squeeze + breakout detection
if price > d["BB_upper"]:
signal = "BREAKOUT_UP"
elif price < d["BB_lower"]:
signal = "BREAKOUT_DOWN"
else:
signal = "INSIDE_BANDS"
print(signal){
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicators": {
"BB_upper": 1.0921, "BB_middle": 1.0865, "BB_lower": 1.0809,
"BB_width": 0.0112, "ATR_14": 0.00121, "ATR_7": 0.00138,
"StdDev_20": 0.00082
},
"count": 7,
"updated_at": 1711548000
}
}Available BB indicators
Plug into any stack
Every new account starts with $2.50 of pay-as-you-go credit and no card. Monthly plans add a flat monthly price, WebSocket streaming and support.
Landing pages convert; documentation closes the loop. These are the routes a developer usually needs next.
Start from the developer portal and map the API families your product needs.
Open docsMake the first authenticated request and validate the setup end to end.
Read quickstartRequest and response contracts for quote, indicator, summary and calendar.
Browse referenceHow the API drops into ChatGPT, Claude, Discord, n8n, Zapier and Sheets.
See integrationsStraight answers on limits, coverage and how the endpoint behaves in production.
The standard 20-period SMA with 2 standard deviations (20,2). This is the widely accepted default and matches standard platforms's built-in Bollinger Bands indicator. Custom period support is on the roadmap.
Query BB_width over time and monitor when it falls below a threshold relevant to your symbol (e.g., 0.0015 for EURUSD on H1). Use the /v1/indicator/history endpoint to retrieve historical BB_width values and calibrate your squeeze threshold.
Absolutely. Both are on the same /v1/indicator endpoint with the same request format. Query BB_upper, BB_lower, and RSI_14 in parallel — common confluence: price touching upper band + RSI above 70 = overbought signal.
Yes — BB_middle is the 20-period simple moving average, identical to SMA_20. You can query either indicator name to get the same value.
Sign up, grab your API key, make your first request.
Every new account starts with $2.50 of pay-as-you-go credit. No card required.