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
Proevent_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
Proevent_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
Proevent_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
Proevent_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
Proevent_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
Proevent_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
Proevent_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
Proevent_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.
# 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
Proearnings_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>
Premiumexpected_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
Premiumexpected_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
Premiumexpected_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
Premiumexpected_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.