CCI API — Live Commodity Channel Index

CCI values above +100 signal overbought; below -100 signal oversold. Pull both CCI_14 and CCI_20 from REST without managing typical-price calculations.

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 CCI API?

The Commodity Channel Index measures how far price has deviated from its statistical average, expressed as a multiple of mean absolute deviation. Values above +100 indicate a strongly overbought condition or the start of a new trend; below -100, oversold. Originally designed for commodities, CCI works equally well on Forex and crypto. TickAtlas pre-calculates CCI_14 and CCI_20 from our live data so your bot queries final values, not raw OHLC arrays.

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=CCI_14&timeframe=H1" \
  -H "X-API-Key: YOUR_API_KEY"
200 OK
{
  "success": true,
  "data": {
    "symbol": "EURUSD",
    "timeframe": "H1",
    "indicator": "CCI_14",
    "value": 125.3,
    "bid": 1.08401,
    "ask": 1.08414,
    "updated_at": 1711548000,
    "server_time": "2024-03-27T14:00:00+00:00"
  }
}

Two Periods. One Endpoint Each.

cURL Request
curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=CCI_20&timeframe=H1"
Python CCI zone detection
import requests

r = requests.get(
    "https://tickatlas.com/v1/indicator",
    headers={"X-API-Key": "YOUR_KEY"},
    params={"symbol": "EURUSD", "indicator": "CCI_20", "timeframe": "H1"},
)
cci = r.json()["data"]["value"]

# CCI zone detection
if cci > 100:
    zone = "OVERBOUGHT"
elif cci < -100:
    zone = "OVERSOLD"
else:
    zone = "NEUTRAL"
print(zone)
200 OK Response
{
  "success": true,
  "data": {
    "symbol": "EURUSD",
    "timeframe": "H1",
    "indicator": "CCI_20",
    "value": 98.7,
    "bid": 1.08401,
    "ask": 1.08414,
    "updated_at": 1711548000,
    "server_time": "2024-03-27T14:00:00+00:00"
  }
}

Available CCI indicators

  • CCI_14 — 14-period CCI (standard)
  • CCI_20 — 20-period CCI (smoother)

CCI interpretation:

Above +100 — overbought / strong bullish trend

Below -100 — oversold / strong bearish trend

Between ±100 — normal price range

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.

Why does the CCI API return values like +142 or -250?

Unlike RSI or Stochastic, CCI is not bounded to a 0–100 range. Values can theoretically go to any extreme. The ±100 levels are conventional thresholds — extreme readings like ±200 indicate very strong momentum conditions.

Is CCI useful for Forex pairs, not just commodities?

Yes — despite the name, CCI is widely used on all markets. It works particularly well on trending Forex pairs and gold (XAUUSD). The ±100 thresholds remain the standard reference points regardless of the instrument.

What's the difference between CCI_14 and CCI_20?

CCI_14 reacts faster and crosses ±100 more frequently. CCI_20 produces fewer, higher-quality signals. Compare both: if both exceed +100 simultaneously, it's a stronger confirmation of overbought pressure.

Can I use CCI to identify divergence?

Yes — query CCI_14 history via /v1/indicator/history and compare the CCI trend to the price trend. If price makes a new high but CCI_14 makes a lower high, that's bearish divergence — a potential reversal signal.

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.