1. API
  2. Events API

Events API

What is on the calendar,
and what is priced for it.

Who reports this week and how big a move the options market has priced against what the stock usually does, the CPI, FOMC and jobs dates with estimate and actual, and which months have been kind to a ticker.

3Endpoints in this family
2Matching MCP tools
60/minPer token, 1,000 an hour

A real response

This is what
comes back.

Captured from the live endpoint on 2026-09-08, lists cut to a few rows so it fits on a page. The shape is exactly what your code receives. Run it on your own ticker from the endpoint page.

GET /api/mcp/data/earnings-calendar?days_ahead=7200, application/json
{
  "earnings": [
    {
      "cap_group": "large",
      "company_name": "Kroger Co.",
      "date": "2026-09-11",
      "datetime": "Fri, 11 Sep 2026 00:00:00 GMT",
      "days_until": 3,
      "eps_actual": null,
      "eps_estimate": 1.05,
      "fiscal_quarter": null,
      "hist_avg_move": 4.72,
      "implied_move": 3.87,
      "implied_move_basis": "expected_abs_move",
      "implied_move_sigma": 4.84,
      "market_cap": 35876625000.0,
      "move_ratio": 0.82,
      "revenue_actual": null,
      "revenue_estimate": 34641620000,
      "sector": "Consumer Staples",
      "symbol": "KR",
      "timing": "BMO",
      "updated": "2026-09-08"
    },
    {
      "cap_group": "mega",
      "company_name": "Oracle Corporation",
      "date": "2026-09-10",
      "datetime": "Thu, 10 Sep 2026 00:00:00 GMT",
      "days_until": 2,
      "eps_actual": null,
      "eps_estimate": 1.74,
      "fiscal_quarter": null,
      "hist_avg_move": 12.5,
      "implied_move": 8.02,
      "implied_move_basis": "expected_abs_move",
      "implied_move_sigma": 10.03,
      "market_cap": 456554654000.0,
      "move_ratio": 0.64,
      "revenue_actual": null,
      "revenue_estimate": 19131390000,
      "sector": "Technology",
      "symbol": "ORCL",
      "timing": "AMC",
      "updated": "2026-09-08"
    },
    {
      "cap_group": "mid",
      "company_name": "",
      "date": "2026-09-08",
      "datetime": "Tue, 08 Sep 2026 00:00:00 GMT",
      "days_until": 0,
      "eps_actual": null,
      "eps_estimate": 0.612,
      "fiscal_quarter": null,
      "hist_avg_move": 13.76,
      "implied_move": 8.36,
      "implied_move_basis": "expected_abs_move",
      "implied_move_sigma": 10.45,
      "market_cap": 2654975000.0,
      "move_ratio": 0.61,
      "revenue_actual": null,
      "revenue_estimate": 7705088000,
      "sector": "",
      "symbol": "UNFI",
      "timing": "TBD",
      "updated": "2026-09-08"
    }
  ],
  "from_date": "2026-09-08",
  "success": true,
  "timestamp": "2026-09-08T08:07:48.281034",
  "to_date": "2026-09-15",
  "total_count": 12
}

Every response is wrapped as {"success": true, "data": {...}}. Errors use the same envelope with an error string and a status code that means what it says.

Call it three ways. Same token, same JSON.

curlBearer token from Account, then API Access
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/earnings-calendar?days_ahead=7"
Pythonrequests, nothing else
import requests

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

Who reports earnings this week with the biggest implied move?

The assistant calls get_earnings_calendar and answers from the JSON above.

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

Field by field

What each
number means.

earnings[].implied_move
The move the options market prices for the report, in percent of spot.
earnings[].hist_avg_move
The average absolute reaction over past reports.
earnings[].move_ratio
implied_move divided by hist_avg_move. Above 1 means options price more than the stock usually delivers.
earnings[].timing
bmo for before the open, amc for after the close.
events[].impact, estimate, previous, actual
Macro events ranked high, medium or low with the consensus, the prior print and the release once it is out.
monthly_seasonality
Average and median return, volatility and sample size per calendar month.

The same data, in plain English

2 MCP tools
wrap this family.

Connect the ApexVol MCP server and an assistant can call these by name. One URL, a sign-in, no token to paste.

  • get_earnings_calendar
  • get_economic_calendar

Set it up in:

What people build

Three things
this is for.

Access

Auth
Bearer token, prefix avmcp_, created under Account, then API Access. Shown once, hashed at rest, rotates in one click.
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 headers.
Plans
Included with every paid or trial plan from $55 a month. Each endpoint follows the tier of its web feature; the cards above show which.
Spec
OpenAPI 3.1 at /docs/api/openapi.json, this family as one Markdown file, the whole reference at /llms-full.txt. Shared conventions, the error model and the changelog.

Questions

Asked before
the first call.

How far ahead can I look?

As far as the from_date and to_date parameters allow; the endpoint page states the range. The default window is the coming days.

Is implied_move the straddle price?

It is the move in percent of spot that the front straddle after the report implies. The expected-move endpoint returns the full term of expected moves for one ticker.

Where do the estimates come from?

The data feed's consensus figures. The actual fills in once the release is out.

Which plan?

The two calendars are Basic. Seasonality is Pro.

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 →