API guide

Stock market hours: regular, pre-market and after-hours times by time zone

Nine-thirty to four, Eastern, is the easy part. The bugs live at the edges: a 1 p.m. close the day after Thanksgiving, three weeks every March when London and New York sit four hours apart, and a clock in Phoenix that never moves.

On this page
  1. US stock market hours in every time zone
  2. What time does the stock market open and close?
  3. Holidays and early closes in 2026
  4. Daylight saving time: the weeks your schedule drifts
  5. Stock market hours today: check them with an API
  6. Beyond the US: trading hours around the world
  7. Questions

Key takeaways

  • US exchanges hold their regular session from 9:30 a.m. to 4:00 p.m. Eastern Time, Monday to Friday: 8:30 to 3:00 Central, 7:30 to 2:00 Mountain and 6:30 to 1:00 Pacific.
  • Extended hours add a pre-market session from 4:00 to 9:30 a.m. ET and an after-hours session from 4:00 to 8:00 p.m. ET, with thinner liquidity and wider spreads.
  • In 2026 the US market closes on 10 weekday holidays and closes early, at 1:00 p.m. ET, on November 27 and December 24.
  • In UTC the open is 13:30 while New York is on daylight time and 14:30 in winter; the 2026 switch dates are March 8 and November 1.
  • GET /markets/status returns the current phase plus the next open and close, with holidays and early closes applied, so nothing has to be hard-coded.

US stock market hours are 9:30 a.m. to 4:00 p.m. Eastern Time (ET), Monday to Friday: 8:30 to 3:00 Central, 7:30 to 2:00 Mountain and 6:30 to 1:00 Pacific. Pre-market trading runs from 4:00 to 9:30 a.m. ET and after-hours from 4:00 to 8:00 p.m. ET. In 2026 the market closes on ten weekday holidays and closes early, at 1:00 p.m. ET, on two more days.

That paragraph answers most questions. The rest of this page is for the days it is wrong: early closes, daylight saving time, the difference between an open market and a tradable stock, and how to ask an API instead of hard-coding any of it. The clock below shows which sessions are open as you read, on your own clock.

Market sessions right now

--:--:-- UTCForex closedUS stocks: …
SydneyForex
TokyoForex
LondonForex
New YorkForex
Pre-marketUS stocks
Regular sessionUS stocks
After-hoursUS stocks

Weekday sessions only; holidays and early closes are not shown. For today's exact state use US market status or the market status API.

Computed in your browser from the weekly schedule. It does not know about holidays or early closes; the market status API further down does.

US stock market hours in every time zone

All US exchanges run on New York time. The schedule is fixed in ET and moves for everyone else, so this is the table worth pinning:

SessionEastern (ET)Central (CT)Mountain (MT)Pacific (PT)
Pre-market4:00 to 9:30 am3:00 to 8:30 am2:00 to 7:30 am1:00 to 6:30 am
Regular session9:30 am to 4:00 pm8:30 am to 3:00 pm7:30 am to 2:00 pm6:30 am to 1:00 pm
After-hours4:00 to 8:00 pm3:00 to 7:00 pm2:00 to 6:00 pm1:00 to 5:00 pm
Early-close day, regular9:30 am to 1:00 pm8:30 am to 12:00 pm7:30 to 11:00 am6:30 to 10:00 am
Early-close day, after-hours1:00 to 5:00 pm12:00 to 4:00 pm11:00 am to 3:00 pm10:00 am to 2:00 pm
Monday to Friday, excluding market holidays. The extended windows are the full sessions; many brokers offer only part of them.

Three places break the pattern. Most of Arizona does not observe daylight saving time, so Phoenix matches Pacific time from March to November (a 6:30 a.m. open) and Mountain time in winter (7:30 a.m.). Alaska opens at 5:30 a.m. all year. Hawaii also skips daylight saving, so the bell rings there at 3:30 a.m. in summer and 4:30 a.m. in winter.

On a 24-hour UTC clock the same day looks like this. The whole schedule slides one hour when New York changes its clocks:

A US trading day in UTC, summer and winter

SummerEDT, UTC-4Pre-marketRegularAfter-hours
WinterEST, UTC-5Pre-marketRegular

Hours in UTC

Summer hours apply from March 8 to October 31, 2026; winter hours before and after. The regular session is highlighted.

What time does the stock market open and close?

The regular session opens at 9:30 a.m. ET with an opening auction: orders that built up overnight and in pre-market are matched at a single price, and that print becomes the official open. It ends at 4:00 p.m. ET with a closing auction, which sets the official close that fund valuations, index levels and most charts use. A trade at 4:05 p.m. or 7:45 p.m. is real, but it does not change the official close.

The distinction shows up in data. In a snapshot from the TickerLayer stock API, prev_close is the previous session's official close, while last_price is simply the latest trade, which at 7:00 a.m. is a pre-market print. Daily bars carry the official open and close, and intraday bars on the REST aggregates route cover 9:30 a.m. to the close.

The regular session also has a shape. Volume is heaviest in the first half hour, while overnight news gets priced, and in the last half hour, when index funds and anyone benchmarked to the close pile into the closing auction. The middle of the day, lunchtime in New York, is the quiet stretch. If a backtest assumes you can trade the same size at 12:30 p.m. as at 3:55 p.m., it is wrong about costs.

Volume through the regular session (shape)

Illustrative shape of a typical US large-cap day in 30-minute buckets, scaled to the busiest bucket. Not a measurement; single stocks and news days differ.
FeaturePre-marketRegular sessionAfter-hours
Hours (ET)4:00 to 9:30 am9:30 am to 4:00 pm4:00 to 8:00 pm
LiquidityThin, builds toward the openDeepest of the dayThin, busy after earnings
Typical spreadWideTightestWide
Opening and closing auctions
Sets the official open or close
In default intraday bars
Extended sessions are real markets with fewer people in them.

Extended hours deserve their own page: prices move on less volume, spreads widen, and many brokers accept only limit orders there. Our guide to after-hours and pre-market trading covers the risks and how those prints look in a feed. One real example: at 6:21 a.m. ET on Monday, September 28, 2026, US:KO quoted 88.11 bid and 88.30 ask, a 19-cent spread of about 22 basis points. Shortly before 7:00 a.m. the same stock quoted 88.15 / 88.20 as more buyers and sellers showed up.

Holidays and early closes in 2026

  • 251US trading days in 2026
  • 10Weekday market holidays
  • 2Early closes at 1:00 pm ET
Counted from the 2026 US calendar that GET /markets/holidays returns: 261 weekdays minus 10 closures.

The two early closes are Friday, November 27 (the day after Thanksgiving) and Thursday, December 24 (Christmas Eve). The regular session ends at 1:00 p.m. ET and after-hours runs from 1:00 to 5:00 p.m. ET. The full list of closures, with dates and names, lives on the US market hours and holidays page.

Two details trip people up. Independence Day falls on a Saturday in 2026, so the market closes on Friday, July 3 instead. And a bank holiday is not always a market holiday: stocks trade normally on Columbus Day (October 12) and Veterans Day (November 11), when banks and the US bond market are closed. Good Friday is the reverse: not a federal holiday, but the stock market is shut.

Daylight saving time: the weeks your schedule drifts

New York moves its clocks twice a year, on March 8 and November 1 in 2026. The session does not move on the local clock, so it drifts in UTC: the open is 13:30 UTC in summer and 14:30 UTC in winter. A job scheduled in UTC, which is how most servers run cron, is an hour off for half the year unless it converts from America/New_York.

Europe changes on different weekends (March 29 and October 25 in 2026), so for three weeks in spring and one week in autumn the gap between London and New York shrinks from five hours to four. Someone in London who knows the US opens at 14:30 sees it open at 13:30 on those days.

2026 datesNew York clockOpen in UTCOpen in LondonOpen in Central Europe
Jan 1 to Mar 7EST14:3014:3015:30
Mar 8 to Mar 28EDT13:3013:3014:30
Mar 29 to Oct 24EDT13:3014:3015:30
Oct 25 to Oct 31EDT13:3013:3014:30
Nov 1 to Dec 31EST14:3014:3015:30
The 9:30 a.m. ET open seen from elsewhere. Rows two and four are the mismatch weeks.

The fix is dull and reliable: store the schedule in the market's own time zone and convert at the moment you need it.

open_utc.pyPython
from datetime import date, datetime, time
from zoneinfo import ZoneInfo  # Python 3.9+

NEW_YORK = ZoneInfo("America/New_York")
UTC = ZoneInfo("UTC")


def us_open_utc(day: date) -> datetime:
    """The 9:30 a.m. New York open on `day`, as a UTC datetime."""
    return datetime.combine(day, time(9, 30), tzinfo=NEW_YORK).astimezone(UTC)


for day in [date(2026, 3, 6), date(2026, 3, 9), date(2026, 10, 30), date(2026, 11, 2)]:
    print(day, us_open_utc(day).strftime("%H:%M UTC"))
Output
2026-03-06 14:30 UTC
2026-03-09 13:30 UTC
2026-10-30 13:30 UTC
2026-11-02 14:30 UTC

That handles daylight saving. It does not handle holidays, half days or the next open after a long weekend, which is why the last step is a calendar you can ask.

Stock market hours today: check them with an API

Hard-coded hours are right on most days and wrong on the ones that matter. TickerLayer's market status endpoints answer from a maintained calendar: GET /markets/status returns the current phase and the next regular open and close, with holidays, early closes and daylight saving already applied. Free-tier keys can call it, and it covers the US plus 19 other regional stock calendars, crypto, forex and commodities.

Shell
curl -sS "https://api.tickerlayer.com/markets/status?asset=stocks&market=US&includeSessions=true" \
  -H "x-api-key: $TICKERLAYER_API_KEY"

US market status during pre-market

{
  "asset": "stocks",
  "market": "US",
  "status": "pre_market",1
  "is_open": true,2
  "phase": "pre_market",3
  "reason": "Pre-market session",
  "timestamp": "2026-09-28T10:50:20.635Z",
  "timezone": "America/New_York",
  "local_time": "2026-09-28T06:50:20.635-04:00",
  "next_open": "2026-09-28T13:30:00.000Z",4
  "next_close": "2026-09-28T20:00:00.000Z",5
  "session": {6
    "regular_open": "09:30",
    "regular_close": "16:00",
    "pre_market_open": "04:00",
    "pre_market_close": "09:30",
    "post_market_open": "16:00",
    "post_market_close": "20:00",
    "timezone": "America/New_York"
  },
  "meta": { "calendar_version": "v1-static-2026-2027" }
}
  1. statusThe short answer: open, closed, pre_market or post_market. Only open means the regular session.
  2. is_openTrue in pre-market and after-hours too. Test status or phase when you mean 9:30 to 4:00.
  3. phaseThe finer state: primary, pre_market, post_market, closed, weekend, holiday or early_close.
  4. next_openThe next regular open, in UTC. Omitted while the regular session is in progress.
  5. next_closeThe end of the current or next regular session. On November 27, 2026 it reads 18:00 UTC, which is 1:00 p.m. ET.
  6. sessionThe static daily template, returned when you pass includeSessions=true.
Live response captured on Monday, September 28, 2026 at 6:50 a.m. ET. The long meta.data_notice string is trimmed.

The same check in JavaScript, printing the UTC instants as New York wall-clock time. It needs Node 18 or newer and no dependencies:

market-open.mjsJavaScript
// node market-open.mjs   (Node 18 or newer: fetch is built in)
const res = await fetch(
  "https://api.tickerlayer.com/markets/status?asset=stocks&market=US",
  { headers: { "x-api-key": process.env.TICKERLAYER_API_KEY } },
);
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
const s = await res.json();

// Print UTC instants from the API as New York wall-clock time.
const et = (iso) =>
  new Date(iso).toLocaleString("en-US", {
    timeZone: "America/New_York",
    weekday: "short",
    hour: "numeric",
    minute: "2-digit",
  });

if (s.status === "open") {
  console.log(`Regular session open, closes ${et(s.next_close)} ET`);
} else {
  console.log(`${s.reason} (phase: ${s.phase})`);
  console.log(`Regular session opens ${et(s.next_open)} ET, closes ${et(s.next_close)} ET`);
}
Output (6:57 a.m. ET, September 28, 2026)
Pre-market session (phase: pre_market)
Regular session opens Mon 9:30 AM ET, closes Mon 4:00 PM ET

Two more endpoints complete the picture. GET /markets/sessions?market=US&date=2026-11-27 returns that day's windows in UTC (pre-market 09:00 to 14:30, regular 14:30 to 18:00, after-hours 18:00 to 22:00), and GET /markets/holidays?market=US&year=2026 returns every closure and half day. The exchange calendar API guide uses all four endpoints, including watchlists, lunch breaks and testing with the at parameter, and the market status docs list every field.

Beyond the US: trading hours around the world

Every other stock market keeps its own clock, and several do things the US does not: Tokyo, Hong Kong and Shanghai stop for lunch, Thailand pauses for about two hours, and the Saudi market trades Sunday to Thursday. TickerLayer keeps a page per market with sessions, breaks and the 2026 holiday list, and the world market hours map shows all 38 at once. Currencies are different again: they trade around the clock from Sunday evening to Friday evening, as the guide to forex market hours explains.

Building a market-hours-aware app

  • Store session times in America/New_York, never as UTC constants.
  • Treat is_open as "some session is active" and read phase to tell pre-market from the regular session.
  • Load the year's holidays and early closes together; never assume a 4:00 p.m. close.
  • Schedule work from next_open and next_close instead of polling all night.
  • Keep extended-hours prints out of daily open and close calculations.
  • Check the quote timestamp before trusting a price, even when the market is open.

Questions

What time does the stock market open?

The US stock market opens at 9:30 a.m. Eastern Time, Monday to Friday: 8:30 a.m. Central, 7:30 a.m. Mountain and 6:30 a.m. Pacific. Pre-market trading starts earlier, at 4:00 a.m. ET.

What time does the stock market close?

The regular session closes at 4:00 p.m. ET (1:00 p.m. Pacific), and after-hours trading continues until 8:00 p.m. ET. On early-close days, such as November 27 and December 24, 2026, the regular session ends at 1:00 p.m. ET.

What are stock market hours in EST?

Pre-market 4:00 to 9:30 a.m., regular session 9:30 a.m. to 4:00 p.m., after-hours 4:00 to 8:00 p.m. Strictly, EST applies only in winter; from March to November New York is on EDT, but the hours stay the same on the local clock.

Is the stock market open on weekends?

No. US exchanges trade Monday to Friday only. Weekend prices you may see for US names come from other instruments, such as perpetual contracts, not from the stock market itself.

Is the stock market open today?

It is open on weekdays except market holidays. In code, GET /markets/status?asset=stocks&market=US returns the current phase and the next open and close, with holidays and early closes applied.

How many trading days are there in 2026?

251. The year has 261 weekdays and US exchanges close on 10 of them. Two more days, November 27 and December 24, are shortened sessions that close at 1:00 p.m. ET.

Keep reading

Ready to integrate?

Start with the free tier, explore the docs, and connect via REST or WebSocket in minutes.