Bollinger Bands API — Squeeze & Breakout Detection

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.

No credit card$2.50 PAYG credit on sign up
15+API endpoints
42Indicator series
M1–D17 timeframes
$2.50PAYG starting credit
Why TickAtlas

What is the Bollinger Bands API?

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.

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.

7 Timeframes

M1, M5, M15, M30, H1, H4, D1 — the same endpoint serves scalpers and position traders alike.

Forex, Crypto, Commodities

EURUSD, GBPUSD, XAUUSD, BTCUSD, USDJPY — data available for every symbol in our data.

One Request. Instant Data.

REQUEST
curl -X GET \
  "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=BB_upper&timeframe=H1" \
  -H "X-API-Key: YOUR_API_KEY"
200 OK
{
  "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"
  }
}

Four Band Values. One Call.

cURL Request
curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicators?symbol=EURUSD&timeframe=H1&category=volatility"
Python Squeeze + breakout detection
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)
200 OK Response
{
  "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

  • BB_upper — Upper band (SMA20 + 2σ)
  • BB_middle — Middle band (SMA20)
  • BB_lower — Lower band (SMA20 − 2σ)
  • BB_width — Band width (upper − lower)

Plug into any stack

  • ChatGPT Custom GPTs
  • Claude Tools
  • Python / pandas
  • Node.js
  • Discord bots
  • Slack webhooks
  • n8n
  • Zapier
  • Google Sheets
Pricing

Start on pay-as-you-go, upgrade when the traffic justifies it.

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.

Pay as you go
$2.50 credit No card required to start
  • $2.50 of credit included
  • Every REST endpoint except raw ticks
  • No card required, no overage
  • 10 API keys
See plan details
Starter
$29 per month · 10,000 requests/day · 120/min
  • Every REST endpoint except raw ticks
  • WebSocket streaming, 5 symbols
  • Released calendar actuals
  • Email support
  • 3 API keys
See plan details
Frequently asked questions

What developers ask first.

Straight answers on limits, coverage and how the endpoint behaves in production.

What BB parameters does the API use?

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.

How do I detect a Bollinger Band squeeze?

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.

Can I combine Bollinger Bands with RSI from the same API?

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.

Is BB_middle the same as SMA_20?

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.

Start building

Start Building in 5 Minutes

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.