SVI Surface Parameters API - Calibrated Vol Surface Slices - FlashAlpha Lab API
Lab API SVI Parameters

SVI Surface Parameters API

Live SVI-fitted volatility surface for a symbol: the calibrated (a, b, ρ, m, σ) parameters per expiry slice, with ATM total variance and ATM IV.

Works with CME futures. Pass ES=F or NQ=F and URL-encode the = as %3D - e.g. /v1/surface/svi/ES%3DF. Options-on-futures are priced with Black-76 using the CME multiplier ($50/pt ES, $20/pt NQ); CME futures are Growth-tier. See the futures hub.

Endpoint

GET /v1/surface/svi/{symbol}
Auth required (X-Api-Key) Rate Limited: Yes Alpha plan+

Parameters

Name In Required Default Description
symbol path yes - Underlying ticker (case-insensitive; normalized to uppercase).
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/surface/svi/SPY"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/surface/svi/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Front rho: {data['svi_parameters'][0]['rho']}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/surface/svi/SPY",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log("Front rho: " + data.svi_parameters[0].rho);

Response

{
  "symbol": "SPY",
  "underlying_price": 542.18,
  "as_of": "2026-06-05T14:32:10.123Z",
  "market_open": true,
  "svi_parameters": [
    {
      "expiry": "2026-06-20",
      "days_to_expiry": 15,
      "forward": 542.91,
      "a": 0.001204,
      "b": 0.142318,
      "rho": -0.612045,
      "m": 0.018221,
      "sigma": 0.094117,
      "atm_total_variance": 0.002918,
      "atm_iv": 16.42
    }
  ]
}

Key Response Fields

Field Type Description
underlying_pricenumberMid of the underlying
market_openbooleanWhether the market is open
svi_parameters[]arrayPer-expiry slices, ordered by days_to_expiry
days_to_expiryintegerCalendar days to the expiry
forwardnumberPer-expiry forward price
a, b, rho, m, sigmanumberRaw SVI parameters for the slice
atm_total_variancenumberATM total variance for the slice
atm_ivnumberATM implied vol as a percentage

Errors

Status Description
403tier_restricted - Tier below Alpha. Requires Alpha or higher.
404symbol_not_found - No data for the symbol. Message notes when the market is closed (9:30 AM - 4:00 PM ET).

About

Returns the live SVI-fitted volatility surface for a symbol - the calibrated (a, b, ρ, m, σ) parameters per expiry slice, with ATM total variance and ATM IV. It is a lightweight subset of the full advanced-volatility payload for clients that reconstruct the surface themselves.

underlying_price is the mid of the underlying. svi_parameters is ordered by days_to_expiry; each slice gives the raw SVI parameters, the per-expiry forward, the ATM total variance, and the ATM implied vol as a percentage.

Common Use Cases

  • Reconstruct the IV surface client-side - evaluate the raw (a, b, rho, m, sigma) per slice to rebuild total variance at any log-moneyness without re-fitting
  • Price arbitrary strikes and expiries - interpolate off the calibrated svi_parameters[] slices and each slice's forward to value contracts not directly quoted
  • Read skew and curvature - track rho for the skew sign and sigma for smile curvature across expiries to characterize surface shape
  • Spot term-structure dislocations - compare atm_total_variance and atm_iv across slices to find a kinked or inverted front-to-back vol term structure
  • Monitor calibration drift - snapshot the parameter vector over time and alert when b or rho jumps, signaling a re-shaped surface or a fit on thin quotes
  • Feed a vol-arb or risk model - supply the calibrated slices as a compact, arbitrage-aware surface input to a relative-value or scenario engine

Related reading

Complementary endpoints

Ready to build with FlashAlpha?

Get your free API key and start pulling live options data in 30 seconds.

No credit card required Setup in 60 seconds Secure & reliable