FlashAlpha API Reference
Real-time options exposure analytics. Live gamma (GEX), delta (DEX), vanna (VEX), and charm (CHEX) exposure data, key levels, dealer hedging estimates, and verbal narrative analysis - all derived from live options flow.
Quick Start
1. Get your API key from flashalpha.com
2. Make your first call:
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/gex/SPY
3. Explore the response - you'll get gamma exposure by strike with OI, volume, and day-over-day changes.
Every US equity and ETF symbol is supported. Data is fetched on-demand with a 15-second cache (Alpha plan bypasses cache).
Try the API right now in the interactive playground - no setup required.
Authentication
All endpoints (except /health, /v1/surface, and unauthenticated /v1/stock/{symbol}/summary) require an API key. Pass it in the X-Api-Key header:
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/symbols
Or as a query parameter:
https://lab.flashalpha.com/v1/symbols?apiKey=YOUR_API_KEY
Endpoints
Market Data
GET /stockquote/{ticker}- Live stock quoteFree+GET /optionquote/{ticker}- Option quotes with greeksGrowth+GET /v1/surface/{symbol}- Vol surface gridPublicGET /v1/stock/{symbol}/summary- Comprehensive stock summaryPublic(cached) /Free+(live)
Historical Data
Historical endpoints now live on a dedicated host: https://historical.flashalpha.com. Every live analytics endpoint is mirrored there with a required ?at= point-in-time parameter (Alpha tier).
- Historical API overview — auth,
?at=semantics, replay model - Historical coverage / tickers — supported symbols and date ranges
- Historical GEX, VRP, Max Pain, Stock Summary
Exposure Analytics
GET /v1/exposure/gex/{symbol}- Gamma exposure by strikeFree+(single expiry, equities) /Basic+(ETFs & indexes) /Growth+(full chain)GET /v1/exposure/dex/{symbol}- Delta exposure by strikeBasic+GET /v1/exposure/vex/{symbol}- Vanna exposure by strikeBasic+GET /v1/exposure/chex/{symbol}- Charm exposure by strikeBasic+GET /v1/maxpain/{symbol}- Max pain analysisBasic+GET /v1/exposure/summary/{symbol}- Full exposure summaryGrowth+GET /v1/exposure/levels/{symbol}- Key support/resistance levelsFree+(equities) /Basic+(ETFs & indexes)GET /v1/exposure/narrative/{symbol}- Verbal narrative analysisGrowth+GET /v1/exposure/zero-dte/{symbol}- Real-time 0DTE analyticsGrowth+GET /v1/exposure/history/{symbol}- Daily exposure historyGrowth+(coming soon)
Pricing & Sizing
GET /v1/pricing/greeks- Full BSM greeks (first, second, third order)Free+GET /v1/pricing/iv- Implied volatility from market priceFree+GET /v1/pricing/kelly- Kelly criterion sizing for optionsGrowth+
Volatility Analytics
GET /v1/volatility/{symbol}- Comprehensive volatility analysisGrowth+GET /v1/adv_volatility/{symbol}- Advanced volatility: SVI params, variance surface, arb detection, greeks surfaces, var swapAlpha+GET /v1/vrp/{symbol}- VRP dashboard: spreads, z-score, directional VRP, GEX-conditioned regime, strategy scores, dealer riskAlpha+
Reference & Account
GET /v1/tickers- All available stock tickersFree+GET /v1/options/{ticker}- Option chain metadataFree+GET /v1/symbols- Currently queried symbolsFree+GET /v1/account- Account info and quotaFree+GET /health- Health checkPublic
Rate Limits & Plans
Every authenticated response includes rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Max requests per day (or unlimited) |
X-RateLimit-Remaining | Requests remaining today |
X-RateLimit-Reset | Unix timestamp when quota resets |
Retry-After | Seconds to wait (only on 429) |
| Plan | Daily Requests | Access |
|---|---|---|
| Free | 5 | Stock quotes, GEX & key levels (single expiry), BSM greeks, IV solver, tickers, options meta, symbols, surface, stock summary (live) - individual US equities only. Live host only. |
| Basic | 100 | Everything in Free + ETFs & index symbols (SPY, QQQ, SPX, VIX...) + DEX/VEX/CHEX exposure + max pain + Market Overview page. Live host only. |
| Growth | 2,500 | + Exposure summary, narrative, history, 0DTE analytics, volatility analytics, option quotes, full-chain GEX, Kelly sizing. Live host only. |
| Alpha | Unlimited | Full access including advanced volatility (SVI parameters, variance surfaces, arbitrage detection, greeks surfaces, variance swap pricing), VRP analytics (risk premium, z-score, directional VRP, strategy scores, dealer risk). Adds full historical replay on historical.flashalpha.com with point-in-time ?at= on every analytics endpoint (shares the daily request bucket). |
GET /stockquote/{ticker}
Returns the current bid, ask, mid, and last price for a symbol.
| Name | In | Required | Description |
|---|---|---|---|
ticker | path | yes | Stock symbol (e.g. SPY, QQQ, AAPL) |
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/stockquote/SPY
Response 200
{
"ticker": "SPY",
"bid": 597.50,
"ask": 597.51,
"mid": 597.505,
"lastPrice": 597.505,
"lastUpdate": "2026-02-28T16:30:45Z"
}
GET /optionquote/{ticker}
Returns option quotes enriched with BSM greeks, implied volatility, open interest, and volume. Requires Growth plan or higher.
The svi_vol field returns SVI-smoothed implied volatility (Gatheral parametric fit) - more stable than raw BSM IV for OTM strikes and illiquid contracts. Non-Alpha plans receive "REQUIRES_ALPHA_TIER".
- No filters - returns all contracts (array)
- Partial filters - returns matching subset (array)
- All three filters - returns a single contract (object)
| Name | In | Required | Description |
|---|---|---|---|
ticker | path | yes | Underlying symbol |
expiry | query | no | Expiration date (yyyy-MM-dd) |
strike | query | no | Strike price |
type | query | no | C / Call or P / Put |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/optionquote/SPY?expiry=2026-03-20&strike=590&type=C"
Response 200
{
"underlying": "SPY",
"type": "C",
"expiry": "2026-03-20",
"strike": 590.0,
"bid": 15.25,
"ask": 15.35,
"mid": 15.30,
"bidSize": 1200,
"askSize": 1500,
"lastUpdate": "2026-02-28T16:30:45Z",
"implied_vol": 0.1823,
"delta": 0.6543,
"gamma": 0.0089,
"theta": -0.0234,
"vega": 0.0456,
"rho": 0.1234,
"vanna": 0.0078,
"charm": -0.0045,
"svi_vol": 0.1820, // Returns "REQUIRES_ALPHA_TIER" on non-Alpha plans
"open_interest": 45000,
"volume": 3250
}
GET /v1/surface/{symbol}
Returns the implied volatility surface grid. Public endpoint - no authentication required. Updated periodically during market hours.
curl https://lab.flashalpha.com/v1/surface/SPY
GET /v1/stock/{symbol}/summary
Comprehensive stock summary: price, ATM IV, historical volatility, VRP, 25-delta skew, IV term structure, options flow, exposure data (GEX/DEX/VEX/CHEX, gamma flip, walls, max pain, hedging estimates, zero-DTE, top strikes, regime), and macro context (VIX, VVIX, SKEW, SPX, MOVE, VIX term structure, VIX futures basis, Fear & Greed index).
- Authenticated - returns live, real-time data
- Unauthenticated - returns previous day's cached snapshot
# Live data (authenticated)
curl -H "X-Api-Key: YOUR_API_KEY" "https://lab.flashalpha.com/v1/stock/SPY/summary"
# Previous day snapshot (unauthenticated)
curl "https://lab.flashalpha.com/v1/stock/SPY/summary"
Response 200
{
"symbol": "SPY",
"as_of": "2026-03-06T14:30:00Z",
"market_open": true,
"price": {
"bid": 580.50, "ask": 580.52, "mid": 580.51, "last": 580.51
},
"volatility": {
"atm_iv": 18.45,
"hv_20": 15.32,
"hv_60": 16.78,
"vrp": 3.13,
"skew_25d": {
"expiry": "2026-03-14", "days_to_expiry": 8,
"put_25d_iv": 20.12, "atm_iv": 18.45, "call_25d_iv": 17.10,
"skew_25d": 3.02, "smile_ratio": 1.177
},
"iv_term_structure": [
{ "expiry": "2026-03-14", "iv": 17.8, "days_to_expiry": 8 }
]
},
"options_flow": {
"total_call_oi": 12500000, "total_put_oi": 9800000,
"total_call_volume": 850000, "total_put_volume": 620000,
"pc_ratio_oi": 0.784, "pc_ratio_volume": 0.729
},
"exposure": {
"net_gex": 2850000000, "net_dex": -450000000,
"net_vex": 1200000000, "net_chex": 850000000,
"gamma_flip": 575.25, "call_wall": 585.0, "put_wall": 570.0,
"max_pain": 578.0, "regime": "positive_gamma",
"interpretation": {
"gamma": "Dealers long gamma - expect range-bound, mean-reverting price action",
"vanna": "Positive vanna - benefits from vol compression",
"charm": "Time decay favors dealers - supports decline into close"
},
"hedging_estimate": {
"spot_down_1pct": { "dealer_shares": 1250000, "direction": "buy", "notional_usd": 725000000 },
"spot_up_1pct": { "dealer_shares": 1250000, "direction": "sell", "notional_usd": 725000000 }
},
"zero_dte": { "net_gex": 450000000, "pct_of_total": 15.8 },
"top_strikes": [
{ "strike": 580.0, "net_gex": 850000000, "call_oi": 120000, "put_oi": 95000, "total_oi": 215000 }
]
},
"macro": {
"vix": { "value": 18.5, "change": -0.85, "change_pct": -4.39 },
"vvix": { "value": 92.3 },
"skew": { "value": 138.5 },
"spx": { "value": 5820.0 },
"move": { "value": 95.2 },
"vix_term_structure": {
"levels": { "vix9d": 16.2, "vix": 18.5, "vix3m": 19.8, "vix6m": 20.5 },
"near_slope_pct": 14.2, "structure": "contango"
},
"fear_and_greed": { "score": 42, "rating": "Fear" }
}
}
See the detailed summary endpoint documentation for the full response field reference.
Historical Endpoints
Historical stock and option quotes, plus historical GEX/DEX/VEX/CHEX, max pain, VRP, exposure summary, advanced volatility, and stock summary, are documented at /docs/historical-api. They live on historical.flashalpha.com and require an Alpha-tier API key with a point-in-time ?at=YYYY-MM-DDTHH:mm:ss parameter (ET wall-clock — no trailing Z, do not shift by UTC offset). Use ?at=YYYY-MM-DD for the end-of-day (16:00 ET) snapshot.
Quick example (replaces the old lab.flashalpha.com/historical/... URLs):
curl -H "X-Api-Key: YOUR_ALPHA_KEY" \
"https://historical.flashalpha.com/v1/exposure/gex/SPY?at=2024-08-05T10:30:00"
See: Historical API overview · Coverage · GEX · VRP · Max Pain · Stock Summary.
GET /v1/exposure/gex/{symbol}
Gamma exposure by strike, including open interest, volume, and day-over-day OI changes.
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol | path | yes | - | Underlying symbol |
expiration | query | no | all | Filter to single expiry (yyyy-MM-dd) |
min_oi | query | no | 0 | Minimum open interest threshold |
Full-chain GEX (all expirations) requires the Growth plan. Add ?expiration=yyyy-MM-dd to filter by a single expiry on lower plans.
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/exposure/gex/SPY?min_oi=100"
Response 200
{
"symbol": "SPY",
"underlying_price": 597.505,
"as_of": "2026-02-28T16:30:45Z",
"gamma_flip": 595.25,
"net_gex": 2850000000,
"net_gex_label": "positive",
"strikes": [
{
"strike": 575.0,
"call_gex": 12500000, "put_gex": 8900000, "net_gex": 21400000,
"call_oi": 15000, "put_oi": 12000,
"call_volume": 250, "put_volume": 180,
"call_oi_change": 500, "put_oi_change": -200
}
]
}
GET /v1/exposure/dex/{symbol}
Delta exposure by strike.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/dex/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"net_dex": -450000000,
"strikes": [
{ "strike": 575.0, "call_dex": 5600000, "put_dex": 4200000, "net_dex": 9800000 }
]
}
GET /v1/exposure/vex/{symbol}
Vanna exposure by strike. Measures the sensitivity of delta to changes in implied volatility.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/vex/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"net_vex": 1200000000,
"vex_interpretation": "Positive vanna - benefits from vol compression",
"strikes": [
{ "strike": 575.0, "call_vex": 2300000, "put_vex": 1800000, "net_vex": 4100000 }
]
}
GET /v1/exposure/chex/{symbol}
Charm exposure by strike. Measures the sensitivity of delta to the passage of time.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/chex/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"net_chex": 850000000,
"chex_interpretation": "Positive charm - time decay benefits dealers",
"strikes": [
{ "strike": 575.0, "call_chex": 950000, "put_chex": 620000, "net_chex": 1570000 }
]
}
GET /v1/exposure/summary/{symbol}
Comprehensive exposure summary: net GEX/DEX/VEX/CHEX totals, gamma regime, verbal interpretation, dealer hedging estimates, and 0DTE contribution. Requires Growth plan or higher.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/summary/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"gamma_flip": 595.25,
"regime": "positive_gamma",
"exposures": { "net_gex": 2850000000, "net_dex": -450000000, "net_vex": 1200000000, "net_chex": 850000000 },
"interpretation": {
"gamma": "Dealers long gamma - expect range-bound, mean-reverting price action",
"vanna": "Positive vanna - benefits from vol compression",
"charm": "Time decay favors dealers - supports decline into close"
},
"hedging_estimate": {
"spot_down_1pct": { "dealer_shares_to_trade": 4780000, "direction": "BUY", "notional_usd": 2852000000 },
"spot_up_1pct": { "dealer_shares_to_trade": -4780000, "direction": "SELL", "notional_usd": 2852000000 }
},
"zero_dte": { "net_gex": 285000000, "pct_of_total_gex": 10.0, "expiration": "2026-02-28" }
}
GET /v1/exposure/levels/{symbol}
Key technical levels derived from options exposure: gamma flip, call/put walls, max gamma strikes, highest OI strike, and 0DTE magnet.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/levels/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"levels": {
"gamma_flip": 595.25,
"max_positive_gamma": 600.0, "max_negative_gamma": 585.0,
"call_wall": 600.0, "put_wall": 595.0,
"highest_oi_strike": 600.0, "zero_dte_magnet": 598.0
}
}
| Field | Description |
|---|---|
gamma_flip | Price where net GEX crosses zero - above = positive gamma, below = negative |
call_wall | Strike with highest call GEX - acts as resistance |
put_wall | Strike with highest put GEX - acts as support |
zero_dte_magnet | 0DTE strike with highest GEX - intraday price magnet |
GET /v1/exposure/narrative/{symbol}
Verbal analysis of the current options exposure landscape with day-over-day changes, key levels context, notable OI flow, vanna/charm interpretation, and market outlook. Requires Growth plan or higher.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/narrative/SPY
Response 200
{
"symbol": "SPY", "underlying_price": 597.505, "as_of": "2026-02-28T16:30:45Z",
"narrative": {
"regime": "Dealers are long gamma (net GEX +$2.9B) - expect mean-reverting price action.",
"gex_change": "Net GEX increased from +$2.6B to +$2.9B (+11.5%).",
"key_levels": "Call wall at 600, Put wall at 595, Gamma flip at 595.25.",
"flow": "Top OI changes: +5,000 call OI at 600 strike.",
"vanna": "Positive vanna (+$1.2B) with VIX at 18.5 - vol compression supports upside.",
"charm": "Positive charm (+$850M) - time decay pushing dealers to buy.",
"zero_dte": "0DTE accounts for 10% of total GEX.",
"outlook": "Positive gamma regime with strengthening cushion. Testing 600 call wall.",
"data": { "net_gex": 2850000000, "regime": "positive_gamma", "gamma_flip": 595.25 }
}
}
GET /v1/exposure/zero-dte/{symbol}
Real-time 0DTE analytics for intraday options trading. Includes gamma regime, expected move, pin risk scoring, dealer hedging estimates at ±0.5%/±1% moves, time decay acceleration, vol context, flow data, and per-strike breakdown. Requires Growth plan or higher.
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol | path | yes | - | Underlying symbol |
strike_range | query | no | 0.03 | Fraction of spot to include in strikes array (0.001–0.10) |
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/exposure/zero-dte/SPY
See the full Zero-DTE documentation for the complete response schema, field descriptions, and edge cases.
GET /v1/exposure/history/{symbol}
Daily exposure snapshots for trend analysis. Requires Growth plan or higher. Currently returns 503 coming_soon.
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol | path | yes | - | Underlying symbol |
days | query | no | 30 | Days of history (1-365) |
GET /v1/pricing/greeks
Full Black-Scholes-Merton greeks from provided inputs. Returns theoretical price plus first, second, and third-order greeks. Pure calculation - no market data required. Available on all plans.
| Name | In | Required | Default | Description |
|---|---|---|---|---|
spot | query | yes | - | Underlying spot price |
strike | query | yes | - | Strike price |
dte | query | yes | - | Days to expiration |
sigma | query | yes | - | Implied volatility (annualized, e.g. 0.18 = 18%) |
type | query | no | call | call or put |
r | query | no | 0.045 | Risk-free rate (annualized) |
q | query | no | 0.013 | Dividend yield (annualized) |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/pricing/greeks?spot=580&strike=580&dte=30&sigma=0.18&type=call"
Response 200
{
"theoretical_price": 12.687211,
"first_order": { "delta": 0.53003, "gamma": 0.013276, "theta": -0.223599, "vega": 0.660706, "rho": 24.224395 },
"second_order": { "vanna": -0.055551, "charm": 0.00049, "vomma": 0.709126, "dual_delta": -0.508155 },
"third_order": { "speed": -0.00005694, "zomma": -0.07361041, "color": -0.00022304, "ultima": -17.241619 },
"additional": { "lambda": 24.2305, "veta": 1.092334 }
}
GET /v1/pricing/iv
Implied volatility from a market price using Newton-Raphson root finding. Available on all plans.
| Name | In | Required | Default | Description |
|---|---|---|---|---|
spot | query | yes | - | Underlying spot price |
strike | query | yes | - | Strike price |
dte | query | yes | - | Days to expiration |
price | query | yes | - | Market option price (mid) |
type | query | no | call | call or put |
r | query | no | 0.045 | Risk-free rate |
q | query | no | 0.013 | Dividend yield |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/pricing/iv?spot=580&strike=580&dte=30&price=12.69&type=call"
Response 200
{
"implied_volatility": 0.180042,
"implied_volatility_pct": 18.0
}
GET /v1/pricing/kelly
Kelly criterion optimal position sizing for option trades. Uses numerical integration over the full lognormal distribution - not the simplified gambling formula. Requires Growth plan or higher.
The key input is mu - your expected annual return for the underlying:
mu > r- you're more bullish than the market - calls have positive edgemu < r- you're more bearish - puts have positive edgemu = r- no edge - Kelly recommends no position
| Name | In | Required | Default | Description |
|---|---|---|---|---|
spot | query | yes | - | Underlying spot price |
strike | query | yes | - | Strike price |
dte | query | yes | - | Days to expiration |
sigma | query | yes | - | Implied volatility (annualized) |
premium | query | yes | - | Option premium paid (per share) |
mu | query | yes | - | Expected annualized return (e.g. 0.12 = 12%). Range: -200% to +200%. |
type | query | no | call | call or put |
r | query | no | 0.045 | Risk-free rate |
q | query | no | 0.013 | Dividend yield |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/pricing/kelly?spot=580&strike=580&dte=30&sigma=0.18&premium=12.69&mu=0.12&type=call"
Response 200
{
"sizing": {
"kelly_fraction": 0.076842, "half_kelly": 0.038421, "quarter_kelly": 0.01921,
"kelly_pct": 7.68, "half_kelly_pct": 3.84
},
"analysis": {
"expected_roi": 0.160546, "expected_roi_pct": 16.05,
"probability_of_profit": 0.391739, "probability_of_profit_pct": 39.17,
"probability_itm": 0.557494, "probability_itm_pct": 55.75,
"max_loss": 12.69, "breakeven": 592.69
},
"recommendation": "Risk 3.8% of bankroll (half-Kelly). Probability of profit: 39.2%. Expected ROI: 16.1%."
}
Half-Kelly is strongly recommended in practice - full Kelly is mathematically optimal but very aggressive.
GET /v1/volatility/{symbol}
Comprehensive volatility analysis: realized vol (5-60 day), IV-RV spreads, skew profiles, term structure, GEX by DTE, theta decay, put/call breakdowns, OI concentration, multi-move hedging scenarios, and liquidity analysis. Requires Growth plan or higher.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/volatility/TSLA
See the detailed volatility endpoint documentation for the full response schema and field reference.
GET /v1/adv_volatility/{symbol}
Advanced volatility analytics for quantitative analysis: raw SVI parameters per expiry, implied forward prices, total variance surface grid, butterfly and calendar arbitrage detection, second/third-order greeks surfaces (vanna, charm, volga, speed), and variance swap fair values. Requires Alpha plan.
| Name | In | Required | Description |
|---|---|---|---|
symbol | path | yes | Underlying symbol (e.g. SPY) |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/adv_volatility/SPY"
Response sections:
| Section | Description |
|---|---|
svi_parameters[] | Raw SVI fit per expiry: a, b, rho, m, sigma, implied forward, ATM total variance, ATM IV |
forward_prices[] | Implied forward prices per expiry with cost-of-carry basis (%) |
total_variance_surface | 2D grid of total variance w(k,T) and implied vol across log-moneyness (−0.5 to +0.5) and expiries |
arbitrage_flags[] | Detected no-arbitrage violations: butterfly (d²w/dk² < 0) and calendar (w decreasing in T) |
variance_swap_fair_values[] | Fair variance swap values per expiry via SVI integration, with convexity adjustment vs ATM IV |
greeks_surfaces | 2D grids of vanna, charm, volga, speed across strikes (±15% of spot) and expiries |
GET /v1/tickers
Returns all available stock tickers.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/tickers
Response 200
{ "tickers": ["AAPL", "AMZN", "GOOGL", "META", "MSFT", "QQQ", "SPY", "TSLA"], "count": 8 }
GET /v1/options/{ticker}
Option chain metadata: all available expirations with their strikes.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/options/SPY
Response 200
{
"symbol": "SPY",
"expirations": [
{ "expiration": "2026-03-07", "strikes": [550.0, 555.0, 560.0, 565.0, 570.0, 575.0, 580.0] }
],
"expiration_count": 2,
"total_contracts": 12
}
GET /v1/symbols
Returns symbols that have been queried and have live data cached.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/symbols
Response 200
{
"symbols": ["SPY", "QQQ"], "count": 2,
"note": "Any US equity or ETF symbol is supported. All data is fetched on-demand with a 15-second cache."
}
GET /v1/account
Account details, plan, and usage quota.
curl -H "X-Api-Key: YOUR_API_KEY" https://lab.flashalpha.com/v1/account
Response 200
{
"user_id": "d621e6ab-b4fc-4d62-86fc-08e489477e11",
"email": "[email protected]",
"plan": "growth",
"daily_limit": "1000",
"usage_today": 42,
"remaining": "958",
"resets_at": "2026-03-09T00:00:00Z"
}
GET /health
System health status. Public endpoint - no authentication required. Not rate limited.
curl https://lab.flashalpha.com/health
Response 200
{
"status": "Healthy",
"duration": 12.45,
"checks": [
{ "name": "market_feed", "status": "Healthy", "duration": 8.2 },
{ "name": "market_data", "status": "Healthy", "duration": 3.5 }
]
}
Error Responses
All endpoints return consistent error responses.
401 Unauthorized
{ "title": "Unauthorized", "status": 401, "detail": "Invalid API key." }
403 Tier Restricted
{
"status": "ERROR", "error": "tier_restricted",
"message": "This endpoint requires the Growth plan or higher.",
"current_plan": "Basic", "required_plan": "Growth"
}
429 Too Many Requests
{
"status": "ERROR", "error": "Quota exceeded",
"message": "You have exceeded your daily API quota of 5 requests on the Free plan.",
"current_plan": "Free", "limit": 5,
"upgrade_to": "Basic", "reset_at": "2026-03-01T00:00:00Z"
}
Conventions
- All timestamps are UTC in ISO 8601 format
- All exposure values are in USD notional
- Dates use
yyyy-MM-ddformat - GEX formula:
gamma * OI * 100 * spot² * 0.01(per 1% move, SpotGamma convention) - Greeks are calculated via Black-Scholes-Merton (not sourced from vendor)
- Implied volatility is derived from Black-Scholes-Merton inversion. The
svi_volfield (SVI-smoothed IV) requires the Alpha plan - non-Alpha plans receive"REQUIRES_ALPHA_TIER". - Dealer position is the opposite of net exposure (dealers are counterparty)
- OI changes are day-over-day deltas (when prior-day snapshot is available)
- Any US equity or ETF symbol is supported - data is fetched on-demand and cached for 15 seconds (Alpha plan bypasses cache)
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.