Get a market's status now
GET/api/v2/markets/{market}/status
Whether the market is open now, the current phase, the next change and the trade date of the current or next session
One request: now. A successful response counts as one request
Parameters
| Name | In | Description |
|---|---|---|
marketrequired | path | Market id, as listed by GET /markets (for example nyse, lse, cme-equity-futures)Example: nyse |
Example
curl https://marketcalendars.com/api/v2/markets/nyse/status \
-H "Authorization: Bearer mc_live_..."const res = await fetch("https://marketcalendars.com/api/v2/markets/nyse/status", {
headers: { Authorization: `Bearer ${process.env.MARKETCALENDARS_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://marketcalendars.com/api/v2/markets/nyse/status",
headers={"Authorization": f"Bearer {os.environ['MARKETCALENDARS_KEY']}"},
)
data = res.json()GET /api/v2/markets/nyse/status200
{
"market": "nyse",
"asOf": "2026-10-26T15:12:14+00:00",
"timezone": "America/New_York",
"localTime": "2026-10-26T11:12:14-04:00",
"isOpen": true,
"phase": "regular",
"tradeDate": "2026-10-26",
"nextChange": {
"at": "2026-10-26T16:00:00-04:00",
"phase": "after_hours"
},
"nextOpen": "2026-10-27T09:30:00-04:00",
"nextClose": "2026-10-26T16:00:00-04:00"
}A live response from the API. Lists longer than seven items are cut to three here
Response fields
Status object. Fields marked | null are always present and may be null
| Field | Type | Description |
|---|---|---|
| market | string | Market id |
| asOf | string (date-time) | Moment the status was computed, UTC |
| timezone | string | IANA time zone of the market |
| localTime | string (date-time) | Current time in the market's time zone |
| isOpen | boolean | True during regular trading only |
| phase | string | Current phase. unknown means the moment is outside our datapre_marketregularbreakafter_hoursclosedunknown |
| tradeDate | string (date) | null | Trade date of the current phase, or of the next session when closed |
| nextChange | object | null | Next phase change. Null when none is known within 40 days, or the market trades around the clock |
| nextChange.at | string (date-time) | When the current phase ends |
| nextChange.phase | string | Current phase. unknown means the moment is outside our datapre_marketregularbreakafter_hoursclosedunknown |
| nextOpen | string (date-time) | null | Next start of regular trading |
| nextClose | string (date-time) | null | End of the current or next regular session |
Errors
- 401unauthorizedThe Authorization header is missing, malformed, or names a revoked key
- 404unknown-marketNo market has that id. GET /markets lists every id
- 429rate-limitedThe key sent more requests in a minute than its plan's burst limit
- 429quota-exceededThe plan's requests for this period are used up