1. API
  2. Options chain
  3. Expirations

Options chain API, GET /expirations/{ticker}

Which expirations are listed for NVDA?

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

BasicPlan and above, from $55/mo
1MCP tool that calls it
2026-09-08Sample captured from the live endpoint

The answer, in one call

Units first,
then the request.

Dates as YYYY-MM-DD.

Live listing from the data feed.

curlBearer token from Account, then API Access
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/expirations/NVDA"
Pythonrequests, nothing else
import requests

headers = {"Authorization": "Bearer avmcp_YOUR_TOKEN"}
r = requests.get("https://apexvol.com/api/mcp/data/expirations/NVDA", headers=headers)
r.raise_for_status()
data = r.json()["data"]
print(data)
In Claude, Cursor or ChatGPTthrough the MCP server, no code
You

What expirations does NVDA have listed?

The assistant calls get_expirations and answers from the JSON below.

Tokens come with every paid or trial plan. Sign in and create one under Account, then API Access, or start a trial. Your ticker, your budget.

GET /api/mcp/data/expirations/NVDA200, application/json, captured 2026-09-08
{
  "success": true,
  "data": {
    "expirations": [
      "2026-09-09",
      "2026-09-11",
      "2026-09-14"
    ]
  }
}

Every response is wrapped as {"success": true, "data": {...}}. Lists in the sample are cut to a few rows so it fits on a page; the shape is exactly what your code receives.

Parameters

Bounded,
and the bounds are stated.

Out-of-range numbers are clamped to the documented range, never silently changed to something else. A missing required field returns 400 with the reason.

NameInDefaultRangeMeaning
ticker requiredpathany covered symbolThe underlying, upper case. Use /search to check coverage.

Field by field

What each
number means.

expirations[]
Expiration dates, nearest first.

Access, limits, errors

Before the
first call.

Plan
Basic Basic and above. Tokens are issued to paid and trial accounts from $55 a month; each endpoint follows the tier of its web feature. An endpoint above your plan answers 402 and names the plan it needs.
Auth
Bearer token, prefix avmcp_, created under Account, then API Access. Shown once, hashed at rest, rotates in one click. Always call https://apexvol.com, never www.
Limits
60 requests a minute and 1,000 an hour per token, plus a monthly allowance by plan. Every response carries the remaining counts in X-RateLimit-* headers; a 429 carries Retry-After in seconds.
Errors
401 no or revoked token; 429 Retry-After seconds; 424 data feed unavailable, retry. The full list with payload shapes is on the errors page.
Since
API 1.0. Units, bases and timestamps follow the conventions shared by every endpoint; changes are logged in the API changelog.
Machine-readable
This page as Markdown, the family as one file, the whole API as llms-full.txt or OpenAPI 3.1.

The same data, in plain English

Ask for it
in an MCP client.

Connect the ApexVol MCP server and the assistant calls get_expirations by name. One URL, a sign-in, no token to paste.

Prompts that hit this endpointcopy one into Claude, Cursor or ChatGPT
You

What expirations does NVDA have listed?

You

Is there a weekly expiration for AAPL next Friday?

You

List the next 6 SPY expirations.

More in the prompt library. Set the server up in Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, Windsurf or Gemini CLI.

Included with
every paid plan.

From $55 a month, tier-matched: your token queries the data your plan includes and Pro unlocks the full surface.

Real market data, not a sandbox. See it live on AAPL.

7 days free, cancel anytime Card required · no charge for 7 days
Start trial →