Skip to main content
The StratAlerts Partner API gives you direct, programmatic access to the same market data that powers the scanner — instrument metadata, OHLCV candles, TFC states, setup detection, and live alerts. You can pull current snapshots over REST or subscribe to live streams over WebSocket, depending on whether you need point-in-time data or continuous updates.
API access requires a separate API Access subscription plan. Your standard StratAlerts subscription does not include API access. Subscribe at app.stratalerts.com to get started.

Delivery modes

REST

Request historical data, current snapshots, and batch lookups over HTTPS. Best for periodic polling, backtesting, and on-demand queries.

WebSocket

Maintain a persistent connection and receive pushed updates as they happen. Best for live dashboards, execution systems, and alert ingestion.

Base URLs

TransportBase URL
RESThttps://app.stratalerts.com/api/market/v1
WebSocketwss://app.stratalerts.com/ws/market/v1

REST endpoints

Every endpoint requires a valid API key with the appropriate scope. See Authentication for how to pass your key.
MethodPathScopeDescription
GET/instrumentsmetadata:readList instruments with name, exchange, type, and sector
GET/instruments/{symbol}metadata:readFetch metadata for a single instrument
GET/prices/latestprices:readLatest trade price for one or more symbols
GET/candles/{symbol}candles:readOHLCV bars at any supported timeframe
GET/states/{symbol}states:readTFC color state and active setups for a symbol
GET/setups/currentstates:readAll active Strat setups across the scan universe
GET/alerts/in-forcealerts:readIn-force alerts within a rolling time window
GET/alerts/simultaneous-breaksalerts:readSimultaneous break alerts across timeframes
GET/market-statusmetadata:readCurrent market open/close status and session times

WebSocket channels

After connecting to wss://app.stratalerts.com/ws/market/v1, you subscribe to channels by sending a JSON message with "op": "subscribe". Your key must have ws:connect scope plus the scope corresponding to each channel.
ChannelScopeDescription
quotesprices:readReal-time trade price updates for subscribed symbols
statesstates:readLive TFC state changes and setup updates per symbol
alerts.in_forcealerts:readPushed in-force alert events as they fire
alerts.simultaneous_breaksalerts:readPushed simultaneous break alert events

Quick example

The following request fetches the current market status using curl. Replace YOUR_API_KEY with your actual key.
curl -s \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://app.stratalerts.com/api/market/v1/market-status
A successful response looks like this:
{
  "market": "stocks",
  "timezone": "America/New_York",
  "is_open": true,
  "session": {
    "label": "RTH",
    "session_date": "2026-04-10",
    "open_ts": "2026-04-10T09:30:00-04:00",
    "close_ts": "2026-04-10T16:00:00-04:00"
  },
  "now": "2026-04-10T11:22:00-04:00"
}

Error format

All error responses use a consistent JSON envelope regardless of the endpoint or HTTP status code.
{
  "error": {
    "code": "error_code_here",
    "message": "Human readable message"
  }
}
See Authentication for the specific error codes returned for missing or invalid keys, and Rate Limits for throughput-related errors.

Next steps

Authentication

Learn how to obtain an API key, pass it in requests, and understand scope requirements.

Rate limits

Understand per-key throughput limits, burst behavior, and WebSocket connection rules.