Example

Earnings Calendar Backfill + Daily Sync

Build an earnings calendar database or scheduled product workflow.

Request

GET https://api.earningsapi.com/v1/calendar/earnings?date=2026-01-31&apikey=YOUR_API_KEY

Code example

ExamplePython
import datetime as dt
import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.earningsapi.com"

def fetch_calendar(day):
    response = requests.get(
        f"{BASE_URL}/v1/calendar/earnings",
        params={"date": day.isoformat(), "apikey": API_KEY},
        timeout=30,
    )
    response.raise_for_status()
    return response.json()

start = dt.date.today() - dt.timedelta(days=90)
for offset in range(121):
    day = start + dt.timedelta(days=offset)
    calendar = fetch_calendar(day)
    print(day, len(calendar.get("pre", [])), len(calendar.get("after", [])))

Result shape

datepreafternotSupplied
2026-01-31JPM, WFCAAPL, AMZNBK
2026-02-01NoneMSFTNone

Build steps

  1. 1Loop the last 90 calendar days for historical backfill.
  2. 2Loop the next 30 days every morning for forward sync.
  3. 3Store the response by date and reporting time bucket.

Quota and limits

Compare plan limits and historical data access.

Free

  • 60 requests / minute
  • 100 requests / day
  • 1,000 requests / month
  • The most recent 24 months of historical data on supported endpoints

Pro

  • 300 requests / minute
  • Unlimited daily requests
  • Unlimited monthly requests
  • All available history on supported endpoints

Free daily and monthly quotas reset in New York time. Historical access applies to endpoints marked Historical access.

View usage and plans