Skip to content
GET /v1/meta

Service metadata

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/vrp-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/vrp-api/v1/meta" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/vrp-api/v1/meta", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/vrp-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/vrp-api/v1/meta",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "note": "premium and meta take no parameters. asset and history take market = spx, ndx, oil or gold (history also days, 60-1000, default 252). VRP = implied - 21-day realised, in annualised vol points; positive = options rich. A 10-minute protective cache fronts the shared Yahoo upstream.",
        "source": "Yahoo Finance (^VIX/^VXN/^OVX/^GVZ vs ^GSPC/^NDX/USO/GLD), live",
        "markets": [
            {
                "key": "spx",
                "implied": "VIX",
                "underlying": "S&P 500"
            },
            {
                "key": "ndx",
                "implied": "VXN",
                "underlying": "Nasdaq 100"
            },
            {
                "key": "oil",
                "implied": "OVX",
                "underlying": "Crude Oil ETF (USO)"
            },
            {
                "key": "gold",
                "implied": "GVZ",
                "underlying": "Gold ETF (GLD)"
            }
        ],
        "service": "vrp-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/asset": "One market's full VRP profile with 21- and 30-day realised legs (market=spx).",
            "GET /v1/history": "Daily VRP time series for one market (market=spx, days=252).",
            "GET /v1/premium": "Variance risk premium for all four markets, ranked richest to cheapest."
        },
        "description": "Variance risk premium (VRP) — how much more volatility the options market prices in than the market actually delivers, the carry short-volatility strategies harvest, live from Yahoo Finance (no key, nothing stored). For the S&P 500 (VIX), Nasdaq 100 (VXN), crude oil (OVX) and gold (GVZ) it subtracts realised vol (annualised std dev of daily log returns, ~30-day) from the live implied-vol index, returning the premium in vol points, the implied/realised ratio and a rich/cheap read. premium returns all four markets ranked; asset returns one with 21/30-day realised legs; history returns the VRP time series. 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.",
        "upstream_status": "ok",
        "richest_vrp_market": "oil"
    },
    "meta": {
        "timestamp": "2026-06-12T10:34:35.818Z",
        "request_id": "2a59037f-d241-46a3-9c83-0942d7f70bb0"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}