Angolin Docs

OHLCV endpoints

Two read-only endpoints, both under /v1, both authenticated with X-API-Key — see Authentication.

Conventions

  • A successful response is a bare JSON array of candles — no wrapper object, no total count — ordered by close_ts ascending.
  • Pagination mirrors Binance's klines endpoint exactly, anchor included: there is no cursor or offset parameter. With start, fetch the next page by re-issuing the request with start set to just after the last close_ts you received (paging forward) — this holds even if end is also set and the window is bigger than limit; end only caps how far forward the page may reach, it never relocates the anchor. Without start, limit returns the most recent candles instead — page further back by setting end to just before the earliest close_ts you received. Either way, the row you got at that end of the page is the cursor, and results always come back ordered by close_ts ascending.
  • flag is null, "outlier", or "outlier_excluded" — see Methodology for what the latter two mean.
  • Every field, valid or not, is checked before your call is logged — a request rejected for auth or permission reasons is never counted; see Errors & rate limits.

GET /v1/exchange_ohlcv

Raw candles as reported by a single exchange — no aggregation, no cross-exchange combination.

ParameterTypeRequiredDescription
exchangestringYesExchange natural key, e.g. "binance" — the only exchange seeded today.
intervalstringYesCandle interval: "1m", "1h", or "1d".
basestringYesBase asset ticker, e.g. "BTC".
quotestringYesQuote asset ticker, e.g. "USDT".
startdatetime (ISO 8601)NoOnly candles with close_ts >= start. Anchors the page forward from this point, even with end also set. Omit to anchor on the most recent candles instead — see Conventions.
enddatetime (ISO 8601)NoOnly candles with close_ts <= end. Omit for the latest available.
limitintegerNoRows to return, 1–1000. Default 500 — a real SQL LIMIT, not a post-hoc truncation.
curl "https://api.angolin.com/v1/exchange_ohlcv?exchange=binance&interval=1h&base=BTC&quote=USDT&start=2026-09-22T00:00:00Z&limit=2" \
  -H "X-API-Key: YOUR_API_KEY"
[
  {
    "exchange": "binance",
    "interval": "1h",
    "base": "BTC",
    "quote": "USDT",
    "close_ts": "2026-09-22T13:00:00Z",
    "open": 63250.12,
    "high": 63480.5,
    "low": 63100.0,
    "close": 63390.75,
    "base_volume": 812.4123,
    "quote_volume": 51420239.18,
    "source_provider": "binance",
    "source_channel": "vision",
    "flag": null
  }
]

GET /v1/aggregated_ohlcv

The cross-exchange combined series — no exchange parameter, since the response combines every contributing exchange for the requested base/quote/interval. See Methodology for exactly how open/high/low/close/base_volume/quote_volume are computed.

ParameterTypeRequiredDescription
intervalstringYesCandle interval: "1m", "1h", or "1d".
basestringYesBase asset ticker, e.g. "BTC".
quotestringYesQuote asset ticker, e.g. "USDT".
methodstringNoAggregation methodology. Default and only value today: "omm_vwap_v1" — see Methodology.
startdatetime (ISO 8601)NoOnly candles with close_ts >= start. Anchors the page forward from this point, even with end also set. Omit to anchor on the most recent candles instead — see Conventions.
enddatetime (ISO 8601)NoOnly candles with close_ts <= end. Omit for the latest available.
limitintegerNoRows to return, 1–1000. Default 500.
curl "https://api.angolin.com/v1/aggregated_ohlcv?interval=1h&base=BTC&quote=USDT&start=2026-09-22T00:00:00Z&end=2026-09-22T23:59:59Z&limit=2" \
  -H "X-API-Key: YOUR_API_KEY"
[
  {
    "method": "omm_vwap_v1",
    "interval": "1h",
    "base": "BTC",
    "quote": "USDT",
    "close_ts": "2026-09-22T13:00:00Z",
    "open": 63251.4,
    "high": 63480.5,
    "low": 63095.2,
    "close": 63388.1,
    "base_volume": 1523.88,
    "quote_volume": 96430112.55,
    "exchanges": ["binance"],
    "flag": null
  }
]

exchanges lists the exchanges that actually contributed to that specific candle, after any outlier exclusion.