# GET /api/mcp/data/gex/{ticker}

> Where is SPY's gamma flip today and which strikes hold the most dealer gamma?

Returns total, call and put gamma exposure, the gamma flip, the call and put walls and key strike, the per-strike profile, a per-expiration breakdown and an implications block that names the regime. Compact detail windows the lists around spot.

- **Family:** Gamma exposure (https://apexvol.com/developers/gamma-exposure-api)
- **Plan:** Premium and above. Every call needs `Authorization: Bearer avmcp_<token>`; tokens are issued to paid and trial accounts under Account, then API Access.
- **Units:** total_gex, call_gex, put_gex and gex per strike are dollars of gamma per 1% move; total_gex_billions is the same in billions. Strikes and levels are dollars.
- **Basis:** Dealer convention: dealers are long customer-sold calls and short customer-bought puts. Aggregated across the expirations listed in expirations_selected.
- **MCP tools:** `get_gex`
- **Background:** https://apexvol.com/learn/gamma-exposure-explained

## Parameters

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |
| `expiration` | query | nearest | YYYY-MM-DD, a listed expiration | Which expiration to use. Defaults to the nearest one. |
| `aggregate` | query | True | true or false | Sum across expirations or one only. |
| `detail` | query | full for REST, compact for MCP clients | compact or full | Windowed lists or everything. |
| `strikes_around` | query | 25 | 0 for all | Strikes per side under compact. |

## Request

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/gex/SPY?detail=compact&strikes_around=8"
```

## Response (captured 2026-09-08)

Real response, lists cut to the rows nearest the money. The envelope is `{"success": true, "data": ...}`.

```json
{
  "success": true,
  "data": {
    "by_expiration": [
      {
        "call_gex": 1132995456.8335,
        "expiration": "2026-09-08",
        "flip_level": null,
        "max_gamma_strike": 770,
        "min_gamma_strike": 771,
        "put_gex": -1178772712.3059,
        "stock_price": 770.25,
        "total_gex": -45777255.4724
      },
      {
        "call_gex": 631787389.7441,
        "expiration": "2026-09-09",
        "flip_level": null,
        "max_gamma_strike": 766,
        "min_gamma_strike": 769,
        "put_gex": -735739062.8266,
        "stock_price": 770.25,
        "total_gex": -103951673.0825
      },
      {
        "call_gex": 488040962.8352,
        "expiration": "2026-09-10",
        "flip_level": 777.7584,
        "max_gamma_strike": 775,
        "min_gamma_strike": 770,
        "put_gex": -396093609.9746,
        "stock_price": 770.25,
        "total_gex": 91947352.8606
      }
    ],
    "call_gex": 12388200841.1688,
    "expirations_horizon_days": 90,
    "expirations_included": 16,
    "expirations_selected": [
      "2026-09-08",
      "2026-09-09",
      "2026-09-10"
    ],
    "expirations_through": "2026-11-20",
    "expirations_total": 32,
    "flip_degenerate": false,
    "flip_level": null,
    "gamma_flip": null,
    "gex_by_strike": [
      {
        "gex": -133889311.3072,
        "oi": 27515,
        "strike": 769
      },
      {
        "gex": -52445836.8019,
        "oi": 121480,
        "strike": 770
      },
      {
        "gex": -73315508.5296,
        "oi": 23312,
        "strike": 771
      }
    ],
    "gex_profile": [
      {
        "call_gex": 237808150.3447494,
        "net_gex": -133889311.30720633,
        "put_gex": -371697461.6519557,
        "strike": 769
      },
      {
        "call_gex": 980618910.3369881,
        "net_gex": -52445836.80189216,
        "put_gex": -1033064747.1388803,
        "strike": 770
      },
      {
        "call_gex": 253439508.7709778,
        "net_gex": -73315508.52959651,
        "put_gex": -326755017.3005743,
        "strike": 771
      }
    ],
    "gex_ratio": 0.7932,
    "implications": {
      "directional_bias": "Balanced (call/put GEX 0.79)",
      "net_to_gross": -0.1153,
      "pin_at_spot": false,
      "positioning": "largest strike $760.00 (-1.3%); call wall $775.00 (+0.6%); put wall $760.00 (-1.3%)",
      "regime_code": "negative",
      "support_resistance": "--",
      "volatility_regime": "Negative GEX (dealers amplify moves)"
    },
    "key_levels": {
      "call_wall": 775.0,
      "call_wall_unconstrained": false,
      "call_wall_value": 969364047.7614,
      "flip_degenerate": false,
      "flip_level": null,
      "key_strike": 760.0,
      "key_strike_net": 1376738203.7852,
      "max_pain": null,
      "put_wall": 760.0,
      "put_wall_unconstrained": false,
      "put_wall_value": 1809628588.0631,
      "spot": 770.25
    },
    "max_gex_strike": 760,
    "put_gex": -15618693641.3721,
    "stock_price": 770.25,
    "ticker": "SPY",
    "total_gex": -3230492800.2033,
    "total_gex_billions": -3.2305,
    "window": {
      "detail": "compact",
      "lists": {
        "gex_by_strike": {
          "rows_returned": 17,
          "rows_total": 329,
          "truncated": true
        },
        "gex_profile": {
          "rows_returned": 17,
          "rows_total": 329,
          "truncated": true
        }
      },
      "strikes_around": 8
    }
  }
}
```

## Fields

- `total_gex_billions, call_gex, put_gex, gex_ratio`: The headline exposure.
- `flip_level, gamma_flip, flip_degenerate`: Where net gamma changes sign, or null when it does not.
- `key_levels.call_wall, put_wall, key_strike, spot`: The levels traders watch.
- `gex_by_strike[].strike, gex, oi`: The profile.
- `implications.volatility_regime, positioning, directional_bias`: The regime in words.
- `window`: What compact detail trimmed.

## Errors

- `401`: no or revoked token
- `429`: Retry-After seconds
- `403`: Premium plan required
- `424`: data feed unavailable, retry
- Full list: https://apexvol.com/developers/errors

## Ask it in an MCP client

- Where is the gamma flip on SPY right now?
- Which SPY strikes are the call wall and put wall today?
- Is QQQ in positive or negative gamma?

Conventions for units, bases and timestamps: https://apexvol.com/developers/conventions
