Docs
GET /v2/screener/sectors

Average move by sector

screener_getSectors

Registry symbols grouped by sector, with each sector's members and their mean percent change. Use it for a sector heatmap; it is preliminary, with a sector map that covers a handful of symbols.

Query parameters

date string ISO date

Session date YYYY-MM-DD, echoed in meta. Not applied yet: rows always come from the latest session.

Details

Symbols the sector map does not cover group under other (see meta.note). Requests with an API key never see index symbols.

Units

avg_change_pct is percent (1.5 = +1.5%), the mean over the sector's symbols with data, or null when none had data.

Freshness

The same one-minute shared computation as GET /v2/screener/movers. The date parameter is echoed but not applied yet.

Limits

No per-operation limit applies to requests with an API key.

Example

http
GET /v2/screener/sectors
json
{
  "data": [
    {
      "sector": "broad_market",
      "symbols": ["SPY", "IWM"],
      "avg_change_pct": 0.22,
      "count": 2
    }
  ],
  "meta": { "count": 7, "computed_at": 1790493764431 }
}

Response

Prices are dollars, timestamps epoch milliseconds, strikes integer thousandths of a dollar; null means unknown. Units →

200application/json

One row per sector in data; meta.computed_at and a meta.note on the sector map

object

A successful response: the payload consumers parse plus response metadata. data shapes are the platform types — never reshaped by the envelope.

data array<object> required
avg_change_pct number · double nullable

Mean percent change across the sector's symbols with data, or null.

count integer required
sector string required
symbols array<string> required
meta object required

Response metadata.

caps object nullable

meta.caps — the entitlement caps that shaped this response. applied lists the caps that actually changed it (for example range_clamped).

applied array<string> required

Which caps actually shaped this response (e.g. range_clamped). Empty = nothing was clamped.

darkpool boolean nullable

Whether this account can use Off-Exchange in the site.

flow boolean nullable

Whether the OPRA option-flow capability (flow) is granted to this principal in the app: site Pro plus a CBOE non-professional attestation (never on an itm_ key). Emitted explicitly — true and false — by the account endpoints, so the app reads the grant instead of inferring it from tier and attestation; absent on routes that do not report it.

gexDepth string nullable

GEX data depth when the route reports it. Camel-cased to match the browser capability bundle; absent on unrelated routes.

tier string required

The tier the request was served under.

cursor string nullable

Opaque continuation cursor (pass back as ?cursor=); absent when there is nothing more to read.

plane string nullable

Which serving tier answered the read (meta.plane). Informational provenance: treat it as an opaque label, because new values may appear.

Errors

Every error is the JSON error envelope; branch on error.code.

StatusMeaning
401

unauthenticated

503

internal — no bars source configured here