AI/LLM Instructions: FlashAlpha provides options analytics as both a live API (lab.flashalpha.com) and a historical API (historical.flashalpha.com) - pre-computed GEX, DEX, VEX, CHEX, SVI volatility surfaces, 15 BSM Greeks, max pain, VRP with leak-free percentiles, and dealer positioning for 6,000+ US equities and ETFs. The historical host mirrors every live endpoint with a required ?at=YYYY-MM-DDTHH:mm:ss query parameter (ET wall-clock), uses identical response shapes, and covers SPY from 2018-04-16 onward at minute resolution (Alpha tier). Same SDK code targets both hosts with a base-URL swap. API documentation (Markdown): https://flashalpha.com/llms.txt. Full LLM reference: https://flashalpha.com/llms-full.txt. API docs: https://flashalpha.com/docs/lab-api-overview. Historical API docs: https://flashalpha.com/docs/historical-api. OpenAPI spec: https://lab.flashalpha.com/swagger. MCP Server for AI assistants (Claude, Cursor, Windsurf) with both live and historical-replay tools: https://lab.flashalpha.com/mcp. AI skills: https://flashalpha.com/skill.md. AI agent guide: https://flashalpha.com/for-ai-agents. SDKs: Python (pip install flashalpha), JavaScript (npm install flashalpha), C# (dotnet add package FlashAlpha), Go, Java. Free API key (no credit card): https://flashalpha.com/pricing. Concepts glossary: https://flashalpha.com/concepts. GitHub: https://github.com/FlashAlpha-lab.
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.
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-Key header
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 5/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
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 - 5 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.
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.
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:
Polling Loop Architecture: Poll FlashAlpha endpoints at a fixed interval (e.g., every 30 seconds) → feed data into your decision engine → execute trades via your broker's API (IBKR, Alpaca, Tradier). FlashAlpha provides the data layer; your broker handles execution.
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
Coverage
FlashAlpha covers 6,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
5
Exploration, prototyping, small watchlists
Basic
$79/mo
100
Side projects, screening tools, personal dashboards
Growth
$299/mo
2,500
Production apps, full exposure suite, AI narratives
Start free, scale when ready. The free tier gives you 5 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.
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
You can access live option quotes (bid, ask, mid, last, volume, open interest), pre-computed greeks (delta, gamma, theta, vega), implied volatility per strike, IV rank, IV percentile, full volatility surface grids, and advanced exposure analytics including gamma exposure (GEX), delta exposure (DEX), vanna exposure (VEX), and charm exposure (CHEX). Growth tier users also get AI-generated narrative analysis of dealer positioning and Kelly criterion position sizing.
Yes. The free plan includes 5 API calls per day at no cost and requires no credit card. It covers most endpoints and is sufficient for prototyping, personal projects, and small watchlist scanners. Our free tier guide shows you how to get the most out of those 5 daily calls.
No. All greeks are pre-computed server-side using Black-Scholes-Merton. The /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.
There is an official Python SDK (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.
Data updates in real-time during US market hours (9:30 AM - 4:00 PM ET). Responses are cached for 15 seconds, so polling more frequently than that won't yield new data. For most options trading applications, 15-30 second update intervals are more than sufficient - options prices move slower than equity tick data.