API Docs

Authentication

Every request must include your API key in the X-API-Key header, or as a Bearer token.

Via X-API-Key header

Via Authorization header

GET /api/v1/prices All live prices

Returns latest price for every asset visible in the API. No parameters required.

Request

Response

{
  "data": [
    {
      "symbol": "BTC",
      "quote_currency": "USDT",
      "pair": "BTC/USDT",
      "price": 105230.5,
      "source": "nobitex",
      "confidence": 0.95,
      "change_24h": 2.34,
      "volume_24h": 184200000,
      "fetched_at": "2026-05-21T13:00:00Z"
    }
  ]
}
GET /api/v1/prices/{symbol}/{quote} Single pair price

Get latest price for a specific trading pair. Symbol and quote are case-insensitive.

symbol — e.g. BTC, USD, GOLD18
quote — e.g. USDT, TMN, USD

Request

Response

{
  "data": {
    "symbol": "BTC",
    "quote_currency": "USDT",
    "pair": "BTC/USDT",
    "price": 105230.5,
    "source": "nobitex",
    "confidence": 0.95,
    "change_24h": 2.34,
    "fetched_at": "2026-05-21T13:00:00Z"
  }
}
GET /api/v1/history/{symbol}/{quote}/candles OHLC candles

Returns 1-minute OHLC candlestick data for charting.

from — Unix timestamp (seconds)
to — Unix timestamp (seconds)
limit — Max candles (default 100, max 1000)

Request — last 1 hour of BTC/USDT

Response

{
  "data": [
    {
      "bucket": "2026-05-21T13:00:00Z",
      "open": 105100.0,
      "high": 105400.0,
      "low": 105050.0,
      "close": 105230.5,
      "count": 12
    }
  ]
}
GET /api/v1/history/{symbol}/{quote}/ticks Raw price ticks

Returns raw price ticks (max 15 min retention). Useful for high-resolution data.

Request

Response

{
  "data": [
    {
      "price": 122450.0,
      "source": "tgju",
      "confidence": 0.92,
      "fetched_at": "2026-05-21T13:09:30Z"
    }
  ]
}
GET /api/v1/history/{symbol}/{quote}/indicators Technical indicators

Calculates technical indicators (RSI, MACD, EMA, Bollinger Bands, ATR, Stochastic, CCI, Williams %R, OBV, SMA) server-side from stored candle history.

Query parameters

interval — Candle interval: 1m 5m 15m 1h 4h 1d (default: 1h)
from / to — Time range in RFC3339
indicators — Comma-separated: rsi, rsi7, rsi21, macd, ema9, ema20, ema50, ema200, sma20, sma50, sma200, bb, atr, stoch, cci, williamsr, obv

Request

Response

{
  "symbol": "BTC",
  "quote": "USDT",
  "interval": "1h",
  "from": "2024-01-01T00:00:00Z",
  "to": "2024-01-02T00:00:00Z",
  "data": [
    {
      "time": "2024-01-01T01:00:00Z",
      "value": {
        "rsi_14": 58.34,
        "macd_line": 124.5,
        "signal": 118.2,
        "histogram": 6.3,
        "bb_upper": 42800.0,
        "bb_middle": 42500.0,
        "bb_lower": 42200.0,
        "ema_20": 42480.5,
        "ema_50": 42150.3
      }
    }
  ]
}
WS /ws/prices Real-time price stream

Connect once, receive price updates as they arrive from crawlers. No polling needed.

Connect with API key as query param

JavaScript — browser / Node.js

Python

Message format (pushed on every price update)

{
  "BTC/USDT": {
    "symbol": "BTC",
    "quote_currency": "USDT",
    "price": 105230.5,
    "source": "nobitex",
    "confidence": 0.95,
    "change_24h": 2.34,
    "fetched_at": "2026-05-21T13:10:00Z"
  },
  "USD/TMN": {
    "symbol": "USD",
    "quote_currency": "TMN",
    "price": 122450.0,
    "source": "tgju",
    "confidence": 0.92,
    "fetched_at": "2026-05-21T13:10:01Z"
  }
}

Rate limit: 60 messages/min per user (API key auth). 30 messages/min for unauthenticated connections (IP-based). Reconnect with exponential back-off on disconnect.

Live Test

Waiting for messages…