---
title: "Get Vol Surface"
method: GET
path: "/api/gex/vol_surface"
tags: ["GEX"]
---

# Get Vol Surface

`GET /api/gex/vol_surface`

## Request

- Base URL: `https://api.zerogex.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.zerogex.io/api/gex/vol_surface`
- Auth: HTTP bearer

Return the implied-volatility surface, ATM term structure, and 25-delta skew.

## Query parameters

- `symbol` string: Underlying symbol (e.g. SPY)
- `dte_max` integer: Max days to expiration to include
- `strike_count` integer: Number of strikes centered on spot

## Response `200`

Successful Response

- VolSurfaceResponse
  - `symbol` string, required
  - `spot_price` number, required
  - `timestamp` string, date-time, required
  - `expirations` string[], required
  - `strikes` number[], required
  - `surface` SrcApiRoutersVolSurfaceExpirationSlice[], required
    - `expiration` string, date, required
    - `dte` integer, required
    - `ivs` StrikeIV[], required
      - `strike` number, required
      - `call_iv` number, nullable
      - `put_iv` number, nullable
  - `atm_term_structure` ATMTermPoint[], required
    - `dte` integer, required
    - `atm_iv` number, nullable
  - `skew_25d` Skew25dPoint[], required
    - `dte` integer, required
    - `skew` number, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zerogex/apis/zerogex-api.md) · [All operations](https://skmtc.dev/zerogex/apis/zerogex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zerogex/apis/zerogex-api/revisions/753b26bf0592?raw)
