{"openapi":"3.1.0","info":{"title":"Cross-Asset Tail Risk API","version":"1.0.0","description":"Ranks the major markets by how brutal their bad days are, computed live from Yahoo Finance daily closes — no key, nothing stored. Volatility and the Sharpe ratio assume returns are symmetric and well-behaved, but the losses that actually blow up a book live in the left tail — the rare, deep down-days a standard-deviation number smooths away. This API measures that tail directly. For each market it returns Value-at-Risk (the daily loss not exceeded on 95% / 99% of days, both the historical percentile and the normal-distribution parametric estimate), the Conditional VaR / Expected Shortfall (the average loss on the worst days, beyond VaR — how bad the bad days really are), and the shape of the return distribution: skewness (negative = crash-prone, a long left tail) and excess kurtosis (high = fat-tailed, outlier-prone). The asset endpoint returns one instrument's full tail-risk profile; the screener endpoint ranks the cross-asset universe (equities, sectors, commodities, bonds, FX and crypto; filterable by class) from the most tail-risky to the safest. This is the cross-asset distribution-tail / VaR-CVaR cut — distinct from the bring-your-own-series risk-metrics engine, the crypto-only coin risk scorecard, the drawdown-pain (Ulcer) screener and the volatility APIs. It is the left tail, measured across the whole book.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tailrisk-api","description":"oanor gateway"}],"tags":[{"name":"Screener"},{"name":"Asset"},{"name":"Universe"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Rank the universe by tail-risk metric","description":"","parameters":[{"name":"metric","in":"query","required":false,"description":"cvar, var, kurtosis or skew","schema":{"type":"string"},"example":"cvar"},{"name":"confidence","in":"query","required":false,"description":"Confidence level: 95 or 99","schema":{"type":"string"},"example":"95"},{"name":"window","in":"query","required":false,"description":"Lookback in trading days (60-1000)","schema":{"type":"string"},"example":"252"},{"name":"class","in":"query","required":false,"description":"equity, sector, commodity, bond, fx, crypto or all","schema":{"type":"string"},"example":"all"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Ranked by cvar over window_days of daily returns at 95% confidence. VaR = daily loss not exceeded on 95% of days; CVaR (expected shortfall) = average loss on the worst 5% of days. Negative skew = crash-prone; high excess kurtosis = fat-tailed. Losses are reported as positive percentages. Read fresh per call, nothing cached.","class":"all","count":20,"metric":"cvar","safest":{"symbol":"HYG","cvar_pct":0.62},"source":"Yahoo Finance","results":[{"name":"Silver","rank":1,"class":"commodity","symbol":"SLV","cvar_pct":9.7,"skewness":-2.184,"available":true,"observations":252,"var_hist_pct":4.89,"confidence_pct":95,"excess_kurtosis":13.926,"var_parametric_pct":5.88,"daily_volatility_pct":3.77},{"name":"Ethereum","rank":2,"class":"crypto","symbol":"ETH-USD","cvar_pct":8.53,"skewness":-0.002,"available":true,"observations":252,"var_hist_pct":5.49,"confidence_pct":95,"excess_kurtosis":2.564,"var_parametric_pct":6.15,"daily_volatility_pct":3.54},{"name":"Crude Oil","rank":3,"class":"commodity","symbol":"USO","cvar_pct":6,"skewness":0.323,"available":true,"observations":252,"var_hist_pct":4.04,"confidence_pct":95,"excess_kurtosis":3.181,"var_parametric_pct":4.36,"daily_volatility_pct":2.82},{"name":"Bitcoin","rank":4,"class":"crypto","symbol":"BTC-USD","cvar_pct":5.9,"skewness":-0.163,"available":true,"observations":252,"var_hist_pct":3.95,"confidence_pct":95,"excess_kurtosis":5.784,"var_parametric_pct":4.33,"daily_volatility_pct":2.49},{"name":"Gold","rank":5,"class":"commodity","symbol":"GLD","cvar_pct":4.46,"skewness":-1.111,"available":true,"observations":252,"var_hist_pct":2.93,"confidence_pct":95,"excess_kurtosis":5.912,"var_parametric_pct":2.73,"daily_volatility_pct":1.72},{"name":"Emerging Markets","rank":6,"class":"equity","symbol":"EEM","cvar_pct":3.25,"skewness":-0.386,"available":true,"observations":252,"var_hist_pct":1.79,"confidence_pct":95,"excess_kurtosis":3.786,"var_parametric_pct":2.1,"daily_volatility_pct":1.37},{"name":"Technology","rank":7,"class":"sector","symbol":"XLK","cvar_pct":3.06,"skewness":-0.537,"available":true,"observations":252,"var_hist_pct":2.2,"confidence_pct":95,"excess_kurtosis":1.907,"var_parametric_pct":2.16,"daily_volatility_pct":1.42},{"name":"Energy","rank":8,"class":"sector","symbol":"XLE","cvar_pct":2.88,"skewness":-0.375,"available":true,"observations":252,"var_hist_pct":1.95,"confidence_pct":95,"excess_kurtosis":0.226,"var_parametric_pct":2.02,"daily_volatility_pct":1.3},{"name":"Broad Commodities","rank":9,"class":"commodity","symbol":"DBC","cvar_pct":2.85,"skewness":-0.398,"available":true,"observations":252,"var_hist_pct":1.89,"confidence_pct":95,"excess_kurtosis":1.161,"var_parametric_pct":1.85,"daily_volatility_pct":1.2},{"name":"Nasdaq 100","rank":10,"class":"equity","symbol":"QQQ","cvar_pct":2.38,"skewness":-0.438,"available":true,"observations":252,"var_hist_pct":1.86,"confidence_pct":95,"excess_kurtosis":1.876,"var_parametric_pct":1.66,"daily_volatility_pct":1.08},{"name":"US Small Caps","rank":11,"class":"equity","symbol":"IWM","cvar_pct":2.34,"skewness":0.077,"available":true,"observations":252,"var_hist_pct":1.88,"confidence_pct":95,"excess_kurtosis":0.232,"var_parametric_pct":1.92,"daily_volatility_pct":1.24},{"name":"Financials","rank":12,"class":"sector","symbol":"XLF","cvar_pct":2.18,"skewness":-0.387,"available":true,"observations":252,"var_hist_pct":1.7,"confidence_pct":95,"excess_kurtosis":0.896,"var_parametric_pct":1.49,"daily_volatility_pct":0.92},{"name":"Developed ex-US","rank":13,"class":"equity","symbol":"EFA","cvar_pct":2.16,"skewness":0.096,"available":true,"observations":252,"var_hist_pct":1.58,"confidence_pct":95,"excess_kurtosis":1.553,"var_parametric_pct":1.58,"daily_volatility_pct":1},{"name":"Utilities","rank":14,"class":"sector","symbol":"XLU","cvar_pct":2.08,"skewness":-0.433,"available":true,"observations":252,"var_hist_pct":1.36,"confidence_pct":95,"excess_kurtosis":1.701,"var_parametric_pct":1.47,"daily_volatility_pct":0.92},{"name":"S&P 500","rank":15,"class":"equity","symbol":"SPY","cvar_pct":1.8,"skewness":-0.324,"available":true,"observations":252,"var_hist_pct":1.35,"confidence_pct":95,"excess_kurtosis":1.526,"var_parametric_pct":1.19,"daily_volatility_pct":0.78},{"name":"Health Care","rank":16,"class":"sector","symbol":"XLV","cvar_pct":1.74,"skewness":0.417,"available":true,"observations":252,"var_hist_pct":1.42,"confidence_pct":95,"excess_kurtosis":0.434,"var_parametric_pct":1.5,"daily_volatility_pct":0.95},{"name":"20Y+ Treasuries","rank":17,"class":"bond","symbol":"TLT","cvar_pct":1.28,"skewness":0.034,"available":true,"observations":252,"var_hist_pct":0.98,"confidence_pct":95,"excess_kurtosis":0.024,"var_parametric_pct":1.02,"daily_volatility_pct":0.62},{"name":"USD/JPY","rank":18,"class":"fx","symbol":"USDJPY=X","cvar_pct":1.16,"skewness":-0.691,"available":true,"observations":252,"var_hist_pct":0.68,"confidence_pct":95,"excess_kurtosis":3.209,"var_parametric_pct":0.8,"daily_volatility_pct":0.51},{"name":"EUR/USD","rank":19,"class":"fx","symbol":"EURUSD=X","cvar_pct":0.8,"skewness":0.351,"available":true,"observations":252,"var_hist_pct":0.57,"confidence_pct":95,"excess_kurtosis":1.228,"var_parametric_pct":0.64,"daily_volatility_pct":0.39},{"name":"High-Yield Credit","rank":20,"class":"bond","symbol":"HYG","cvar_pct":0.62,"skewness":-0.167,"available":true,"observations":252,"var_hist_pct":0.5,"confidence_pct":95,"excess_kurtosis":1.151,"var_parametric_pct":0.44,"daily_volatility_pct":0.27}],"sorted_by":"cvar_pct","unavailable":[],"window_days":252,"confidence_pct":95,"most_tail_risk":{"symbol":"SLV","cvar_pct":9.7}},"meta":{"timestamp":"2026-06-12T10:34:46.901Z","request_id":"e202005c-363c-4608-8d16-4a214a17d346"},"status":"ok","message":"Tail risk screener retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/asset":{"get":{"operationId":"get_v1_asset","tags":["Asset"],"summary":"Full tail-risk profile of one instrument","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Universe symbol","schema":{"type":"string"},"example":"SPY"},{"name":"confidence","in":"query","required":false,"description":"Confidence level: 95 or 99","schema":{"type":"string"},"example":"95"},{"name":"window","in":"query","required":false,"description":"Lookback in trading days (60-1000)","schema":{"type":"string"},"example":"252"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"S&P 500","note":"VaR is the daily loss not exceeded on 95% of days (historical percentile and normal parametric); CVaR is the average loss on the worst 5% of days. skewness < 0 means a long left tail (crash-prone); excess kurtosis > 0 means fatter tails than a normal distribution. Read fresh per call, nothing cached.","class":"equity","reads":{"cvar":"contained tail risk","skew":"crash-prone (long left tail)","kurtosis":"fat-tailed"},"source":"Yahoo Finance","symbol":"SPY","cvar_pct":1.8,"skewness":-0.324,"window_days":252,"observations":252,"var_hist_pct":1.35,"confidence_pct":95,"excess_kurtosis":1.526,"var_parametric_pct":1.19,"daily_volatility_pct":0.78},"meta":{"timestamp":"2026-06-12T10:34:47.026Z","request_id":"8616273f-73e2-40c7-b055-1cfb6d146380"},"status":"ok","message":"Asset tail risk retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/universe":{"get":{"operationId":"get_v1_universe","tags":["Universe"],"summary":"The cross-asset universe and its classes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The cross-asset universe the screener ranks. Pass class= to a screener call to rank within one class.","count":20,"assets":[{"name":"S&P 500","class":"equity","symbol":"SPY"},{"name":"Nasdaq 100","class":"equity","symbol":"QQQ"},{"name":"US Small Caps","class":"equity","symbol":"IWM"},{"name":"Developed ex-US","class":"equity","symbol":"EFA"},{"name":"Emerging Markets","class":"equity","symbol":"EEM"},{"name":"Technology","class":"sector","symbol":"XLK"},{"name":"Financials","class":"sector","symbol":"XLF"},{"name":"Energy","class":"sector","symbol":"XLE"},{"name":"Health Care","class":"sector","symbol":"XLV"},{"name":"Utilities","class":"sector","symbol":"XLU"},{"name":"Gold","class":"commodity","symbol":"GLD"},{"name":"Silver","class":"commodity","symbol":"SLV"},{"name":"Crude Oil","class":"commodity","symbol":"USO"},{"name":"Broad Commodities","class":"commodity","symbol":"DBC"},{"name":"20Y+ Treasuries","class":"bond","symbol":"TLT"},{"name":"High-Yield Credit","class":"bond","symbol":"HYG"},{"name":"EUR/USD","class":"fx","symbol":"EURUSD=X"},{"name":"USD/JPY","class":"fx","symbol":"USDJPY=X"},{"name":"Bitcoin","class":"crypto","symbol":"BTC-USD"},{"name":"Ethereum","class":"crypto","symbol":"ETH-USD"}],"source":"Yahoo Finance","classes":["equity","sector","commodity","bond","fx","crypto"]},"meta":{"timestamp":"2026-06-12T10:34:47.112Z","request_id":"31ddc1b3-8ca5-4f5a-b3a0-23e3e867c18e"},"status":"ok","message":"Universe retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"metric is cvar (default), var, kurtosis or skew. confidence is 95 (default) or 99. window is 60-1000 trading days (default 252). class filters to equity/sector/commodity/bond/fx/crypto (default all). Losses are reported as positive percentages. Read fresh per call, nothing cached.","source":"Yahoo Finance daily closes, live","classes":["equity","sector","commodity","bond","fx","crypto"],"metrics":["cvar","var","kurtosis","skew"],"service":"tailrisk-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/asset":"Full tail-risk profile of one instrument (symbol=SPY, confidence=95, window=252).","GET /v1/screener":"Rank the universe by tail-risk metric (metric=cvar, confidence=95, window=252, class=all).","GET /v1/universe":"The cross-asset universe and its classes."},"description":"Cross-asset tail risk — ranks the major markets by how brutal their bad days are, live from Yahoo Finance daily closes (no key, nothing stored). For each market it returns Value-at-Risk (historical and parametric, 95%/99%), Conditional VaR / Expected Shortfall (average loss on the worst days), and the return-distribution shape: skewness (crash-proneness) and excess kurtosis (fat tails). asset returns one instrument's full tail-risk profile; screener ranks the cross-asset universe from most tail-risky to safest. The cross-asset distribution-tail / VaR-CVaR cut — distinct from the BYO risk-metrics engine, the crypto-only coin risk scorecard, the drawdown-pain (Ulcer) screener and the volatility APIs.","universe_size":20,"upstream_status":"ok","confidence_levels":[95,99],"most_tail_risk_95_252d":"SLV"},"meta":{"timestamp":"2026-06-12T10:34:47.371Z","request_id":"70eaf0f5-d6a9-45a8-8899-982c57429581"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":640,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1210,"monthly_call_quota":14700,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3740,"monthly_call_quota":81000,"rps_limit":16,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":8380,"monthly_call_quota":466000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tailrisk-api"}