Docs
GET /v2/symbols

List supported symbols

reference_listSymbols

Every underlying this API serves, with its display name, asset class, option-chain window and entitlement floor. Use it to discover coverage, or filter it with class=equity or class=index.

Query parameters

class string

Keep one asset class: equity or index.

Details

min_tier and requires_attestation are the per-symbol entitlement the server enforces. Index symbols are listed, but their data is available in the ITMatrixHQ apps only: API keys are refused with 403 not_entitled_symbol.

Freshness

Static reference data: it changes when coverage changes, not intraday.

Limits

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

Example

http
GET /v2/symbols?class=equity
json
{
  "data": [
    {
      "symbol": "SPY",
      "name": "SPDR S&P 500 ETF Trust",
      "class": "equity",
      "chain_policy": { "window_days": 60, "tenor_frame": "weekly" },
      "min_tier": "free",
      "requires_attestation": false
    }
  ],
  "meta": { "class": "equity" }
}

Response

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

200application/json

Registry entries in data, registry order; meta.count

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
chain_policy object required

Per-symbol chain policy — the option-chain window and tenor framing the chain/GEX endpoints and the WS clamp all consume (one policy, many consumers).

tenor_frame string required

The expiry spacing to expect: daily, weekly or monthly.

window_days integer · int32 required

How many days of expiries, from today, the option chain covers.

class string required

Asset class: equity or index.

min_tier string required

Minimum tier that may read this symbol (per-symbol floor).

One of freebasicpro
name string required

Display name.

requires_attestation boolean required

Whether a non-professional market-data attestation is required (index products).

symbol string required

Ticker, uppercase (e.g. SPY, SPX).

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