API · /rvol-api

Relative Volume (RVOL) API

healthy 3,956 Subscribers

Which markets are trading on abnormal volume right now — the first scan a day-trader runs to find what is "in play" — computed live from Yahoo Finance daily volume, no key, nothing stored. Price tells you where a market is; volume tells you whether anyone cares. A stock drifting on half its normal volume is noise; the same stock on three times its average is a market reacting to something — earnings, news, a breakout — and that is where the opportunity and the risk live. Relative volume (RVOL) is today's volume divided by its recent average: 1.0 is a normal day, 2.0 is double, and anything above signals unusual participation. For each instrument this API returns today's volume, its 20- and 50-day average volume, the RVOL against each, where today's volume sits as a percentile of the window, the dollar (notional) volume for liquidity, and whether volume is trending up or down. The asset endpoint returns one instrument's full volume profile; the screener endpoint ranks the universe by RVOL, putting the names trading on the most unusual volume — the ones in play — at the top. This is the relative-volume / unusual-activity cut — distinct from the bring-your-own-series volume-indicator tools (OBV, MFI), the crypto volume-by-price profile, the order-flow tape and the price APIs. It is the volume that is out of the ordinary.

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

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

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

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

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
190 ms
Server probes · 24h
Subscribers
3,956
active
Total calls
0
last 7 days
status Full status page → · 4 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

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

Starter

€11.50 /month

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

Pro

€34.80 /month

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

Mega

€77.60 /month

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

Built by

Related APIs

Other APIs with overlapping tags.

Opening Gap Statistics API

The overnight-gap behaviour day-traders actually trade, computed live from Yahoo Finance daily OHLC — no key, nothing stored. A gap is the jump between yesterday's close and today's open — the move that happens while the market is shut, on overnight news and futures drift. Traders live and die on two questions: how often does a name gap, and does the gap fill (price retraces to yesterday's close) or run (it keeps going). This API answers both with hard frequencies. For each instrument it returns how often it gaps up and down beyond a configurable threshold, the average size of up- and down-gaps, the gap-fill rate (the share of gaps where price traded back through the prior close intraday — for an up-gap, the day's low reaching the prior close), and the continuation rate (how often the day closes in the direction of the gap rather than fading it), plus the largest recent gaps. The asset endpoint returns one instrument's full gap profile with its biggest recent gaps; the screener endpoint ranks a universe of liquid stocks and ETFs by gappiness or gap-fill rate, surfacing the names that gap most and the ones whose gaps reliably fill. This is the opening-gap / overnight-jump microstructure cut — distinct from the price, candlestick-pattern, volatility and risk APIs in the catalogue. It is what happens between the close and the open.

api.oanor.com/gapstats-api

Variance Ratio Test API

A formal statistical test of whether a market follows a random walk, or whether its returns carry tradeable momentum or mean-reversion that is real rather than noise — the Lo-MacKinlay variance ratio test, computed live from Yahoo Finance daily closes, no key, nothing stored. Most persistence tools give you a single descriptive number; this gives you a hypothesis test with a verdict. The variance ratio compares the variance of multi-day returns to the variance of one-day returns scaled up: under a true random walk the ratio is 1 at every horizon. A ratio above 1 means returns positively autocorrelate (trends persist — momentum); below 1 means they reverse (mean-reversion). Crucially it attaches a heteroskedasticity-robust z-statistic and a p-value at each horizon, so you know whether the deviation from a random walk is statistically significant or just sampling noise — the thing a point estimate cannot tell you. The asset endpoint runs the test at horizons of 2, 4, 8 and 16 days and returns each ratio, z-statistic, p-value and a reject/fail-to-reject verdict, plus an overall read. The screener endpoint ranks the cross-asset universe by their 2-day variance ratio, separating the statistically momentum-like markets from the mean-reverting ones. This is the random-walk hypothesis-test cut — distinct from the Hurst-exponent regime API (a point estimate with no significance), the momentum and the price APIs. It is the test, with the p-value attached.

api.oanor.com/varianceratio-api

Calendar Effects (Day-of-Week & Turn-of-Month) API

The two best-documented calendar anomalies in equities — the day-of-week effect and the turn-of-month effect — measured live across a cross-asset universe from Yahoo Finance daily history, no key, nothing stored. Decades of research show returns are not spread evenly through the week or the month: the turn-of-month effect — the cluster of the last trading day of a month and the first few of the next — has historically captured the bulk of the entire month's gain while the rest of the month drifts; and the day-of-week effect (the old "Monday effect" and its kin) shows some weekdays running persistently stronger than others. This API quantifies both directly. The turnofmonth endpoint splits an instrument's history into the turn-of-month window (the last trading day plus the first three of each month) versus the rest, and returns the average daily return and win-rate of each, the spread between them, and the share of the total return earned inside that handful of days. The dayofweek endpoint returns, for each weekday, the average daily return, win-rate and sample size, with the best and worst day. The screener endpoint ranks the cross-asset universe by the strength of the turn-of-month effect, so you can see where the calendar edge is biggest. This is the day-of-week / turn-of-month calendar-anomaly cut — distinct from the month-of-year seasonality APIs (equity-index, FX, commodity) and the crypto-only intraday/day-of-week seasonality API. Patterns are descriptive, not predictive.

api.oanor.com/calendareffects-api

Closing Strength (CLV) API

Where each market closes inside its daily range, and what that says about who is in control into the bell, computed live from Yahoo Finance daily OHLC — no key, nothing stored. The close is the most important price of the day: a market that runs up but closes back near its low was sold into all afternoon (distribution), while one that closes on its highs has buyers in firm control (accumulation), even if the headline change is the same. The Close Location Value (CLV) captures this on a -1 to +1 scale — +1 is a close exactly on the high, -1 exactly on the low, 0 the middle of the range. This API turns it into a conviction gauge. For each instrument it returns today's CLV, the average CLV over the window (a positive average means closes persistently in the upper half — accumulation; negative means distribution), the recent 20-day CLV as the current pressure reading, the share of days that closed in the upper third versus the lower third of their range, and a plain-language read. The asset endpoint returns one instrument's full closing-strength profile; the screener endpoint ranks the cross-asset universe from strongest accumulation to heaviest distribution, so you can see where buyers are quietly winning the close. This is the close-location / accumulation-distribution-pressure cut, price-only and no volume — distinct from the candlestick-pattern API (named shapes on the last bar), the volume-indicator tools and the price feeds. It is who won the day.

api.oanor.com/closestrength-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

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