Yahoo API: Get earnings calendar
Gets earnings reports for a date range, or the upcoming reports and up to four previous reports for one company.
Unofficial. Not affiliated with or endorsed by Yahoo.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Days optional
days Number of consecutive days to cover, such as 7. Defaults to 7; at most 14.
7
Whole number from 1 to 14. Default
7.- Company optional
company Company name or ticker, such as Apple or AAPL. Returns its upcoming and last four reports instead of the date range.
Not set
- Start Date optional
start_date First report date in the date range (YYYY-MM-DD), such as 2026-09-28. Defaults to today.
2026-09-28
- Max Results optional
max_results Maximum reports to return, such as 50. Defaults to 50; at most 200.
50
Whole number from 1 to 200. Default
50.
Input as JSON
{ "days": 7, "start_date": "2026-09-28", "max_results": 50}Output
{ "earnings_reports": [ { "ticker": "JEF", "report_date": "2026-09-28", "time_of_day": "not supplied", "company_name": "Jefferies Financial Group Inc.", "eps_estimate": 1, "reported_eps": 1.08, "surprise_percent": 8.01, "yahoo_finance_link": "https://finance.yahoo.com/quote/JEF/" }, { "ticker": "MTN", "report_date": "2026-09-28", "time_of_day": "not supplied", "company_name": "Vail Resorts, Inc.", "eps_estimate": -5.35, "reported_eps": -5.34, "surprise_percent": 0.17, "yahoo_finance_link": "https://finance.yahoo.com/quote/MTN/" }, { "ticker": "AIR", "report_date": "2026-09-28", "time_of_day": "not supplied", "company_name": "AAR Corp.", "eps_estimate": 1.29, "reported_eps": 1.49, "surprise_percent": 15.5, "yahoo_finance_link": "https://finance.yahoo.com/quote/AIR/" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"finance.yahoo.com/get_earnings_calendar","input":{"days":7,"start_date":"2026-09-28","max_results":50}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "finance.yahoo.com/get_earnings_calendar" , "input": { "days": 7, "start_date": "2026-09-28", "max_results": 50 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "finance.yahoo.com/get_earnings_calendar" , "input": { "days": 7, "start_date": "2026-09-28", "max_results": 50 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run finance.yahoo.com/get_earnings_calendar# with {"days":7,"start_date":"2026-09-28","max_results":50}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "properties": { "days": { "type": "integer", "default": 7, "maximum": 14, "minimum": 1, "description": "Number of consecutive days to cover, such as 7. Defaults to 7; at most 14." }, "company": { "type": "string", "description": "Company name or ticker, such as Apple or AAPL. Returns its upcoming and last four reports instead of the date range." }, "start_date": { "type": "string", "description": "First report date in the date range (YYYY-MM-DD), such as 2026-09-28. Defaults to today." }, "max_results": { "type": "integer", "default": 50, "maximum": 200, "minimum": 1, "description": "Maximum reports to return, such as 50. Defaults to 50; at most 200." } }}Output schema
{ "type": "object", "required": [ "earnings_reports" ], "properties": { "earnings_reports": { "type": "array", "items": { "type": "object", "properties": { "ticker": { "type": "string" }, "report_date": { "type": "string" }, "time_of_day": { "enum": [ "before market open", "after market close", "not supplied" ], "type": "string" }, "company_name": { "type": [ "string", "null" ] }, "eps_estimate": { "type": [ "number", "null" ] }, "reported_eps": { "type": [ "number", "null" ] }, "surprise_percent": { "type": [ "number", "null" ] }, "yahoo_finance_link": { "type": "string" } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
finance.yahoo.com/get_earnings_calendar- Returns
- company name, ticker, report date, time of day, EPS estimate, reported EPS, surprise percent, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method finance.yahoo.com/get_earnings_calendar with the inputs above.
Ask your agent
- What earnings reports are coming up for Nvidia, and how do its last four EPS results compare to estimates?
- Show me the earnings calendar for the 10 days starting 2026-10-05, limited to 25 reports.
- Which companies report earnings this week, with their EPS estimates and time of day?
- On Yahoo Finance, list the upcoming earnings dates for Microsoft plus its previous four reports with surprise percentages.
- Give me all earnings releases between 2026-09-14 and the next 14 days, capped at 100 entries, with reported vs. estimated EPS.
See more
All Yahoo methodsLooks up a company by name or ticker on Yahoo Finance and returns its latest news headlines, with article summaries when the article page provides one.
finance.yahoo.com/get_company_newsShows analyst recommendations, price targets, earnings estimates and recent rating changes for a public company on Yahoo Finance.
finance.yahoo.com/get_analyst_ratingsSearches Yahoo News articles by keyword, newest first or by relevance, with optional publication dates and pages; returns only articles hosted on Yahoo News, with authors, original publisher and section.
yahoo.com/search_newsReturns Yahoo Finance daily, weekly or monthly price history and total adjusted-close return for a stock, fund, index or cryptocurrency.
finance.yahoo.com/get_price_historyLooks up a stock, fund, index, or cryptocurrency by name or ticker and returns its latest displayed price and key statistics. Unavailable figures are null; quotes may be delayed.
finance.yahoo.com/get_quoteLists Yahoo Finance's top gainers, top losers, most active stocks, or regional trending tickers in Yahoo's order, with price, change, volume and market cap.
finance.yahoo.com/list_market_moversGets scores and schedules for a league on a date, or for the football week that contains the date. Results can be limited to one team. Venue names come from each game page, for up to 22 games.
sports.yahoo.com/get_scoresLists the latest Yahoo News headlines for a section in page order, with summary, byline, original publisher, image and publication time when the article provides them.
yahoo.com/list_headlines