---
title: "GEX by strike"
method: GET
path: "/gex/strike-profile"
tags: ["GEX"]
---

# GEX by strike

`GET /gex/strike-profile`

## Request

- Base URL: `https://docs.backquant.com/v2`
- URL: `https://docs.backquant.com/v2/gex/strike-profile`
- Auth: API key in header `X-API-Key`

Gamma exposure aggregated by strike. `?expiry=all` (default) covers every expiry, `?expiry=0dte` filters to today's expiry only, and an explicit expiry token (e.g. `28MAR25`) returns just that expiration.

Strike-axis filters (intersected when more than one is set):
* `strike_min` / `strike_max` — absolute bounds.
* `moneyness_min` / `moneyness_max` — strike/spot ratio bounds,   e.g. `0.9..1.1` keeps the ATM ±10% slab.
* `spot_window_pct` — symmetric window in percent (e.g. `5` for   ±5% of spot). Combined by intersection with the others.

When any strike filter narrows the set, `ranked_top_10` is rebuilt from the surviving strikes — the cached pre-filter ranking is not reused.

## Query parameters

- `symbol` 'BTCUSDT' | 'ETHUSDT' | 'SOLUSDT' | 'HYPEUSDT': Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.
- `exchanges` string, nullable: Comma-separated venue filter
- `expiry` string: Which expiry to include: `all` for every expiry, `0dte` for today's expiry only, or a specific date (`YYYY-MM-DD`) or Deribit token (`28MAR25`).
- `strike_min` number, nullable: Absolute lower strike bound
- `strike_max` number, nullable: Absolute upper strike bound
- `moneyness_min` number, nullable: Strike/spot lower bound (e.g. `0.9`)
- `moneyness_max` number, nullable: Strike/spot upper bound (e.g. `1.1`)
- `spot_window_pct` number, nullable: Symmetric strike window in % around spot (e.g. `5` for ±5%)

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- GexStrikeProfileResponse
  - `success` true
  - `data` GexStrikeProfileData, required
    - `expiry` string, required: `all`, `0dte`, or a specific expiry token.
    - `dte` integer, nullable: Days-to-expiry, present for specific-expiry calls.
    - `strikes` number[], required
    - `net_gex` number[], required
    - `call_gex` number[], nullable
    - `put_gex` number[], nullable
    - `call_oi` number[], nullable
    - `put_oi` number[], nullable
    - `total_oi` number[], nullable
    - `ranked_top_10` GexRankedLevel[], nullable: Top-N strikes by |GEX|. Rebuilt post-filter when narrowing.
      - `rank` integer, required
      - `strike` number, required
      - `gex` number, required
      - `abs_gex` number, required
    - `filtered_strike_window` GexStrikeWindow
      - `min` number, nullable
      - `max` number, nullable
  - `meta` V2Meta, required: The meta block returned alongside every v2 response. Every field after `version`/`timestamp` is optional because endpoints attach different combinations — e.g. `/v2/status` skips `symbol`, the chain endpoint sets `extra.filter_hash`, etc. Listing them here means SDKs get a typed accessor for each instead of a generic `meta: dict`.
    - `version` '2.0', required: API version tag.
    - `timestamp` string, required: ISO 8601 wall-clock when the response was built.
    - `request_id` string, nullable: X-Request-ID for tracing across logs / Sentry.
    - `symbol` string, nullable: Symbol the response is about, if applicable.
    - `spot_price` number, nullable: Current spot price for the symbol.
    - `computed_at` string, nullable: ISO 8601 of when the underlying cache value was last written.
    - `freshness_seconds` number, nullable: `now - computed_at` in seconds; useful for staleness alarms.
    - `source` string[], nullable: Upstream venue list the data flowed through.
    - `exchanges_filtered` string[], nullable: Echo of the `?exchanges=` filter when one was applied.
    - `rate_limit` object, nullable: `{limit, remaining, reset}` echo of the rate-limit headers.
    - `extra` object, nullable: Open dict for endpoint-specific metadata (filter_hash, etc.).

## Other responses

- `401`: Invalid or missing API key
- `404`: Not Found
- `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)
