API Reference

Events & Earnings

Earnings and event analytics: IV run-up patterns, historical earnings moves, expected-vs-actual comparisons, post-earnings drift, the earnings-straddle analyzer, and the (currently hidden) expected-move module.

These endpoints use session-cookie auth (the platform UI). For programmatic access with a long-lived API token, see the Bearer-token surface on the MCP / Claude integration page.

Event analysis (/api/event)

Feature key: event_analysis (Pro). All take ticker as a query parameter and are rate-limited at 100/min.

GET /api/event/earnings-pattern
Pro event_analysis

Earnings IV pattern: how IV builds into and collapses after earnings.

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/earnings-pattern?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/earnings-pattern", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/historical-moves
Pro event_analysis

Historical price-move distribution analysis.

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/historical-moves?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/historical-moves", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/seasonality
Pro event_analysis

Seasonality patterns (monthly/weekly tendencies).

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/seasonality?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/seasonality", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/expected-move
Pro event_analysis

Options-implied expected move vs historical actual moves with an over/under-priced assessment.

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/expected-move?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/expected-move", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/historical-earnings
Pro event_analysis

Historical earnings moves with overnight gaps and IV changes per event.

Parameters

ticker (required); quarters (4–24, default 12)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/historical-earnings?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/historical-earnings", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/earnings-verdict
Pro event_analysis

Combined verdict: edge analysis, confidence, and directional lean for the upcoming earnings event.

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/earnings-verdict?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/earnings-verdict", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/post-drift
Pro event_analysis

Post-earnings drift: cumulative returns in the sessions after the gap.

Parameters

ticker (required); quarters (4–24, default 12)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/post-drift?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/post-drift", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/event/earnings-from-cores
Pro event_analysis

Last 12 earnings dates and moves straight from /cores (fast, single call).

Parameters

ticker (required)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/event/earnings-from-cores?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/event/earnings-from-cores", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.

Earnings straddle analyzer (/api/earnings-straddle)

Feature key: earnings_straddle (Pro).

GET /api/earnings-straddle/<ticker>
Pro earnings_straddle

Full analysis: 12-quarter move history, straddle pricing accuracy, earnings effect decomposition.

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/earnings-straddle/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/earnings-straddle/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/earnings-straddle/<ticker>/edge
Pro earnings_straddle

Earnings edge score.

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/earnings-straddle/AAPL/edge"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/earnings-straddle/AAPL/edge")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.

Expected move module (hidden)

Feature key expected_move is unpublished — subscribers currently receive 404 on these routes (demo users can reach them for AAPL).

GET /api/expected-move/<ticker>
Premium expected_move [Hidden]

Comprehensive expected-move analysis from ATM straddle pricing.

Parameters

expiration (optional)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/expected-move/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/expected-move/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/expected-move/<ticker>/term-structure
Premium expected_move [Hidden]

Expected move across expirations.

Parameters

num (default 8)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/expected-move/AAPL/term-structure"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/expected-move/AAPL/term-structure")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/expected-move/<ticker>/history
Premium expected_move [Hidden]

Historical expected vs actual move comparison.

Parameters

quarters (default 12)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/expected-move/AAPL/history"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/expected-move/AAPL/history")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
GET /api/expected-move/<ticker>/price-range
Premium expected_move [Hidden]

Price-range visualization data.

Parameters

expiration (optional)

# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/expected-move/AAPL/price-range"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/expected-move/AAPL/price-range")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What earnings are coming up this week?"

# Claude routes the request to the matching MCP tool — no HTTP required.
7 days free, cancel anytime Card required · no charge for 7 days
Start trial →