From Tradier — Option Chains¶
Looking for a second source of option Greeks alongside Tradier, or an alternative option chain API with extended Greeks? Lavender delivers independently computed Greeks through Tradier's own wire format — no code changes required.
Already fetching option chains and Greeks from Tradier? Swap the host — your existing code works unchanged.
Differences from Tradier¶
Lavender matches Tradier's wire format with two specific differences worth knowing when migrating:
- Market-data fields are zeroed.
bid,ask,last,volume,open_interest, and related quote/trade fields come back with0or null values. Lavender computes Greeks; it does not redistribute OPRA quotes. - Auth header accepted-but-ignored. Your Tradier
Authorization: Bearerheader is accepted by the listener and discarded.
For the modeling differences (American exercise, discrete dividends, calibrated borrow), see How Lavender's Greeks Differ below.
What Changes¶
Swap the host. Your Tradier auth header is accepted and ignored.
Try it in your browser¶
Paste this into any browser to see Tradier-format Greeks rendered as an HTML table. No code needed.
Same Response Format¶
The JSON you get back has the same options.option structure Tradier returns:
{
"options": {
"option": [
{
"symbol": "SPY261218C00570000",
"description": "SPY Dec 18 2026 $570.00 Call",
"exch": "X",
"type": "option",
"last": 0,
"change": 0,
"change_percentage": null,
"volume": 0,
"average_volume": 0,
"last_volume": 0,
"trade_date": 1710417600,
"open": null,
"high": null,
"low": null,
"close": null,
"prevclose": null,
"week_52_high": 0,
"week_52_low": 0,
"bid": 0,
"bidsize": 0,
"bidexch": "X",
"bid_date": 1710417600,
"ask": 0,
"asksize": 0,
"askexch": "X",
"ask_date": 1710417600,
"open_interest": 0,
"underlying": "SPY",
"strike": 570.0,
"contract_size": 100,
"expiration_date": "2026-12-18",
"expiration_type": "standard",
"option_type": "call",
"root_symbol": "SPY",
"greeks": {
"delta": 0.4512,
"gamma": 0.0223,
"theta": -0.0877,
"vega": 0.2514,
"rho": 0.3124,
"phi": 0,
"bid_iv": 0.2100,
"mid_iv": 0.2346,
"ask_iv": 0.2592,
"smv_vol": 0.2346,
"updated_at": "2026-03-14 12:00:00"
}
}
]
}
}
Market data fields are zeroed
Fields like bid, ask, last, volume, and open_interest are zeroed. The greeks object and IV fields contain Lavender's computed values.
Endpoint¶
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Underlying ticker (e.g., SPY) |
expiration |
string | No | YYYY-MM-DD or * for all expirations |
greeks |
string | No | true to include the nested greeks object |
Response Fields¶
Per-Contract — Identification¶
| Field | Type | Description |
|---|---|---|
symbol |
string | OCC symbol (e.g., SPY261218C00570000) |
description |
string | Human-readable description |
exch |
string | Exchange code |
type |
string | Always "option" |
underlying |
string | Underlying ticker |
strike |
number | Strike price |
option_type |
string | "call" or "put" |
expiration_date |
string | YYYY-MM-DD |
expiration_type |
string | One of "standard" (3rd Friday monthly), "weeklys" (weekly/W-root expiries), or "eom" (end-of-month) |
root_symbol |
string | Root symbol |
contract_size |
integer | Always 100 |
Per-Contract — Market Data (zeroed)¶
The remaining per-contract fields (last, change, change_percentage, volume, average_volume, last_volume, trade_date, open, high, low, close, prevclose, week_52_high, week_52_low, bid, bidsize, bidexch, bid_date, ask, asksize, askexch, ask_date, open_interest) are present for wire compatibility but contain zeroed or null values. The JSON example above shows the exact structure and values for each field.
Greeks (when greeks=true)¶
| Field | Type | Description |
|---|---|---|
delta |
number | \(\partial V / \partial S\) |
gamma |
number | \(\partial^2 V / \partial S^2\) |
theta |
number | \(\partial V / \partial t\) — per calendar day |
vega |
number | \(\partial V / \partial \sigma\) |
rho |
number | \(\partial V / \partial r\) |
phi |
number | Dividend rho — \(\partial V / \partial q\), per-1% dividend yield convention |
bid_iv |
number | Implied volatility at bid |
mid_iv |
number | Implied volatility at mid |
ask_iv |
number | Implied volatility at ask |
smv_vol |
number | Smoothed model volatility |
updated_at |
string | Timestamp (YYYY-MM-DD HH:MM:SS) |
Greek Scaling¶
All Greeks are in natural units. Theta is returned per calendar day. All output values are rounded to 4 decimal places.
How Lavender's Greeks Differ¶
Running Lavender alongside Tradier gives you a second, independently computed perspective on the same contracts:
- Independent model — Lavender computes Greeks using the Lavender model with different assumptions. Where the two reports agree, you have confirmation. Where they diverge, you have a signal worth investigating.
- Two views of time decay — conventional theta (\(\partial V / \partial t\)) on this endpoint, plus a separate decay metric (expected change to next trading day, accounting for weekends and holidays) on the Lavender API
- Extended Greeks — access second and third-order Greeks via the Lavender API.
Migrating to the Lavender Native API¶
| Tradier | Lavender API |
|---|---|
symbol |
root |
expiration_date |
expiry |
greeks.delta |
delta (flat) |
greeks.smv_vol |
vol |
greeks.mid_iv |
vol |
Error Responses¶
| Status | Condition |
|---|---|
200 |
Success |
400 |
Missing symbol parameter |
502 |
Upstream data unavailable |
Error response body¶
Errors return a JSON envelope:
See also¶
- Field Reference — every L1 field with units, source, and example values
- Greek Conventions — sign conventions, units, and the full extended Greeks catalog
- Verify the Greeks — derive each Greek from first principles and check against the API