Skip to content

Options · Single contract

Options contract greeks

Greeks and implied volatility of one contract at an interval.
GET/v1/options/contract/greeksoptionsContractGreeks
On this page

The Greeks and implied volatility of one contract sampled at an interval, oldest first, paginated with cursor_id. Greeks are computed during the regular session (09:30-16:15 ET) only, so the route covers that session; the overnight session is not available and meta.coverage.note says so. Select a range with start_time and end_time (at most 31 days) or one trading date with date; the default is the latest regular session.

Example request

curl -sS --get "https://api.ordermap.si/v1/options/contract/greeks" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode underlying_symbol=SPXW \
  --data-urlencode contract_type=call \
  --data-urlencode strike=5800 \
  --data-urlencode date_of_expiry=2026-10-16

Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.

Parameters

11 parameters, 4 required.

ParameterType and limitsDescription
underlying_symbolqueryrequiredstringat most 8 characterspattern ^[A-Za-z][A-Za-z0-9.]{0,7}$Option root of the contract, at most six characters: SPXW (weekly and daily, PM-settled) and SPX (monthly, AM-settled) are different roots, as are NDXP and NDX, RUTW and RUT, QQQ, SPY, XSP ...
contract_typequeryrequiredstringcallputcall or put.
strikequeryrequirednumber> 0max 99999.999Strike price in dollars with at most three decimals, for example 5800 or 5812.5.
date_of_expiryqueryrequiredstringdateExpiration date of the contract, YYYY-MM-DD.
greek_orderqueryoptionalstringfirstsecondthirdalldefault allWhich Greeks to compute: first (delta, theta, vega, rho, epsilon, lambda), second (gamma, vanna, charm, vomma, veta), third (speed, zomma, color, ultima) or all (every Greek, including vera, d1, d2 and the dual Greeks). The Greeks of other orders are null.
intervalqueryoptionalstring1m5m10m15m30m1hdefault 5mSampling interval.
start_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000Start of the range, Unix epoch milliseconds, inclusive. At most 31 days.
end_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000End of the range, Unix epoch milliseconds, exclusive. At most 31 days.
datequeryoptionalstringdateOne trading date, YYYY-MM-DD, instead of start_time and end_time. With a session of gth the window starts on the evening before.
limitqueryoptionalintegerdefault 1000min 1max 5000Maximum rows to return.
cursor_idqueryoptionalstringat most 1024 charactersOpaque cursor returned as pagination.next_cursor_id; resumes the same query on the next page.

Response

StatusMeaningBody
200Successful response.Schema below
400Invalid, unknown or repeated parameters, or an invalid cursor.Error object
401Missing or invalid API key.Error object
403The plan, dataset release or account state does not allow this request.Error object
422The request is valid but no data exists for it.Error object
429Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-AfterError object
500Internal error.Error object
503Data temporarily unavailable; retry after Retry-After seconds.Retry-AfterError object
504The request timed out.Error object

Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.

200 response body

  • dataarray<object>required27 fields inside
    • asknumber | nullrequiredBest offer price.
    • bidnumber | nullrequiredBest bid price.
    • charmnumber | nullrequiredChange in delta per day (delta decay). Null when not part of the requested order or outside the regular session.
    • colornumber | nullrequiredChange in gamma per day. Null when not part of the requested order or outside the regular session.
    • d1number | nullrequiredThe d1 term of the pricing model. Null when not part of the requested order or outside the regular session.
    • d2number | nullrequiredThe d2 term of the pricing model. Null when not part of the requested order or outside the regular session.
    • deltanumber | nullrequiredChange in the option price for a $1 move in the underlying. Null when not part of the requested order or outside the regular session.
    • dual_deltanumber | nullrequiredChange in the option price for a unit move in the strike. Null when not part of the requested order or outside the regular session.
    • dual_gammanumber | nullrequiredSecond derivative of the option price with respect to the strike. Null when not part of the requested order or outside the regular session.
    • epsilonnumber | nullrequiredChange in the option price for a one point move in the dividend yield. Null when not part of the requested order or outside the regular session.
    • gammanumber | nullrequiredChange in delta for a $1 move in the underlying. Null when not part of the requested order or outside the regular session.
    • implied_volatilitynumber | nullrequiredImplied volatility as a decimal (0.18 = 18%).
    • lambdanumber | nullrequiredLeverage: percentage change in the option price per percentage change in the underlying. Null when not part of the requested order or outside the regular session.
    • option_symbolstringrequiredOCC option symbol of the contract: root padded to six characters, expiration YYMMDD, C or P and the strike in thousandths over eight digits.
    • rhonumber | nullrequiredChange in the option price for a one point move in the interest rate. Null when not part of the requested order or outside the regular session.
    • speednumber | nullrequiredChange in gamma for a $1 move in the underlying. Null when not part of the requested order or outside the regular session.
    • thetanumber | nullrequiredTime decay: change in the option price per calendar day. Null when not part of the requested order or outside the regular session.
    • timestampintegerunix-msrequiredStart of the interval. Unix epoch milliseconds (UTC).
    • ultimanumber | nullrequiredChange in vomma for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
    • underlying_pricenumber | nullrequiredUnderlying price used by the model.
    • underlying_timestampinteger | nullunix-msrequiredTime of the underlying price used. Unix epoch milliseconds (UTC).
    • vannanumber | nullrequiredChange in delta for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
    • veganumber | nullrequiredChange in the option price for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
    • veranumber | nullrequiredChange in rho for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
    • vetanumber | nullrequiredChange in vega per day. Null when not part of the requested order or outside the regular session.
    • vommanumber | nullrequiredChange in vega for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
    • zommanumber | nullrequiredChange in gamma for a one point move in implied volatility. Null when not part of the requested order or outside the regular session.
  • metaobjectrequiredMeta object
  • paginationobjectrequiredPagination object

Example response

{
  "data": [
    {
      "option_symbol": "SPXW  261016C05800000",
      "timestamp": 1792157700000,
      "bid": 12.3,
      "ask": 12.6,
      "delta": 0.5123,
      "theta": -3.41,
      "vega": 2.87,
      "rho": 0.91,
      "epsilon": -0.77,
      "lambda": 48.2,
      "gamma": 0.0042,
      "vanna": -0.012,
      "charm": 0.0031,
      "vomma": 0.11,
      "veta": 0.04,
      "vera": 0.02,
      "speed": -0.00001,
      "zomma": -0.0002,
      "color": -0.0001,
      "ultima": -0.03,
      "d1": 0.03,
      "d2": 0.01,
      "dual_delta": -0.48,
      "dual_gamma": 0.0009,
      "implied_volatility": 0.182,
      "underlying_timestamp": 1792157699000,
      "underlying_price": 5801.2
    }
  ],
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "opra"
  },
  "pagination": {
    "count": 1,
    "has_more": false,
    "limit": 1000,
    "next_cursor_id": null,
    "next_url": null
  }
}

Values are illustrative. Missing values are null, never 0.