EMA API — Faster-Reacting Moving Averages

EMA(10, 20, 50) ready to drop into your strategy. Faster reaction to recent price moves than SMA. Pre-calculated, live, and JSON-formatted.

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

The Exponential Moving Average weights recent price data more heavily than older data — making it more responsive to price changes than a simple moving average. Traders use EMA_10/20/50 crossovers to time trend entries, and "EMA stack" alignment (10 above 20 above 50) to confirm trend direction. TickAtlas pre-calculates all three from our live data so your bot queries a number, not a computation problem.

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

Three EMAs. One Request Each.

cURL Request
curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicators?symbol=EURUSD&timeframe=H1&category=trend"
Python EMA alignment check
import requests

r = requests.get(
    "https://tickatlas.com/v1/indicators",
    headers={"X-API-Key": "YOUR_KEY"},
    params={"symbol": "EURUSD", "timeframe": "H1", "category": "trend"},
)
d = r.json()["data"]["indicators"]   # flat map of bare floats

# EMA alignment check — stacked EMAs signal a strong trend
if d["EMA_10"] > d["EMA_20"] > d["EMA_50"]:
    trend = "BULLISH_ALIGNED"
elif d["EMA_10"] < d["EMA_20"] < d["EMA_50"]:
    trend = "BEARISH_ALIGNED"
else:
    trend = "MIXED"
print(trend)
200 OK Response
{
  "success": true,
  "data": {
    "symbol": "EURUSD",
    "timeframe": "H1",
    "indicators": {
      "EMA_10": 1.0872, "EMA_20": 1.0858, "EMA_50": 1.0831, "...": "20 more trend keys"
    },
    "count": 23,
    "updated_at": 1711548000
  }
}

Available EMA indicators

  • EMA_10 — Fast EMA, 10-period
  • EMA_20 — Medium EMA, 20-period
  • EMA_50 — Slow EMA, 50-period

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's the difference between EMA and SMA in this API?

Both are available. EMA (exponential) weights recent prices more heavily, making it faster to react to price changes. SMA (simple) treats all periods equally, producing a smoother but slower line. EMA_20 and SMA_20 will diverge during fast-moving markets.

Can I detect EMA crossovers via the API?

Yes — query EMA_10 and EMA_20, then compare. If EMA_10 is above EMA_20, the short-term trend is bullish. For golden cross detection (EMA50 crossover), query EMA_20 and EMA_50 and compare on successive calls or use the history endpoint.

How accurate is the EMA compared to standard trading platforms?

The values are computed directly from our price data, using the same smoothing factor (2 / (period + 1)). They match what you'd see on a standard trading platform chart for the same symbol and timeframe.

Which symbols support EMA_10, EMA_20, and EMA_50?

All 150+ symbols in our data — major Forex pairs (EURUSD, GBPUSD, USDJPY), gold (XAUUSD), silver (XAGUSD), BTCUSD, and more. Use GET /v1/symbols to see the live symbol list.

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.