GET
/api/v1/options/{underlying}/greeksProfessional tier+ · 1,200 req/minGreeks snapshot — every strike in the latest chain.
Delta, gamma, vega, theta per instrument. Nulls are the norm — Deribit's `book_summary` endpoint doesn't populate Greeks; they appear only when the worker has back-filled via `public/ticker` (usually ATM ± N strikes). Pass `?instrument=BTC-27JUN25-70000-C` to fetch a single row.
Path parameters
Segments of the URL path, validated server-side.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| underlying | enum | required | — | BTC or ETH. BTCETH |
Query parameters
All query parameters are optional unless marked required.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| instrument | string | optional | — | Canonical Deribit instrument name. 404 if absent from the latest snapshot. |
Response shape
Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.
data payloadtypescript
// Wrapped in the standard envelope:
// {
// data: /* shape below */,
// meta?: { total?: number; limit?: number; offset?: number; ... }
// }
{ underlying, greeks: GreeksRow[] } | { underlying, instrument: GreeksRow }Example
Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.
Requestbash
curl -sS "http://localhost:3000/api/v1/options/BTC/greeks?instrument=BTC-27JUN25-70000-C"Responsejson
{ "data": { "underlying": "BTC", "instrument": { "instrumentName": "BTC-27JUN25-70000-C", "expiry": "27JUN25", "strike": 70000, "optionType": "C", "delta": 0.52, "gamma": 0.00013, "vega": 42.1, "theta": -18.7, "markIv": 62, "underlyingPrice": 69800 } } }Notes
- Most rows have null Greeks. The worker only back-fills the ATM band via per-instrument ticker calls.
Next
Check the error code reference, or get an API key to try the request against your own account.