---
title: "One past session's bars across one expiration, by strike: open, high, low, close, volume, VWAP and trade count for every contract, active or expired, with `traded: false` for a contract that did not trade that session. When the expiration holds more contracts than `limit`, the strikes nearest that session's stock close are returned (`truncated` flags the cut). Narrow with `minStrike`/`maxStrike` and `type` (call/put). History begins in early 2024. Plus can read a session 30 minutes after the stock close; Pro can read the current session, with `final: false` on a read that began before it ended. The Free plan covers end-of-day data only and receives 403. Open interest, greeks and bid/ask have no history here; implied volatility history is `/options/volatility`. US listings only."
method: GET
path: "/v1/stocks/{ticker}/options/session"
tags: ["Options"]
---

# One past session's bars across one expiration, by strike: open, high, low, close, volume, VWAP and trade count for every contract, active or expired, with \`traded: false\` for a contract that did not trade that session. When the expiration holds more contracts than \`limit\`, the strikes nearest that session's stock close are returned (\`truncated\` flags the cut). Narrow with \`minStrike\`/\`maxStrike\` and \`type\` (call/put). History begins in early 2024. Plus can read a session 30 minutes after the stock close; Pro can read the current session, with \`final: false\` on a read that began before it ended. The Free plan covers end-of-day data only and receives 403. Open interest, greeks and bid/ask have no history here; implied volatility history is \`/options/volatility\`. US listings only.

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

## Request

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

## Path parameters

- `ticker` string, required

## Query parameters

- `date` string
- `expiration` string
- `minStrike` number, double
- `maxStrike` number, double
- `type` string
- `limit` integer

## Response `200`

OK

- OptionSessionResponse
  - `ticker` string, nullable
  - `companyName` string, nullable
  - `expiration` string, date
  - `session` string, date
  - `final` boolean: False when this read began before the session ended, so its figures can still change.
  - `returned` integer
  - `total` integer: Contracts matching the filter, before the `limit` cut.
  - `tradedContracts` integer: Contracts matching the filter that traded in the session.
  - `truncated` boolean
  - `contracts` OptionSessionRowDto[], nullable
    - `occTicker` string, nullable
    - `contractType` string, nullable
    - `strikePrice` number, double
    - `traded` boolean: False when the contract did not trade that session; its figures are then null.
    - `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

## 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)
