Skip to content
Guavy Logo GUAVY
GET
·
/api/v2/stocks/technical-analysis/get-indicators

Get Indicators

Compute key technical indicators from historical daily closing prices for a given symbol. Returns SMA, EMA, RSI, MACD, Bollinger Bands, Stochastic Oscillator, ATR, VWAP, OBV, Fibonacci Retracement, ADX, and ROC. SMA, Bollinger Bands, ATR, VWAP, OBV and Fibonacci are computed over the last `period` days; EMA uses `period` as its span over the full history; RSI (14), MACD, Stochastic (14), ADX (14) and ROC (12) use their standard lengths over the full history. No stored history carries daily highs and lows, so ATR, Stochastic and ADX are computed from closing prices.

Attributes

symbol
string
Required
The symbol of the instrument to analyze (e.g. AAPL, MSFT).
period
integer
Number of days in the analysis window. Defaults to 30, minimum 2, maximum 365; a value outside that range is clamped, and the response's period field shows the value used.

API Request

Example Request with cURL

curl \
--request GET \
--url     'https://guavy.com/api/v2/stocks/technical-analysis/get-indicators/<symbol>?period=<integer>' \
--header 'Authorization: Bearer YOUR-GUAVY-ACCESS-TOKEN' \
--header 'Content-Type: application/json'

This request format works across all modern HTTP clients, including Python requests, JavaScript fetch, and other programming language libraries.

Example Response for /api/v2/stocks/technical-analysis/get-indicators/AAPL?period=30

{
  "indicators": {
    "adx": 19.2,
    "atr": 2.96,
    "bollinger_bands": {
      "lower": 329.43,
      "middle": 339.69,
      "upper": 349.95
    },
    "ema": 339.13,
    "fibonacci_retracement": {
      "high": 348.91,
      "levels": {
        "23.6": 344.31,
        "38.2": 341.46,
        "50.0": 339.15,
        "61.8": 336.85
      },
      "low": 329.4
    },
    "macd": {
      "histogram": 0.0,
      "macd_line": 4.06,
      "signal_line": 4.06
    },
    "obv": 250997568.0,
    "roc": 2.24,
    "rsi": 61.4,
    "sma": 339.69,
    "stochastic_oscillator": {
      "d": 84.1,
      "k": 100.0
    },
    "vwap": 339.84
  },
  "period": 30,
  "symbol": "AAPL"
}

Response Object

indicators
object
Map of technical indicator values.
sma
float
Simple Moving Average over the period.
ema
float
Exponential Moving Average over the period.
rsi
float
Relative Strength Index (0-100). >70 overbought, <30 oversold.
macd
object
MACD with macd_line, signal_line, and histogram.
bollinger_bands
object
Upper, middle, and lower Bollinger Bands.
stochastic_oscillator
object
Stochastic %K and %D values.
atr
float
Average True Range, a volatility indicator.
vwap
float
Volume Weighted Average Price.
obv
float
On-Balance Volume.
fibonacci_retracement
object
Fibonacci levels (23.6%, 38.2%, 50%, 61.8%) with high and low.
adx
float
Average Directional Index (0-100). >25 strong trend, <20 weak/ranging.
roc
float
Rate of Change, the percentage price change over N periods.
symbol
string
The analyzed symbol.
period
integer
The number of days analyzed.

Token Costs

Each API call consumes tokens from your monthly budget. Endpoints that return richer or deeper data cost more tokens. Historical endpoints scale with the amount of data requested.

You never have to guess how much is left: every metered response carries your balance in x-tokens-* headers: x-tokens-cost (what this call cost), x-tokens-limit / x-tokens-remaining (monthly), and x-tokens-limit-today / x-tokens-remaining-today (daily). The remaining values are net of any credit applied to the same request. A 401 refused at your limit carries them too, with x-tokens-cost at 0 because nothing was charged.

Endpoint Token Cost
GET /api/v2/stocks/instruments/list-symbols 1
GET /api/v2/stocks/newsroom/get-recent-briefs/:symbol 3 – 8 (scales with limit)
GET /api/v2/stocks/newsroom/search-briefs/:symbol 3 – 8 (scales with limit)
GET /api/v2/stocks/newsroom/get-article/:id 3
GET /api/v2/stocks/sentiment/get-sentiment-history/:symbol 3 – 12 (scales with limit)
GET /api/v2/stocks/technical-analysis/get-price-history/:symbol 2 – 5 (5 for the full series, less with limit, from or to)
GET /api/v2/stocks/technical-analysis/get-indicators/:symbol 8
GET /api/v2/stocks/instruments/scorecard/:symbol 10
GET /api/v2/stocks/trades/get-current-trend/:symbol 3
GET /api/v2/stocks/trades/get-trend-segments/:symbol 5

Account Limits

Each plan includes a monthly token budget: 3,000 for Sandbox, 250,000 for Quant, and 1,000,000 for Pro. Each market has its own budget, and a daily cap as well (500 tokens a day on Sandbox). The monthly budget resets to the full amount on the 1st of the month for an account with no active monthly subscription, or on your subscription's renewal date once its payment clears. Unused base tokens don't carry over. You can top up at any time with a one-time token pack; pack tokens never expire and any unused pack balance rolls forward. If you exceed your budget, the API returns a 401 until the next reset or until you purchase more tokens.

Connection Limits

The Guavy API allows 300 requests per minute per API key, returning 429 above that. We recommend caching responses that don't change frequently to reduce token consumption and improve performance.

Was this helpful?
Feedback option #{picture.id}
Feedback option #{picture.id}
Feedback option #{picture.id}
Feedback option #{picture.id}

© 2026 Guavy Inc. All rights reserved.