🔍

TAAPI.IO is a REST and WebSocket API that returns technical indicator values — RSI, MACD, EMA, and 260+ more — for crypto and stock markets. You send an exchange, symbol, and timeframe; you get indicator values back.

1. Get an API key

Sign up at taapi.io and copy your API key from the dashboard. The free plan allows 1 request every 15 seconds — enough to explore the API.

2. Make a request

Every request requires a Authorization: Bearer <key> header. Here is a request for the current RSI on BTC/USDT 1-hour candles from Binance:

curl -G https://v2.taapi.io/indicator/rsi \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTC/USDT" \
  --data-urlencode "timeframe=1h"
const res = await fetch(
  'https://v2.taapi.io/indicator/rsi?exchange=binance&symbol=BTC%2FUSDT&timeframe=1h',
  { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);
const data = await res.json();
console.log(data); // { value: [62.34], timestamp: [1708300800] }
import requests

resp = requests.get(
    'https://v2.taapi.io/indicator/rsi',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    params={'exchange': 'binance', 'symbol': 'BTC/USDT', 'timeframe': '1h'}
)
print(resp.json())  # {'value': [62.34], 'timestamp': [1708300800]}

3. Read the response

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

JSON Response
{
  "value":     [62.34],
  "timestamp": [1708300800]
}

value[0] is the indicator result. timestamp[0] is the Unix timestamp of the candle it was computed on. To get multiple historical values, add &results=10 — see Historical Values.

What's next

Base URL

Production
https://v2.taapi.io

All endpoints are relative to this base. There is no /api/v1 prefix — use paths like /indicator/rsi, /bulk, /candles directly.