# Options chain API

7 endpoints under `https://apexvol.com/api/mcp/data`. Every call needs `Authorization: Bearer avmcp_<token>`; tokens are issued to paid and trial accounts under Account, then API Access. Web version: https://apexvol.com/developers/options-chain-api

| Endpoint | Plan | What it answers |
|---|---|---|
| `GET /` | Basic | Which endpoints does the ApexVol API expose, and what does each one need? |
| `GET /chain-at-time/{ticker}` | Pro | How was SPY's 21 August chain priced at the close on 14 August? |
| `GET /chain/{ticker}` | Basic | What does NVDA's options chain look like near the money for the nearest expiration? |
| `GET /expirations/{ticker}` | Basic | Which expirations are listed for NVDA? |
| `GET /options-by-delta/{ticker}` | Basic | Which NVDA call is closest to 30 delta, and what does it cost? |
| `GET /search` | Basic | Which symbol is NVIDIA, and is it covered? |
| `GET /stock/{ticker}` | Basic | What is NVDA trading at and what company is it? |

## GET /

Returns the whole token surface as one JSON list. For each endpoint you get the HTTP method, the full path with its placeholders, the family it belongs to, the plan it needs, a one-line description, the query parameters with their defaults, the developer page that documents it and a request line that works as written. The family list, the endpoint count and links to the OpenAPI spec and the Markdown reference come with it. The list is read from the same records that build the developer pages, so it can never lag them. A client that holds a token can discover the API from this one call instead of a bookmarked docs page, and an unknown path answers with did_you_mean entries in this same shape.

- **Units:** No market data is involved. The response is the catalogue itself, and the call costs nothing against the monthly allowance.
- **Basis:** Generated from the endpoint records at request time. The version and updated fields say which weekly capture the example requests come from.
- **Markdown:** https://apexvol.com/developers/options-chain-api/index.md

No parameters.

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/"
```

- `endpoint_count`: How many endpoints the list holds.
- `endpoints[].method, path`: The HTTP method and the full path. {ticker} marks a path parameter.
- `endpoints[].tier`: The lowest plan whose tokens can call it: basic, premium or pro.
- `endpoints[].params`: The query parameters with their defaults, on one line.
- `endpoints[].docs`: The developer page for the endpoint.
- `endpoints[].example`: A request line that works as written, the one the docs sample was captured from.
- `families[]`: The endpoint families with their page and endpoint count.
- `openapi, markdown`: The OpenAPI 3.1 spec and the single-file Markdown reference.

## GET /chain-at-time/{ticker}

Returns calls and puts for one expiration as they were priced at the close of a past trading day, with quotes, IV, Greeks, volume and open interest.

- **Units:** Prices in dollars; implied_vol as a decimal; Greeks per share.
- **Basis:** End-of-day snapshot from the historical feed. Both the expiration and the trade date must be past dates.
- **Markdown:** https://apexvol.com/developers/options-chain-api/chain-at-time.md

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |
| `expiration` (required) | query |  | YYYY-MM-DD | The expiration to fetch. |
| `trade_date` (required) | query |  | YYYY-MM-DD, a past trading day | The day whose close to use. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/chain-at-time/SPY?expiration=2026-08-21&trade_date=2026-08-14"
```

- `calls[], puts[]`: One row per strike per side.
- `strike, bid, ask, implied_vol`: The quote and IV that day.
- `delta, gamma, theta, vega, rho`: Greeks at the close.
- `underlying_price, trade_date, time_of_day`: Context.

## GET /chain/{ticker}

One row per strike with call and put bid, ask, IV, delta, gamma, theta, vega, rho, volume and open interest for each requested expiration. Defaults to the nearest expiration and a window of strikes around spot; strike_window says when rows were trimmed.

- **Units:** Prices are dollars per share. IV Call and IV Put are decimals (0.2569 means 25.69%). Greeks are per share; volume and OI are contracts.
- **Basis:** Quotes are the parity-implied bid and ask from the data feed, not exchange NBBO. Spot is the nearest expiration's forward-implied price.
- **Markdown:** https://apexvol.com/developers/options-chain-api/chain.md

| 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. |
| `num_expirations` | query | 1 | 1 to 10 | How many expirations when expiration is not set. |
| `strikes_around` | query | 20 | 0 for the full chain | Strikes per side of the money to keep. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/chain/NVDA?num_expirations=1"
```

- `chains.<expiration>[]`: Rows keyed by expiration date.
- `Strike, Call Bid, Call Ask, Put Bid, Put Ask`: The quotes.
- `IV Call, IV Put`: Per-contract implied vol as a decimal.
- `Delta Call, Gamma Call, Theta Call, Vega Call, and the Put twins`: Per-share Greeks.
- `Volume and OI columns`: Contracts traded today and open.
- `stock_price, strike_window`: Spot used and how the rows were trimmed.

## GET /expirations/{ticker}

Returns the expiration dates the platform has a chain for, nearest first. Use it before calling an expiration-specific endpoint.

- **Units:** Dates as YYYY-MM-DD.
- **Basis:** Live listing from the data feed.
- **Markdown:** https://apexvol.com/developers/options-chain-api/expirations.md

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/expirations/NVDA"
```

- `expirations[]`: Expiration dates, nearest first.

## GET /options-by-delta/{ticker}

Returns the single call or put whose delta is closest to the target for the chosen expiration, with the actual delta, strike, bid, ask, mid and IV.

- **Units:** iv is a decimal (0.2569); iv_pct carries the same value in percentage points. Prices are dollars.
- **Basis:** Delta from the chain row. delta is bounded to 0.01 to 0.99.
- **Markdown:** https://apexvol.com/developers/options-chain-api/options-by-delta.md

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |
| `delta` | query | 0.3 | 0.01 to 0.99 | Target absolute delta. |
| `option_type` | query | call | call or put | Which side. |
| `expiration` | query | nearest | YYYY-MM-DD, a listed expiration | Which expiration to use. Defaults to the nearest one. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/options-by-delta/NVDA?delta=0.30&option_type=call"
```

- `strike, actual_delta, target_delta`: The contract chosen and how close it is.
- `bid, ask, mid`: The quote.
- `iv, iv_pct, iv_units`: Implied vol in both forms.
- `expiration, stock_price`: Context for the pick.

## GET /search

Searches the coverage universe by name or symbol and returns matches with sector and market-cap tier, plus whether an exact symbol match is supported.

- **Units:** None.
- **Basis:** The platform's coverage registry, refreshed from the data feed.
- **Markdown:** https://apexvol.com/developers/options-chain-api/search.md

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `q` (required) | query |  | text | Company name or symbol fragment. |
| `limit` | query | 8 | 1 to 20 | Maximum matches. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/search?q=nvidia"
```

- `results[].symbol, name, sector, market_cap_tier`: Each match.
- `supported, exact_match`: Whether the query is an exact covered symbol.

## GET /stock/{ticker}

A small payload with the live price, company name, sector, industry, market cap, volume, beta and the next earnings date when known.

- **Units:** price is dollars. market_cap, volume and beta are returned as formatted strings.
- **Basis:** price is the mid of the nearest-expiration parity quote from the options feed, not an exchange last. No bid or ask in this payload.
- **Markdown:** https://apexvol.com/developers/options-chain-api/stock.md

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/stock/NVDA"
```

- `price`: Live mid price.
- `company_name, sector, industry`: Identity from the coverage registry.
- `market_cap, volume, beta`: Formatted strings.
- `earnings_date`: Next report when the feed has one.

Conventions: https://apexvol.com/developers/conventions. Errors: https://apexvol.com/developers/errors. Whole API in one file: https://apexvol.com/docs/api/apexvol-api.md
