# GET /api/mcp/data/batch/expected-move

> How much is the market pricing each of these names to move by the next expiration?

Returns the expected move payload of the single endpoint for each symbol in tickers, keyed by symbol under results: the expiration used, days to expiry, spot, the move in dollars and in percent, and the implied range. Without expiration each symbol uses its own nearest expiration after today, so the horizons can differ across a mixed list; pass expiration to line them up. A symbol with no two-sided ATM straddle lands in errors and never fails the others. One rate-limit unit per call; the monthly allowance is spent per symbol.

- **Family:** Earnings and expected move (https://apexvol.com/developers/earnings-expected-move-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:** expected_move_dollars in the underlying's price; expected_move_percent in percentage points (1.91 means 1.91 percent).
- **Basis:** Per symbol, identical to /expected-move/{ticker}: the at-the-money straddle mid price for the expiration, taken as one standard deviation, against the live spot rather than the expiration's forward.
- **MCP tools:** `calculate_expected_move`
- **Background:** https://apexvol.com/learn/earnings-trading-guide

## Parameters

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `tickers` (required) | query |  | 1 to 25 symbols, comma-separated | The underlyings, upper case, duplicates dropped. A symbol with no listed options answers 404 for the whole call and names the symbol. |
| `expiration` | query | each symbol's nearest expiration after today | YYYY-MM-DD | One expiration for every symbol, so the moves share a horizon. |

## Request

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/batch/expected-move?tickers=SPY,AAPL,NVDA"
```

## 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": {
    "errors": {},
    "failed": 0,
    "note": "One rate-limit unit for the whole call; the monthly allowance is spent per symbol, exactly as if each were called alone.",
    "requested": 3,
    "results": {
      "AAPL": {
        "dte": 1,
        "expected_move_dollars": 7.1,
        "expected_move_percent": 2.25,
        "expiration": "2026-09-09",
        "lower_bound": 308.96,
        "stock_price": 316.06,
        "ticker": "AAPL",
        "upper_bound": 323.16
      },
      "NVDA": {
        "dte": 1,
        "expected_move_dollars": 4.74,
        "expected_move_percent": 2.05,
        "expiration": "2026-09-09",
        "lower_bound": 225.93,
        "stock_price": 230.67,
        "ticker": "NVDA",
        "upper_bound": 235.41
      },
      "SPY": {
        "dte": 1,
        "expected_move_dollars": 4.08,
        "expected_move_percent": 0.53,
        "expiration": "2026-09-09",
        "lower_bound": 764.31,
        "stock_price": 768.39,
        "ticker": "SPY",
        "upper_bound": 772.47
      }
    },
    "succeeded": 3,
    "tickers": [
      "SPY",
      "AAPL",
      "NVDA"
    ]
  }
}
```

## Fields

- `tickers, requested, succeeded, failed`: The symbols asked for and how many answered.
- `results.{SYMBOL}.expiration, dte`: The expiration priced and its days to expiry.
- `results.{SYMBOL}.expected_move_dollars, expected_move_percent`: The one standard deviation move.
- `results.{SYMBOL}.lower_bound, upper_bound`: Spot minus and plus the move.
- `errors.{SYMBOL}`: Why a symbol is missing from results.

## Errors

- `401`: no or revoked token
- `429`: Retry-After seconds
- `403`: Premium plan required
- `424`: no symbol in the batch returned data
- `404`: a symbol with no listed options; the whole call fails and the body names it
- Full list: https://apexvol.com/developers/errors

## Ask it in an MCP client

- What are the expected moves for SPY, AAPL and NVDA into Friday?
- Which of my earnings names has the biggest implied move this week?
- Give me the implied ranges for the Mag 7 through the monthly expiration.

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