---
title: "A single option contract's snapshot by its OCC symbol (e.g. O:AAPL260724C00110000): greeks, implied volatility, open interest, daily price figures, and bid/ask. Daily price and volume fields belong to snapshotDate, while openInterest belongs to its separate openInterestDate; bid/ask use real-time consolidated OPRA on Pro or a 15-minute delayed indicative feed on Plus. The Free plan covers end-of-day data only and receives 403. A Canadian listing (MIC:TICKER on XTSE or XTSX, e.g. XTSE:RY) returns the exchange's real-time bid/ask, implied volatility and open interest on Plus and Pro, in CAD (`currency`), with greeks computed from that implied volatility (`greeksBasis`)."
method: GET
path: "/v1/stocks/{ticker}/options/contract"
tags: ["Options"]
---

# A single option contract's snapshot by its OCC symbol (e.g. O:AAPL260724C00110000): greeks, implied volatility, open interest, daily price figures, and bid/ask. Daily price and volume fields belong to snapshotDate, while openInterest belongs to its separate openInterestDate; bid/ask use real-time consolidated OPRA on Pro or a 15-minute delayed indicative feed on Plus. The Free plan covers end-of-day data only and receives 403. A Canadian listing (MIC:TICKER on XTSE or XTSX, e.g. XTSE:RY) returns the exchange's real-time bid/ask, implied volatility and open interest on Plus and Pro, in CAD (\`currency\`), with greeks computed from that implied volatility (\`greeksBasis\`).

`GET /v1/stocks/{ticker}/options/contract`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/stocks/{ticker}/options/contract`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/stocks/:ticker/options/contract/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `ticker` string, required

## Query parameters

- `symbol` string

## Response `200`

OK

- OptionContractResponse
  - `ticker` string, nullable
  - `currency` string, nullable
  - `quotesAvailable` boolean
  - `contract` OptionContractDto
    - `occTicker` string, nullable
    - `contractType` string, nullable
    - `exerciseStyle` string, nullable
    - `strikePrice` number, double
    - `expirationDate` string, date
    - `sharesPerContract` integer
    - `snapshotDate` string, date, nullable: Trading session attributed to the daily price and volume fields. Null when the provider did not return a session timestamp; other values can still be present.
    - `dayOpen` number, double, nullable
    - `dayHigh` number, double, nullable
    - `dayLow` number, double, nullable
    - `dayClose` number, double, nullable: Latest trade of the snapshotDate session; it is that session's close only once the session has ended.
    - `dayVolume` integer, nullable
    - `dayVwap` number, double, nullable
    - `dayTradeCount` integer, nullable: Number of trades in the snapshotDate session.
    - `previousSession` OptionPreviousSessionDto
      - `date` string, date, nullable: The session these figures belong to. A contract that did not trade on the prior market day reports the older session it last traded, so compare this date before reading volume as yesterday's.
      - `open` number, double, nullable
      - `high` number, double, nullable
      - `low` number, double, nullable
      - `close` number, double, nullable
      - `volume` integer, nullable
      - `vwap` number, double, nullable
      - `tradeCount` integer, nullable
    - `impliedVolatility` number, double, nullable
    - `openInterest` integer, nullable
    - `openInterestDate` string, date, nullable: Effective date of openInterest. This is independent of snapshotDate and is null when the source did not provide an open-interest date.
    - `delta` number, double, nullable
    - `gamma` number, double, nullable
    - `theta` number, double, nullable
    - `vega` number, double, nullable
    - `rho` number, double, nullable
    - `greeksBasis` string, nullable: How the greeks were produced where the source states none: computedFromImpliedVolatility on a Canadian listing, from the exchange's implied volatility. Omitted otherwise.
    - `bidPrice` number, double, nullable
    - `askPrice` number, double, nullable
    - `bidSize` integer, nullable: Contracts offered at bidPrice. Omitted when no quote size was returned.
    - `askSize` integer, nullable: Contracts offered at askPrice. Omitted when no quote size was returned.
    - `bidExchange` string, nullable: The exchange showing bidPrice.
    - `askExchange` string, nullable: The exchange showing askPrice.
    - `quoteAsOf` string, date-time, nullable: Source timestamp of the bid/ask observation in UTC. Null when no quote or timestamp was returned. Independent of snapshotDate, openInterestDate, and the request time.
    - `delayed` boolean: True only when bidPrice or askPrice comes from the indicative feed. Trades on that feed are 15-minute delayed, while quotes are modified indicative values rather than delayed OPRA BBO. This does not describe the daily snapshot; use snapshotDate for that.
    - `lastTrade` OptionLastTradeDto
      - `price` number, double, nullable
      - `size` integer, nullable
      - `time` string, date-time, nullable: Source timestamp of the trade in UTC. On Plus the print is at least 15 minutes old.
      - `exchange` string, nullable: The exchange that reported the trade, or null when the source did not name it.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `503`: Service Unavailable

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/666e06778588?raw)
