The StratAlerts Partner API enforces rate limits on a per-key basis to keep the service stable for all users. Limits are dynamic — throughput controls adjust with burst capacity during volatile sessions, so there is some flexibility during high-activity periods, but sustained high-frequency polling will still be throttled. Design your integration around the guidelines on this page to avoid unexpected errors.Documentation Index
Fetch the complete documentation index at: https://docs.stratalerts.com/llms.txt
Use this file to discover all available pages before exploring further.
REST rate limits
Rate limits are applied per API key. When you exceed the allowed request rate, the API returns an HTTP429 Too Many Requests response with the standard error envelope:
Handling a 429
When you receive a429, back off and retry with a delay. A simple exponential backoff strategy works well:
Batch requests and symbol limits
Endpoints that accept asymbols query parameter accept up to 250 symbols per request. Symbols beyond the 250-symbol limit are silently dropped. Split large symbol lists across multiple requests if your universe exceeds this limit.
The
/instruments endpoint has its own limit parameter (default 50, max 200 per page) that controls how many instrument records are returned per request, separate from the 250-symbol batch cap.WebSocket connection limits
You may have one active WebSocket connection per user account at any time. Opening a new connection automatically evicts the previous one — the older connection receives close code4409 and is terminated.
- You cannot fan out to multiple persistent WebSocket clients under the same API key or account.
- If your process restarts and reconnects, the new connection takes over immediately and the old one closes.
- Monitor for close code
4409in your client and treat it as a displacement event rather than an error.
Handling displacement
WebSocket event metering
Outbound WebSocket events are metered for billing purposes. Each event pushed to your connection — quotes, state changes, and alert notifications — is recorded as aws_message usage row. The volume of metered events depends on how many symbols you subscribe to and how active those symbols are during market hours.
WebSocket metering is separate from REST rate limits. REST requests are throttled per key, while WebSocket events are counted toward your API Access usage for billing. Check your current usage from the API Access page in your account settings.
Best practices
Following these patterns keeps your integration efficient and avoids hitting limits unnecessarily.Use WebSocket for live data
Subscribe to the
quotes, states, and alerts.* WebSocket channels instead of polling REST endpoints in a loop. WebSocket push updates are more efficient and don’t consume REST quota.Cache REST responses
Instrument metadata (
/instruments) and candle history (/candles/{symbol}) change infrequently. Cache responses locally and refresh on a schedule rather than fetching on every request.Batch symbol lookups
Use the
symbols parameter to request data for multiple instruments in a single call instead of making one request per symbol. Stay under the 250-symbol limit per call.Filter at the API
Use query parameters like
timeframe, direction, window_minutes, and limit to narrow responses server-side. Fetching more data than you need wastes quota and increases latency.