Real-Time Options Data API for Developers: Complete Guide
Building applications that consume real-time options data used to require expensive institutional feeds and months of integration work. Modern REST APIs have changed that equation entirely. This guide covers exactly what options data is available via API, how to access it, and practical use cases with working code examples — from screening tools to full trading bots.
What Options Data Is Available via API
Before writing a single line of code, it helps to understand the categories of options data you can pull programmatically. Modern options data APIs go far beyond simple price quotes.
- Price Data — Bid, ask, mid, last trade price, volume, and open interest for every listed contract. The raw market data you need for any options application.
- Greeks — Delta, gamma, theta, and vega computed via Black-Scholes-Merton. Pre-calculated per contract so you don't need to build your own pricing engine.
- Volatility Metrics — Implied volatility per strike, IV rank, IV percentile, and full volatility surface grids. Essential for identifying cheap or expensive options relative to history.
- Exposure Analytics — Gamma exposure (GEX), delta exposure (DEX), vanna exposure (VEX), and charm exposure (CHEX) by strike. These quantify how dealer hedging creates support and resistance levels.
- Key Levels — Gamma flip point, call wall, and put wall — the specific price levels where dealer positioning shifts from stabilizing to amplifying moves.
- AI Narrative Analysis — Natural-language interpretation of dealer positioning and flow data. Useful for generating human-readable market commentary programmatically.
If you're new to exposure analytics, our guide to gamma exposure (GEX) explains the theory behind these metrics and why they matter for price action.
FlashAlpha API Overview
The FlashAlpha Lab API is a REST API that returns JSON responses. Every endpoint follows standard HTTP conventions — GET requests, query parameters for filtering, and JSON payloads in the response body.
Key architectural details:
- Base URL:
https://lab.flashalpha.com - Authentication: API key passed via the
X-Api-Keyheader - Python SDK: Install with
pip install flashalpha(GitHub · PyPI) — wraps every endpoint in a clean Python interface - Response caching: 15-second cache on all endpoints, balancing freshness with performance
- Rate limits: Measured in daily API calls, scaling from 50/day (Free) to 2,500/day (Growth)
There is no WebSocket or streaming protocol. For real-time workflows, you poll endpoints at your desired interval. Our polling vs. streaming guide covers how to build efficient polling loops without wasting API calls.
Core Endpoints at a Glance
Here is the complete endpoint reference. For detailed request/response schemas, see the full API reference.
Market Data
| Endpoint | Description |
|---|---|
GET /stockquote/{ticker} | Live stock quote — bid, ask, mid, last price |
GET /optionquote/{ticker}?expiry=&strike=&type= | Single option quote with greeks (Growth+) |
GET /v1/options/{ticker} | Chain metadata — available expirations and strikes |
GET /v1/surface/{symbol} | Volatility surface grid (no auth required) |
GET /v1/stock/{symbol}/summary | Stock summary with IV rank and IV percentile |
Exposure Analytics
| Endpoint | Description |
|---|---|
GET /v1/exposure/gex/{symbol} | Gamma exposure by strike |
GET /v1/exposure/dex/{symbol} | Delta exposure by strike |
GET /v1/exposure/vex/{symbol} | Vanna exposure by strike |
GET /v1/exposure/chex/{symbol} | Charm exposure by strike |
GET /v1/exposure/summary/{symbol} | Full exposure summary (Growth+) |
GET /v1/exposure/levels/{symbol} | Key levels — gamma flip, call wall, put wall |
GET /v1/exposure/narrative/{symbol} | AI narrative analysis of positioning (Growth+) |
Pricing & Volatility
| Endpoint | Description |
|---|---|
GET /v1/pricing/greeks | BSM greeks calculator (spot, strike, dte, sigma, type) |
GET /v1/pricing/iv | Implied volatility solver |
GET /v1/pricing/kelly | Kelly criterion position sizing (Growth+) |
GET /v1/volatility/{symbol} | ATM IV, realized vol, VRP assessment (Growth+) |
Reference
| Endpoint | Description |
|---|---|
GET /v1/tickers | All available tickers |
GET /v1/symbols | Currently tracked symbols |
GET /v1/account | Account info — plan tier, remaining daily calls |
GET /health | Health check (no auth required) |
For the full options chain structure including how expirations and strikes are organized, see Options Chain API: Real-Time Greeks & Open Interest.
Quick Start
You can go from zero to live options data in under two minutes.
Step 1: Install the Python SDK.
pip install flashalpha
Step 2: Get your free API key at /pricing.
Step 3: Pull gamma exposure data for SPY.
from flashalpha import FlashAlpha
fa = FlashAlpha("your_api_key")
gex = fa.gex("SPY")
print(gex)
That's it. Five lines. The response is a structured JSON object:
{
"symbol": "SPY",
"underlying_price": 587.42,
"net_gex": 1240000000,
"gamma_flip": 585.0,
"gex_interpretation": "Positive gamma — dealers stabilize moves",
"strikes": [
{ "strike": 580.0, "call_gex": 320000000, "put_gex": -110000000, "net_gex": 210000000 },
{ "strike": 585.0, "call_gex": 580000000, "put_gex": -240000000, "net_gex": 340000000 },
{ "strike": 590.0, "call_gex": 410000000, "put_gex": -370000000, "net_gex": 40000000 }
]
}
For a more detailed walkthrough including error handling and pagination, see our Quick Start guide.
Use Cases
Screening & Scanning
Scan a universe of tickers for elevated implied volatility using the stock summary endpoint. This is how you build a daily screener that flags names trading at extreme IV rank.
from flashalpha import FlashAlpha
fa = FlashAlpha("your_api_key")
watchlist = ["SPY", "AAPL", "TSLA", "NVDA", "AMD", "QQQ"]
for ticker in watchlist:
summary = fa.stock_summary(ticker)
iv_rank = summary["volatility"]["iv_rank"]
if iv_rank > 80:
print(f"{ticker}: IV Rank {iv_rank}")
This pattern pairs well with our free tier — 50 calls/day covers a focused watchlist easily.
Options Pricing Models
Feed market-observed implied volatility into the BSM greeks calculator to price hypothetical contracts or stress-test positions under different vol assumptions.
greeks = fa.greeks(spot=587.42, strike=590, dte=14, sigma=0.18, type="call")
print(f"Delta: {greeks['first_order']['delta']}")
print(f"Gamma: {greeks['first_order']['gamma']}")
print(f"Theta: {greeks['first_order']['theta']}")
The /v1/pricing/greeks endpoint handles the math server-side, so you don't need scipy or a local BSM implementation. Our greeks API guide covers the full parameter set.
Portfolio Greeks Dashboard
Aggregate greeks across a multi-leg portfolio by querying individual option quotes and summing the weighted greeks.
positions = [
{"ticker": "SPY", "expiry": "2026-04-17", "strike": 590, "type": "call", "qty": 10},
{"ticker": "SPY", "expiry": "2026-04-17", "strike": 580, "type": "put", "qty": -5},
]
total_delta, total_gamma, total_theta = 0, 0, 0
for pos in positions:
quote = fa.option_quote(pos["ticker"], expiry=pos["expiry"],
strike=pos["strike"], type=pos["type"])
total_delta += quote["delta"] * pos["qty"] * 100
total_gamma += quote["gamma"] * pos["qty"] * 100
total_theta += quote["theta"] * pos["qty"] * 100
print(f"Portfolio Delta: {total_delta:.1f}, Gamma: {total_gamma:.2f}, Theta: ${total_theta:.2f}/day")
Backtesting
Use historical stock and option quotes to backtest options strategies. Pull historical data via historical_stock_quote() and historical_option_quote() to reconstruct P&L curves across past market regimes. Combine with expiration date data to model roll timing and theta decay accurately.
Trading Bots
The most common architecture for an automated options trading system using REST APIs:
import time
from flashalpha import FlashAlpha
fa = FlashAlpha("your_api_key")
while True:
levels = fa.exposure_levels("SPY")
quote = fa.stock_quote("SPY")
if quote["mid"] < levels["levels"]["gamma_flip"]:
print("Below gamma flip — volatility expansion likely")
# Signal your broker API to adjust hedges
time.sleep(30) # Poll every 30 seconds
For detailed patterns on efficient polling, rate-limit management, and reconnection logic, see Real-Time Options Data: Polling vs. Streaming. Full source code for these examples and more is available on GitHub.
Data Coverage
FlashAlpha covers 4,000+ US equities and ETFs with all listed expirations — weeklies, monthlies, quarterlies, and LEAPs. Data updates in real-time during market hours (9:30 AM - 4:00 PM ET).
Coverage specifics:
- Equities: All optionable US stocks and ETFs
- Expirations: Every listed expiration from weeklies through LEAPs (2+ years out)
- Strikes: Full listed strike range per expiration
- Update frequency: Real-time during market hours, with 15-second response caching
- Exposure analytics: Computed for all tracked symbols with sufficient open interest
- Volatility surfaces: Available for major tickers, no authentication required via
/v1/surface/{symbol}
Use GET /v1/tickers to retrieve the full list of available tickers, or GET /v1/symbols to see which symbols are actively tracked for exposure analytics. Explore gamma exposure data interactively using our GEX tool.
Pricing
| Plan | Price | Daily Calls | Best For |
|---|---|---|---|
| Free | $0/mo | 50 | Exploration, prototyping, small watchlists |
| Basic | $49/mo | 250 | Side projects, screening tools, personal dashboards |
| Trader | $129/mo | 1,000 | Active trading systems, multi-ticker scanning |
| Growth | $299/mo | 2,500 | Production apps, full exposure suite, AI narratives |
Start free, scale when ready. The free tier gives you 50 API calls per day — enough to prototype any integration or run a focused watchlist scanner. Growth unlocks advanced endpoints like exposure summaries, AI narrative analysis, option quotes with greeks, and Kelly criterion sizing.
For a comparison with other providers, see Options API Comparison: FlashAlpha vs. Tradier vs. Polygon vs. Intrinio.
View pricing and get your API key →
Getting Started
Three paths depending on where you are:
- Get Your API Key — Sign up and grab your key. The free plan requires no credit card.
- Try the Playground — Test endpoints interactively before writing any code.
- Read the Docs — Full API reference with every endpoint, parameter, and response schema.
- Browse on GitHub — Python SDK, example scripts, and open-source tools.
If you prefer a guided introduction, the Lab API Overview walks through the architecture and authentication flow step by step.
Frequently Asked Questions
/optionquote endpoint returns delta, gamma, theta, and vega alongside the quote data. If you want to compute greeks for hypothetical scenarios (custom spot, strike, vol inputs), use the /v1/pricing/greeks endpoint. See our greeks API article for details.pip install flashalpha). Since the API is standard REST with JSON responses, you can call it from any language using HTTP — JavaScript, Go, Rust, Java, C#, or anything else with an HTTP client. The Python SDK simply provides convenience wrappers around the REST endpoints.