/v1/upcomingUpcoming holidays and early-close events across all or a specific calendar.
Last Updated: 2026-05-13
Returns upcoming holidays and early-close events within a configurable look-ahead window, either across all supported calendars or for a single specified calendar. Results are sorted by date, then calendar code. This is useful for forward-looking settlement planning, trading calendars, and risk management workflows that need to know when markets will be closed or closing early.
GET https://fincalapi.com/v1/upcoming
| Name | Type | Required | Description |
|---|---|---|---|
days |
integer | No — defaults to 30 | Number of calendar days ahead to search (1–365). The window runs from start_date to start_date + days. |
calendar |
string | No — defaults to all calendars | A specific calendar code, e.g., NYSE, LSE, SIFMA-US. Omit to return events across all 14 supported calendars. |
start_date |
string | No — defaults to today (America/New_York) | Start of the look-ahead window in YYYY-MM-DD format. Omit to start from today. |
With no parameters, /v1/upcoming returns all holidays and early-close events in the next 30 calendar days across all 14 supported calendars, starting from today's date in America/New_York time. Events are sorted by date, then by calendar code.
Click any link to see live JSON output:
import requests
# All calendars, next 30 days
response = requests.get(
"https://fincalapi.com/v1/upcoming",
params={"days": 30}
)
data = response.json()
print(f"Found {data['event_count']} events from {data['start_date']} to {data['end_date']}")
for event in data["events"]:
print(f" {event['date']} [{event['calendar']}] {event['event_type']}")
# Single calendar
response = requests.get(
"https://fincalapi.com/v1/upcoming",
params={"calendar": "NYSE", "days": 30}
)
print(response.json())
# All calendars, next 30 days
curl "https://fincalapi.com/v1/upcoming?days=30"
# NYSE only
curl "https://fincalapi.com/v1/upcoming?calendar=NYSE&days=30"
For /v1/upcoming?calendar=NYSE&start_date=2025-07-01&days=7:
{
"start_date": "2025-07-01",
"end_date": "2025-07-08",
"days": 7,
"calendars_queried": ["NYSE"],
"event_count": 2,
"events": [
{
"calendar": "NYSE",
"date": "2025-07-03",
"event_type": "early_close",
"close_time": "13:00"
},
{
"calendar": "NYSE",
"date": "2025-07-04",
"event_type": "holiday",
"close_time": null
}
]
}
days above 365 return HTTP 422.start_date is provided, today's date is determined using the America/New_York timezone./v1/calendars are accepted. An unknown calendar code returns HTTP 400.event_type: "holiday") and early-close days (event_type: "early_close"). Weekends are not included.close_time field is null for full holidays; it returns a time string (e.g., "13:00") for early-close events.