Skip to content

Lavender Documentation

Lavender Gateway — $300 / instance / month

Up to 3 users, month-to-month, cancel anytime. Product overview and pricing →

Lavender Gateway delivers independently computed option Greeks — dividend-aware, early-exercise-aware, with calibrated forward prices — ticking continuously across the full OPRA universe (~6,000 names). Run it alongside your existing provider as a second opinion on your risk, a redundant source, or an independent view of how your Greeks should look.

Quick Look

Once the gateway is running, open this in any browser:

http://localhost:2112/l1/greeks?root=SPY&format=html

A full Greeks chain for SPY, rendered as an HTML table. Change the symbol and refresh. No API key needed. See Quickstart to get set up.

Works with Your Existing Code

Lavender provides compatibility layers for major option data vendors. Your existing code works unchanged — just point it at the gateway running on localhost:2112. No API key needed; any existing vendor auth headers stay on your machine and are silently ignored.

Your current call
curl -H "APCA-API-KEY-ID: YOUR_KEY" -H "APCA-API-SECRET-KEY: YOUR_SECRET" \
     "https://data.alpaca.markets/v1beta1/options/snapshots/AAPL"
#      ^^^^^^^^^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/v1beta1/options/snapshots/AAPL"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Swap the host. The Alpaca auth headers are accepted and ignored.

Alpaca compatibility guide

Your current call
curl "https://www.alphavantage.co/query?function=realtime_options&symbol=AAPL&require_greeks=true&apikey=YOUR_KEY"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                 ^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/query?function=realtime_options&symbol=AAPL&require_greeks=true&apikey=YOUR_KEY"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Swap the host. Your apikey parameter is accepted and ignored — leave it or remove it.

AlphaVantage compatibility guide

Your current call
curl -H "Authorization: Bearer YOUR_INTRINIO_KEY" \
     "https://api-v2.intrinio.com/options/chain/AAPL/2026-12-18/realtime?show_stats=true"
#      ^^^^^^^^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/options/chain/AAPL/2026-12-18/realtime?show_stats=true"
#     ^^^^^^^^^^^^^^^^^^

Swap the host. Your Intrinio API key is accepted and ignored.

Intrinio compatibility guide

Your current call
curl -H "Authorization: Bearer YOUR_LIVEVOL_TOKEN" \
     "https://api.livevol.com/v1/live/allaccess/market/option-and-underlying-quotes?symbol=AAPL"
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/allaccess/market/option-and-underlying-quotes?symbol=AAPL"
#     ^^^^^^^^^^^^^^^^^^

Swap the host. Your LiveVol auth header is accepted and ignored.

LiveVol compatibility guide

Your current call
curl -H "Authorization: Bearer YOUR_ORATS_TOKEN" \
     "https://api.orats.io/datav2/strikes?ticker=AAPL&dte=0,30"
#      ^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/datav2/strikes?ticker=AAPL&dte=0,30"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Swap the host. Your token parameter is accepted and ignored.

Orats compatibility guide

Your current call
curl -H "Authorization: Bearer YOUR_POLYGON_KEY" \
     "https://api.polygon.io/v3/snapshot/options/AAPL"
#      ^^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/v3/snapshot/options/AAPL"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Drop the auth header or leave it — either way works.

Polygon.io compatibility guide

Your current call (v3)
curl "http://localhost:25510/v3/option/snapshot/greeks/all?symbol=AAPL&expiration=*"
#                  ^^^^^
Same call through Lavender
curl "http://localhost:2112/v3/option/snapshot/greeks/all?symbol=AAPL&expiration=*"
#                  ^^^^

Change the port. Same path, parameters, and response format. Both v3 and v2 wire formats supported.

ThetaData compatibility guide

Your current call
curl -H "Authorization: Bearer YOUR_TRADIER_TOKEN" \
     "https://api.tradier.com/v1/markets/options/chains?symbol=AAPL&expiration=2026-12-18&greeks=true"
#      ^^^^^^^^^^^^^^^^^^^^^
Same call through Lavender
curl "http://localhost:2112/v1/markets/options/chains?symbol=AAPL&expiration=2026-12-18&greeks=true"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Swap the host. Your Tradier auth header is accepted and ignored.

Tradier compatibility guide


Compare Risk Side-by-Side

Two risk reports built on different assumptions is powerful. Lavender and your existing provider will often agree on the big picture — but where they diverge, you gain insight from both views.

  • If your provider uses simplified assumptions — many platforms rely on continuous dividend yields, European-style pricing, or fixed/zero borrow rates. Lavender uses discrete dividends, early exercise handling, and calibrates the implied borrow rate per expiry for stable forward prices and put-call parity. Comparing the two highlights where those simplifications cost you.
  • If you're already on a sophisticated platform — an independent second source still matters. Different models make different assumptions. Where two good models 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 every endpoint, plus a separate decay metric on the Lavender API that measures the expected price change to the same time on the next trading day, accounting for weekends and holidays.
  • Redundancy — a fully independent Greeks source if your primary provider has downtime or performance issues.
  • Same wire format — Lavender speaks your vendor's protocol, so you can run both side-by-side with zero integration effort. Compare Greeks contract-by-contract.

Which API Should I Use?

If you... Start here
Are starting fresh Lavender API — the primary API, with extended Greeks, field selection, term structure, and filtering
Have existing Alpaca code Alpaca compatibility — same options snapshots endpoint and JSON structure
Have existing AlphaVantage code AlphaVantage compatibility — same Realtime Options endpoint and JSON envelope
Have existing Intrinio code Intrinio compatibility — same options chain endpoint and JSON structure
Have existing LiveVol code LiveVol compatibility — same option quotes endpoint and JSON structure
Have existing MarketData.app code MarketData.app compatibility — same chain and quotes endpoints, columnar JSON
Have existing Orats code Orats compatibility — same strikes data endpoint and JSON structure
Have existing Polygon.io code Polygon.io compatibility — same option snapshots endpoint and JSON structure
Have existing ThetaData code ThetaData compatibility — v3 and v2 snapshot endpoints, wire-compatible
Have existing Tradier code Tradier compatibility — same option chains endpoint and JSON structure

The vendor compatibility layers let you migrate existing code with a one-line host change. The Lavender API is the primary protocol — it exposes the full feature set and is the recommended starting point for new integrations.


Learn More

  • Lavender API


    The primary API — extended Greeks through third order, field groups, term structure support, 12 filters, and 4 output formats including browser-rendered HTML.

    Lavender API reference

  • Greek Conventions


    Sign conventions, units, and the extended Greeks (second and third order) available through Lavender.

    Greek conventions