---
title: "Get Session Levels"
method: GET
path: "/api/market/session-levels"
tags: ["Market Data"]
---

# Get Session Levels

`GET /api/market/session-levels`

## Request

- Base URL: `https://api.zerogex.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.zerogex.io/api/market/session-levels`
- Auth: HTTP bearer

Get pre-market and previous-session high/low levels for a symbol.

Non-index symbols only (ETFs/equities such as SPY, QQQ) — cash indexes
have no pre-market print, so they return ``is_index: true`` with null
levels and no 404.

- premarket_high / premarket_low: high/low of today's 04:00-09:30 ET
  pre-market session (live-updating while the pre-market is in
  progress, final after the open).
- prev_session_high / prev_session_low: high/low of the previous
  trading day's regular session (09:30-16:00 ET), including the
  closing auction print.

Levels roll at the start of each new pre-market session (04:00 ET),
not at the close — the same anchoring traders use for PDH/PDL lines.
Source of record is the ``session_levels`` capture job; the endpoint
falls back to a live 1-min-bar aggregate when no captured row exists.

## Query parameters

- `symbol` string

## Response `200`

Successful Response

- SessionLevels: Pre-market + previous-session high/low for the chart level overlays. ``is_index`` is True for cash indexes (SPX, NDX, …) — they have no pre-market print, so all level fields are null and the frontend skips drawing. ``trading_date`` is the ET date whose pre-market the ``premarket_*`` fields describe; ``prev_session_*`` describe the regular session of ``prev_session_date``. ``source`` records provenance (``captured`` / ``live`` / ``captured+live``).
  - `symbol` string, required
  - `is_index` boolean
  - `trading_date` string, date, nullable
  - `premarket_high` string, nullable
  - `premarket_low` string, nullable
  - `prev_session_date` string, date, nullable
  - `prev_session_high` string, nullable
  - `prev_session_low` string, nullable
  - `source` string, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zerogex/apis/zerogex-api.md) · [All operations](https://skmtc.dev/zerogex/apis/zerogex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zerogex/apis/zerogex-api/revisions/753b26bf0592?raw)
