---
title: "Premium / volume by strike"
method: GET
path: "/v1/underlying/{ticker}/by-strike"
tags: ["Underlying"]
---

# Premium / volume by strike

`GET /v1/underlying/{ticker}/by-strike`

## Request

- Base URL: `https://flow-api.skylit.ai`
- URL: `https://flow-api.skylit.ai/v1/underlying/{ticker}/by-strike`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/skylit/apis/flowseeker-skylit-public-api/docs/v1/underlying/:ticker/by-strike/get.ts> (a function with typed inputs; its response is checked against the schema)

Strike-level distribution of call/put premium, volume, and OI for
the requested window, plus chain-wide aggregates and a max-pain
estimate.

## Path parameters

- `ticker` string, required

## Query parameters

- `interval` '1D' | '1W' | '7D'
- `dte_filter` 'all' | '0-7' | '8-30' | '31-90' | '90+'
- `date` string, date

## Response `200`

Strike distribution.

- StrikeDistributionSuccess
  - `data` StrikeDistributionResponse, required
    - `ticker` string, required
    - `interval` '1D' | '1W' | '7D', required
    - `dteFilter` 'all' | '0-7' | '8-30' | '31-90' | '90+', required
    - `underlyingPrice` number, double, required
    - `totalCallPremium` number, double, required
    - `totalPutPremium` number, double, required
    - `totalCallVolume` integer, required
    - `totalPutVolume` integer, required
    - `pcRatio` number, double, required
    - `topStrike` number, double, required: Strike with the highest combined call+put premium.
    - `strikeCount` integer, required
    - `maxPain` number, double, required: Strike at which total option-holder payout would be minimized.
    - `bars` StrikeDistributionBar[], required
      - `strike` number, double, required
      - `callVolume` integer, required
      - `putVolume` integer, required
      - `callPremium` number, double, required
      - `putPremium` number, double, required
      - `callOi` integer, required
      - `putOi` integer, required
  - `meta` Meta, required
    - `timestamp` string, date-time, required: Server-side timestamp the response was generated at.
    - `requestId` string, required: Short opaque ID for log correlation.

## Other responses

- `400`: Request validation failed.
- `401`: Missing or invalid API key.
- `402`: The account's shared Skylit credit balance is lower than this route's cost. Top up to continue. Carries `X-Credits-Remaining: 0`.
- `429`: Per-minute rate limit exceeded.

---

[API](https://skmtc.dev/skylit/apis/flowseeker-skylit-public-api.md) - [All operations](https://skmtc.dev/skylit/apis/flowseeker-skylit-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/skylit/apis/flowseeker-skylit-public-api/revisions/3280190b1b24?raw)
