GET

Calendar Endpoint

Get comprehensive earnings calendar data for any specific date, including pre-market, after-hours, and unspecified reporting times.

/v1/calendar/{yyyy-mm-dd}

Quick Example

GET /v1/calendar/2025-07-02?apikey=YOUR_API_KEY

Parameters

Path Parameters

ParameterTypeRequiredDescription
yyyy-mm-ddstring✅ YesDate in YYYY-MM-DD format (e.g., "2025-07-02")

Query Parameters

ParameterTypeRequiredDescription
apikeystring✅ YesYour API key for authentication

Response Structure

{
  "date": "2025-07-02",
  "pre": [
    {
      "lastYearRptDt": "6/26/2024",
      "lastYearEPS": "$2.19",
      "time": "time-pre-market",
      "symbol": "UNF",
      "name": "Unifirst Corporation",
      "marketCap": 3494292442,
      "fiscalQuarterEnding": "May/2025",
      "epsForecast": "$2.12",
      "noOfEsts": "1"
    }
  ],
  "after": [
    {
      "lastYearRptDt": "6/26/2024",
      "lastYearEPS": "$0.43",
      "time": "time-after-hours",
      "symbol": "FC",
      "name": "Franklin Covey Company",
      "marketCap": 296379885,
      "fiscalQuarterEnding": "May/2025",
      "epsForecast": "($0.08)",
      "noOfEsts": "3"
    }
  ],
  "notSupplied": [
    {
      "lastYearRptDt": "5/01/2024",
      "lastYearEPS": "$0.12",
      "time": "time-not-supplied",
      "symbol": "HLN",
      "name": "Haleon plc",
      "marketCap": 46686825025,
      "fiscalQuarterEnding": "Mar/2025",
      "epsForecast": "",
      "noOfEsts": "N/A"
    }
  ]
}

Response Fields

FieldTypeDescription
datestringDate in YYYY-MM-DD format
prearrayCompanies reporting before market open
afterarrayCompanies reporting after market close
notSuppliedarrayCompanies with unspecified reporting times

Company Object Fields

FieldTypeDescription
symbolstringStock ticker symbol
namestringCompany name
marketCapnumberMarket capitalization in USD
timestringReporting time (pre-market, after-hours, not-supplied)
fiscalQuarterEndingstringFiscal quarter ending date
epsForecaststringAnalyst EPS forecast
lastYearEPSstringPrevious year same quarter EPS
lastYearRptDtstringPrevious year earnings report date
noOfEstsstringNumber of analyst estimates

Code Examples

JS

JavaScript / Node.js

const response = await fetch('https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY');

const calendar = await response.json();

// Access different reporting times
console.log('Pre-market earnings:', calendar.pre);
console.log('After-hours earnings:', calendar.after);
console.log('Unspecified time:', calendar.notSupplied);

// Example: Get all companies with market cap > $1B
const largeCaps = [
  ...calendar.pre,
  ...calendar.after,
  ...calendar.notSupplied
].filter(company => company.marketCap > 1000000000);

console.log('Large cap earnings:', largeCaps);
🐍

Python

import requests
from datetime import datetime

# Get earnings calendar for specific date
response = requests.get('https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY')
calendar = response.json()

# Process the data
pre_market = calendar['pre']
after_hours = calendar['after']
not_supplied = calendar['notSupplied']

print(f"Date: {calendar['date']}")
print(f"Pre-market companies: {len(pre_market)}")
print(f"After-hours companies: {len(after_hours)}")
print(f"Unspecified time: {len(not_supplied)}")

# Example: Find companies with analyst estimates
companies_with_estimates = []
for company in pre_market + after_hours + not_supplied:
    if company['noOfEsts'] != 'N/A' and company['noOfEsts'] != '':
        companies_with_estimates.append(company)

for company in companies_with_estimates:
    print(f"{company['symbol']}: {company['epsForecast']} (est: {company['noOfEsts']})")
$

cURL

# Basic request
curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY"

# With pretty printing (requires jq)
curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY" | jq '.'

# Save to file
curl "https://api.earningsapi.com/v1/calendar/2025-07-02?apikey=YOUR_API_KEY" -o earnings_calendar.json

Related Endpoints

GET/v1/summaries

Get earnings summaries and press releases

View Docs →
GET/v1/summaries/{id}

Get specific earnings summary by ID

View Docs →

⚠️ Rate Limiting

The Calendar API endpoint is subject to rate limiting to ensure fair usage across all users.

  • • Default limit: 1000 requests per hour
  • • Implement exponential backoff when hitting limits
  • • Check the X-RateLimit-Remaining header