API · /atr-api

ATR & Volatility Stops API

healthy 3,354 Subscribers

Live Average True Range and volatility-stop analytics that traders run to size stops to market noise, computed on demand from the OHLC candles you pass in — no key, no cache, nothing stored. The atr endpoint returns the Average True Range using Wilder's smoothing, its value as a percent of price, and the latest true range — the single number that tells you how much an instrument typically moves. The stops endpoint returns ATR-based stop levels: the Chandelier Exit for a long and for a short (highest high or lowest low offset by a multiple of ATR) and, if you pass an entry price, an ATR trailing stop with its distance in money and percent. The keltner endpoint returns the Keltner Channel — an EMA mid-line with ATR-scaled upper and lower bands — and where the last price sits. Because true range needs the full high, low and close, this is a different tool from closes-only indicator APIs and from single-coin volatility feeds: you supply the candles for any market — forex, stocks, crypto or commodities. Computed locally and deterministically, so it is instant and private. Ideal for stop placement, position sizing, breakout filters and risk dashboards. ATR uses Wilder's smoothing. Live, nothing stored. 3 compute endpoints. For closes-only indicators like RSI or MACD use a technical-indicators API.

api.oanor.com/atr-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/atr-api/openapi.json
/api/atr-api/llms.txt

Discovery: GET /api/index.json lists every API.

ATR & Volatility Stops API — live data on the oanor API marketplace

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
88 ms
Server probes · 24h
Subscribers
3,354
active
Total calls
76
last 7 days
status Full status page → · 12 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 4,700 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 4,700 calls/month
  • 2 req/sec
  • ATR + stops + Keltner
  • No credit card
Sign in to subscribe

Starter

€7.00 /month

  • 91,500 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 91,500 calls/month
  • 6 req/sec
  • Chandelier exit & trailing stops
  • Email support
Sign in to subscribe

Pro

€20.20 /month

  • 475,000 calls / month
  • 18 requests / second
  • Hard cap (429 above quota, no overage)
  • 475,000 calls/month
  • 18 req/sec
  • Stop-placement & risk pipelines
  • Priority support
Sign in to subscribe

Business

€45.50 /month

  • 2,910,000 calls / month
  • 45 requests / second
  • Hard cap (429 above quota, no overage)
  • 2,910,000 calls/month
  • 45 req/sec
  • Desk & dashboard scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Keltner Channels Screener (Multi-Asset) API — oanor API marketplace

Keltner Channels Screener (Multi-Asset) API

Which markets are breaking out of their volatility-adjusted trend channel, computed live from Yahoo Finance (no key, nothing stored). Keltner Channels wrap a 20-day exponential average in bands set at two Average-True-Ranges above and below it — and unlike Bollinger Bands, whose width is statistical standard deviation, Keltner's width is the market's actual trading range. A close above the upper Keltner band is a trend-following breakout (riding strength), below the lower a breakdown, and price hugging a band signals a powerful, persistent trend. For a cross-asset, cross-sector universe — equity indices and sectors, gold, oil, commodities, bonds and crypto — this computes each asset's Keltner upper, middle and lower bands, where price sits inside the channel, and flags fresh breakouts. The screener endpoint returns the upside and downside Keltner breakouts across the board. The asset endpoint returns one market's Keltner card. The universe endpoint lists what is covered. The cross-asset Keltner-channel / volatility-trend screener cut — distinct from the Bollinger-Bands screener (standard-deviation width, mean-reversion), the bring-your-own-candle ATR API and the other indicator screeners.

api.oanor.com/keltner-api

Variance Risk Premium API — oanor API marketplace

Variance Risk Premium API

How much more volatility the options market is pricing in than the market has actually delivered — the carry that every short-volatility strategy harvests — computed live from Yahoo Finance, no key, nothing stored. Implied volatility (the VIX and its cousins) is almost always richer than the volatility that subsequently shows up: investors pay up for protection, and that gap, the variance risk premium, is one of the most persistent paid-for risks in markets. This API measures it directly across the major asset classes that publish an implied-vol index: for the S&P 500 (VIX), the Nasdaq 100 (VXN), crude oil (OVX) and gold (GVZ), it takes the live implied-vol index and subtracts the realised volatility actually delivered by the underlying over the matching ~30-day window (annualised standard deviation of daily log returns), and returns the premium in volatility points, the implied/realised ratio and a rich/cheap read. A large positive VRP means options are expensive relative to what the market has been doing (sellers are well paid); a negative VRP — implied below realised — is rare and flags that options are cheap, often during or right after a stress event. The premium endpoint returns all four markets ranked; the asset endpoint returns one market with 21- and 30-day realised legs; the history endpoint returns the VRP time series. This is the implied-minus-realised / variance-risk-premium cut for equities and commodities — distinct from the implied-vol level board (no realised leg), the realised-volatility dashboard (no implied leg) and the crypto-only DVOL/VRP API.

api.oanor.com/vrp-api

VIX Term Structure API — oanor API marketplace

VIX Term Structure API

The shape of the equity volatility curve — the single most-watched regime signal in the options world — computed live from Yahoo Finance, no key, nothing stored. A VIX level tells you how scared the market is right now; the term structure tells you whether that fear is short-term panic or a calm, persistent state, and which way it is rolling. This API reads the S&P 500 implied-volatility curve across four tenors — the 9-day VIX, the headline 30-day VIX, the 3-month VIX and the 6-month VIX — and turns it into a regime. When the curve slopes up (VIX < VIX3M < VIX6M) the market is in contango: calm, with near-term vol cheaper than far, the state short-vol strategies harvest. When it inverts to backwardation (VIX above VIX3M) the front end is bid above the back: acute stress, fear spiking, historically near capitulation. The structure endpoint returns the live curve, the contango ratio (VIX / VIX3M), the short-end ratio (VIX9D / VIX), the roll yield a short-vol position would earn, the slope classification and a regime read, with VVIX (the vol of the VIX) for context. The history endpoint returns the daily time series of the contango ratio and flags every backwardation day. The percentile endpoint places today's contango ratio in its one-year range. This is the volatility term-structure / contango-backwardation cut — distinct from the cross-asset VIX-family level board, the crypto DVOL index and the realised-volatility APIs. It is the shape of fear, not its level.

api.oanor.com/vixterm-api

Bollinger Bands & Squeeze Screener API — oanor API marketplace

Bollinger Bands & Squeeze Screener API

Which markets are coiled for a breakout and which are stretched to their bands, computed live from Yahoo Finance (no key, nothing stored). Bollinger Bands wrap a 20-day average in plus/minus two standard deviations; price riding the upper band is strong, the lower band weak, and — the prized signal — when the bands pinch tight (a "squeeze"), volatility has compressed and a big move usually follows. For a cross-asset, cross-sector universe — equity indices and sectors, gold, oil, commodities, bonds and crypto — this computes each asset's bands, its %B (where price sits between the lower band at 0 and the upper at 100), the bandwidth and whether bandwidth is at a multi-month low (a squeeze, breakout pending). The screener endpoint returns the board with the markets in a squeeze, the ones breaking above the upper band and the ones breaking below the lower. The asset endpoint returns one market's Bollinger card. The universe endpoint lists what is covered. The Bollinger Bands / volatility-squeeze screener cut — distinct from the bring-your-own-candle technical-indicator APIs, the FX-only z-score API and the market-breadth API. It finds the coiled springs across the whole market.

api.oanor.com/bollinger-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for ATR & Volatility Stops API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call ATR & Volatility Stops API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for ATR & Volatility Stops API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does ATR & Volatility Stops API cost?
ATR & Volatility Stops API has a free tier with 100 calls / month. Paid plans start at €7.00 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is ATR & Volatility Stops API GDPR-compliant?
All requests to ATR & Volatility Stops API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/atr-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/atr-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/atr-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/atr-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.