IV rank + percentile of current ATM IV vs the snapshot history
Changed onRanks the CURRENT nearest-expiry ATM IV against the symbol's own dated snapshot history, so the consumer no longer has to accumulate and store that history client-side. window counts OBSERVATIONS (dated snapshots that yielded a gated ATM IV), default 252 - the annual convention - but the dated store retains 90 days, so observations_found discloses what the rank actually rested on. iv_rank is min-max scaled (null when the window's range is degenerate); iv_percentile is the share of observations at or below current. Fewer than 2 observations is a 503 insufficient_history, never a rank fabricated from one point. Error codes match /snapshot.
Request
- Base URLhttps://sugra.ai
- AuthAPI key in header x-api-key
Path parameters
Underlier ticker.
Query parameters
Window size in observations (30..504, default 252). Bounded in practice by the 90-day dated-snapshot retention; observations_found reports the reality.
Response
IV rank payload.
Example response
{
"data": {
"symbol": "SPY"
},
"meta": {
"endpoint": "/api/v1/fred/us/cpi",
"data_time": "2026-04-16T14:30:00Z",
"response_time": "2026-04-16T14:30:12Z",
"provider": "Sugra API v1.0.1",
"data_age_days": 8.532,
"source": "sugra_crypto",
"attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
"source_url": "https://fred.stlouisfed.org/series/UNRATE",
"citation": "Federal Reserve Bank of St. Louis (FRED) - Unemployment Rate (UNRATE) - https://fred.stlouisfed.org/series/UNRATE - retrieved 2026-11-02",
"fallback_chain": [
"sugra_crypto",
"sugra_finance"
],
"stale_since": "2026-09-08T12:00:00Z",
"period": "2026-Q1",
"notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
}
}Changes
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info
- breaking
added
subschema #1to the response bodyoneOflist for the response status - breaking
the response's body type changed from
objectto no type for status - breaking
removed the required property
from the response with the status - breaking
removed the required property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status
This list may be incomplete.
- breaking