---
title: "Call/put OI per expiry"
method: GET
path: "/options/oi/by-expiry"
tags: ["Options"]
---

# Call/put OI per expiry

`GET /options/oi/by-expiry`

## Request

- Base URL: `https://docs.backquant.com/v2`
- URL: `https://docs.backquant.com/v2/options/oi/by-expiry`
- Auth: API key in header `X-API-Key`

Open interest aggregated by expiration with calls and puts split.

DTE-axis filters:
* `dte_min` / `dte_max` — bound the DTE window.
* `weekly_only=true` — exclude monthly + quarterly anchors   (last-Friday-of-month). Useful when monthly OI dominates the   picture and you want to see the weekly distribution alone.

## Query parameters

- `symbol` 'BTCUSDT' | 'ETHUSDT' | 'SOLUSDT' | 'HYPEUSDT': Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.
- `exchanges` string, nullable: Comma-separated venue filter
- `dte_min` integer, nullable: DTE lower bound
- `dte_max` integer, nullable: DTE upper bound
- `weekly_only` boolean: Exclude monthly + quarterly anchors (last-Friday-of-month).

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Invalid or missing API key
- `404`: No data available for the requested resource
- `422`: Validation error on query parameters
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/backquant/apis/backquant-api-v2.md) · [All operations](https://skmtc.dev/backquant/apis/backquant-api-v2/llms.txt) · [OpenAPI document](https://skmtc.dev/backquant/apis/backquant-api-v2/revisions/3c1c96b3cc24?raw)
