Skip to content
/api/market/status

Get current NYSE market session state with countdown to next session change.

Get current NYSE market session state with countdown to next session change.

Why use this

Real-time NYSE market session probe — returns whether the market is currently in pre-market (4:00-9:30 AM ET), regular session (9:30 AM-4:00 PM ET), after-hours (4:00-8:00 PM ET), or closed. Includes countdown to next session transition and full holiday awareness (MLK, Presidents', Memorial, Good Friday, Juneteenth, Independence Day, Labor Day, Thanksgiving, Christmas) with the canonical Saturday→Friday / Sunday→Monday observed-on-weekday rules. Public endpoint — no authentication required and free (`cost: 0`) so dashboards can poll aggressively without quota concerns. The right endpoint for market-hours-gated UIs (price-action displays, real-time order entry), session-aware notification systems, and rate-aware polling clients that want to back off during closed sessions.

Common use case

Displaying a market status indicator on a dashboard. Color-code UI elements by session state (green=open, amber=pre/post, grey=closed). Show countdown to next session transition.

Real-time NYSE session state — open/closed flag, current session phase (pre-market, regular, after-hours, closed), countdown to next event, holiday-awareness. Public endpoint (no auth required, cost: 0). Useful for dashboards that gate on market hours and for clients implementing rate-aware polling.

Response schema

FieldTypeNullableDescription
is_openbooleannoTrue ONLY during regular trading session (9:30 AM-4:00 PM ET on non-holiday weekdays). False during pre-market, after-hours, weekends, and holidays. Use as the canonical 'should I display real-time price ticks?' gate.
phasestringnoCurrent session phase — one of `pre_market` (4:00-9:30 AM ET), `regular` (9:30 AM-4:00 PM ET), `after_hours` (4:00-8:00 PM ET), `closed` (8:00 PM ET-4:00 AM ET on weekdays + all weekend), `holiday` (NYSE holiday — see `holiday_name`). Use for color-coded session badges (green=regular, amber=pre/post, grey=closed/holiday).
next_eventstringnoNext phase transition label — `pre_market_open`, `regular_open`, `regular_close`, `after_hours_close`, or `next_trading_day_open`. Useful for countdown UIs ('Regular session in 1h 30m').
next_event_atstringnoISO-8601 UTC timestamp of the next phase transition. Use to render absolute-time countdowns; pair with `seconds_until_next_event` for relative displays. Holiday-aware — skips weekends and NYSE holidays in the next-event computation.
seconds_until_next_eventintegernoCountdown in whole seconds until `next_event_at`. Always positive. Use for client-side countdown timers ('Market opens in 5,400 seconds = 1h 30m').
is_holidaybooleannoTrue when today is a NYSE-observed holiday (federal holidays + Good Friday — NYSE-specific). Holiday rules: Saturday holidays observed on prior Friday; Sunday holidays observed on following Monday. False on regular weekdays AND on weekends-without-observed-holiday.
holiday_namestringyesHoliday name when `is_holiday=true` (e.g. `Memorial Day`, `Independence Day`, `Thanksgiving`, `Christmas Day`, `Good Friday`). Null on non-holiday days. Use for tooltip display ('Market closed — Memorial Day').
as_ofstringnoISO-8601 UTC timestamp the snapshot was generated server-side. NOT cached — always reflects request time, since stale market-status display would be confusing during active trading.

Sample response

·
  • "data":
    • "session": "open"
    • "label": "Market Open"
    • "current_time_et": "2:30 PM ET"
    • "countdown": "1h 30m"
    • "next_event": "After-Hours at 4:00 PM ET"
    • "is_trading_day": true
    }
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/api/market/status" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).

Try it

Related endpoints