API · /rangeexpansion-api

Range Expansion & Contraction API

healthy 4,860 Subscribers

The volatility-coiling setups breakout traders hunt, computed live from Yahoo Finance daily OHLC — no key, nothing stored. Markets do not trend or chop at random: tight-range days cluster and precede expansion, and the classic edge — Toby Crabel's NR7 (the narrowest daily range of the last seven), the inside day (a bar wholly inside the prior one) and the outside day (a bar that engulfs it) — is that a coiled spring releases. This API measures the coil and the release. For each instrument it returns today's range as a percentile of its recent range (low = contracted/coiling, high = already expanded), whether today is an NR7, NR4, inside or outside day, the average daily range, and the historical frequency of each setup. Crucially it also returns the follow-through: after an NR7, how often the next day broke the NR7 day's high or low and how often its range expanded — the base rate that tells you whether the coil is worth trading. The asset endpoint returns one instrument's full range profile; the screener endpoint ranks the universe by contraction (most coiled, lowest current range percentile — the breakout candidates) or by realised range. This is the range-contraction / NR7 breakout-setup cut — distinct from the candlestick-pattern API (named reversal/continuation shapes, not range size), the volatility dashboard (level, not the coil), and the gap and price APIs. It is the squeeze before the move.

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

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

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

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

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
183 ms
Server probes · 24h
Subscribers
4,860
active
Total calls
4
last 7 days
status Full status page → · 8 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 635 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 635 calls/month
  • 2 req/sec
  • All endpoints
  • No credit card
Sign in to subscribe

Starter

€12.30 /month

  • 13,700 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 13.7k calls/month
  • 6 req/sec
  • All metrics & classes
  • Email support
Sign in to subscribe

Pro

€39.00 /month

  • 77,000 calls / month
  • 16 requests / second
  • Hard cap (429 above quota, no overage)
  • 77k calls/month
  • 16 req/sec
  • Priority support
Sign in to subscribe

Mega

€86.20 /month

  • 450,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • 450k calls/month
  • 40 req/sec
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

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

Donchian Channel Breakout Screener (Multi-Asset) API

Which markets are breaking out of their recent trading range, computed live from Yahoo Finance (no key, nothing stored). The Donchian channel — the highest high and lowest low of the last N days — is the breakout system the legendary Turtle traders rode: a close above the 20-day high is a classic long entry, below the 20-day low a short, and the 55-day channel is the slower, higher-conviction version. For a cross-asset, cross-sector universe — equity indices and sectors, gold, oil, commodities, bonds and crypto — this computes each asset's 20-day and 55-day Donchian channels (upper, lower and midline), where price sits inside the 20-day channel, and flags fresh breakouts above the high or below the low. The screener endpoint returns the upside and downside breakouts across the board plus the channel-position ranking. The asset endpoint returns one market's Donchian card. The universe endpoint lists what is covered. The cross-asset Donchian / channel-breakout (Turtle) screener cut — distinct from the crypto-only Donchian screener, the 52-week-range screener (a much longer window), the Bollinger-Bands screener and the bring-your-own-candle indicator APIs. It catches the range breakouts across every asset class at once.

api.oanor.com/donchian-api

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

52-Week High/Low Range Screener API

Where every major asset sits in its one-year range — across stocks, indices, bonds, commodities, FX and crypto — computed live from Yahoo Finance (no key, nothing stored). The 52-week high/low is the single most-watched level in markets: assets breaking to new 52-week highs are in confirmed uptrends and chased by momentum, while new 52-week lows mark capitulation, and the "new highs / new lows" list is a classic breadth and momentum read. This places each instrument in its range as a 0-100 position (0 = sitting on its 52-week low, 100 = at its 52-week high), with how far it is below the high and above the low, and flags fresh new highs and new lows. The screener endpoint returns the whole multi-asset universe ranked by range position — what is breaking out at the top and breaking down at the bottom — plus the new-high and new-low lists. The asset endpoint drills into one instrument. The universe endpoint lists what is covered. The 52-week-range / new-highs-new-lows momentum cut across asset classes — distinct from the crypto Donchian-breakout screener (crypto only) and the single-quote, index, commodity and stock price feeds, which carry the 52-week high/low as a field but do not rank it across a multi-asset book.

api.oanor.com/fiftytwoweek-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Range Expansion & Contraction API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Range Expansion & Contraction API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Range Expansion & Contraction 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 Range Expansion & Contraction API cost?
Range Expansion & Contraction API has a free tier with 100 calls / month. Paid plans start at €12.30 / 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 Range Expansion & Contraction API GDPR-compliant?
All requests to Range Expansion & Contraction 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/rangeexpansion-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/rangeexpansion-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/rangeexpansion-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/rangeexpansion-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.