---
title: "Technical Indicator"
method: GET
path: "/gateway/v1/market/price-indicator"
tags: ["Market"]
---

# Technical Indicator

`GET /gateway/v1/market/price-indicator`

## Request

- Base URL: `https://api.asksurf.ai`
- URL: `https://api.asksurf.ai/gateway/v1/market/price-indicator`
- Auth: HTTP bearer

Returns a technical indicator for a trading pair on a given exchange and interval.

**Modes:**
- Set `from`/`to` for time-series
- Omit for latest value only

**Indicator-specific tuning** via `options` (e.g. `period:7`, `fast_period:8,slow_period:21,signal_period:5`, `period:10,stddev:1.5`).

**Available indicators:** `rsi`, `macd`, `ema`, `sma`, `bbands`, `stoch`, `adx`, `atr`, `cci`, `obv`, `vwap`, `dmi`, `ichimoku`, `supertrend`.

## Query parameters

- `indicator` 'rsi' | 'macd' | 'ema' | 'sma' | 'bbands' | 'stoch' | 'adx' | 'atr' | 'cci' | 'obv' | 'vwap' | 'dmi' | 'ichimoku' | 'supertrend', required: Technical indicator name. Can be `rsi`, `macd`, `ema`, `sma`, `bbands`, `stoch`, `adx`, `atr`, `cci`, `obv`, `vwap`, `dmi`, `ichimoku`, or `supertrend`.
- `symbol` string, required: Trading pair as `BTC/USDT` or bare symbol like `BTC`
- `interval` '1m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '12h' | '1d' | '1w': Candlestick interval — bucket size for each point in the indicator series: `1m`, `5m`, `15m`, `30m`, `1h`, `2h`, `4h`, `12h`, `1d`, or `1w`. This endpoint uses `interval` only; it does NOT accept `time_range`. Use `from`/`to` to bound the series.
- `exchange` 'binance' | 'bybit' | 'coinbase' | 'kraken': Exchange for price data. Can be `binance`, `bybit`, `coinbase`, or `kraken`.
- `from` string: Start of time range. When set, returns time-series instead of latest value. Accepts Unix seconds (`1704067200`) or date string (`2024-01-01`)
- `to` string: End of time range. Defaults to now when from is set. Accepts Unix seconds (`1706745600`) or date string (`2024-02-01`)
- `options` string: Indicator-specific options as comma-separated key:value pairs. Available options by indicator: `period` — lookback period for rsi (default 14), sma (default 20), ema (default 20), bbands (default 20), adx (default 14), atr (default 14), cci (default 20), dmi (default 14), stoch (default 14), supertrend (default 10). `stddev` — standard deviation for bbands (default 2). `multiplier` — multiplier for supertrend (default 3). `fast_period` — MACD fast EMA (default 12). `slow_period` — MACD slow EMA (default 26). `signal_period` — MACD signal smoothing (default 9). Examples: `period:7`, `period:200`, `fast_period:8,slow_period:21,signal_period:5`, `period:10,stddev:1.5`.

## Response `200`

OK

- DataResponseMarketIndicatorItem
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `data` MarketIndicatorItem[], nullable, required
    - `interval` string, required: Time interval used to compute the indicator like `1h`, `4h`, or `1d`
    - `name` string, required: Indicator name like `rsi`, `macd`, or `bbands`
    - `project_id` string: Surf project UUID this symbol resolved to, for frontend entity linking. Empty when unmapped.
    - `symbol` string, required: Token symbol this indicator is computed for
    - `timestamp` integer: Candle open timestamp in Unix seconds (present in time-series responses)
    - `updated_at` integer: Unix timestamp in seconds when the indicator was last computed
    - `value` number, double, required: Primary indicator value
    - `values` IndicatorValues
      - `bbands_lower` number, double: Bollinger lower band
      - `bbands_middle` number, double: Bollinger middle band (SMA)
      - `bbands_upper` number, double: Bollinger upper band
      - `dmi_adx` number, double: Average Directional Index value
      - `dmi_mdi` number, double: Negative Directional Indicator (-DI)
      - `dmi_pdi` number, double: Positive Directional Indicator (+DI)
      - `ichimoku_base` number, double: Ichimoku baseline (Kijun-sen)
      - `ichimoku_conversion` number, double: Ichimoku conversion line (Tenkan-sen)
      - `ichimoku_current_span_a` number, double: Ichimoku current span A
      - `ichimoku_current_span_b` number, double: Ichimoku current span B
      - `ichimoku_lagging_span_a` number, double: Ichimoku lagging span A
      - `ichimoku_lagging_span_b` number, double: Ichimoku lagging span B
      - `ichimoku_span_a` number, double: Ichimoku leading span A (Senkou A)
      - `ichimoku_span_b` number, double: Ichimoku leading span B (Senkou B)
      - `macd_hist` number, double: MACD histogram (MACD minus signal)
      - `macd_signal` number, double: MACD signal line
      - `macd_value` number, double: MACD line value
      - `stoch_d` number, double: Stochastic %D (slow line)
      - `stoch_k` number, double: Stochastic %K (fast line)
      - `supertrend_advice` string: Supertrend direction: `buy` (price above supertrend, bullish) or `sell` (price below supertrend, bearish)
      - `supertrend_value` number, double: Supertrend line value
  - `meta` OffsetMeta, required
    - `cached` boolean, required: Whether this response was served from cache
    - `credits_used` integer, required: Credits deducted for this request
    - `empty_reason` string: Hint explaining why the data array is empty, when applicable
    - `has_more` boolean: Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
    - `limit` integer, required: Maximum number of items returned in this response
    - `offset` integer, required: Number of items skipped (pagination offset)
    - `total` integer: Total number of matching items (before pagination). Omitted when total is unknown.
    - `watermark` integer: Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api.md) - [All operations](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api/revisions/91774fdd5302?raw)
