specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Alpaca providerId: alpaca-markets created: '2026-07-11' modified: '2026-07-11' reconciled: false tags: - Market Data - Trading - Brokerage - Rate Limiting - Quotas description: >- Alpaca applies per-account rate limits that differ by product and plan. The Trading API is limited to 200 requests per minute per account. The Market Data API is limited to 200 requests per minute on the free Basic plan and up to 10,000 requests per minute on Algo Trader Plus. WebSocket streaming limits are by connection and symbol count: Basic connections are capped (one concurrent stock connection and a limited number of subscribed symbols), while Algo Trader Plus removes the symbol cap. The Broker API has its own per-partner limits governed by the commercial agreement. Exceeding a limit returns HTTP 429; over-connecting a stream returns an in-band error frame (code 406, connection limit exceeded). notes: >- Verify current numeric limits on the Alpaca rate-limit and market-data FAQ documentation, as tiers and caps change. WebSocket connection/symbol caps are enforced with stream error codes (for example 406) rather than HTTP status codes. sources: - https://docs.alpaca.markets/docs/about-market-data-api - https://docs.alpaca.markets/docs/market-data-faq - https://docs.alpaca.markets/docs/streaming-market-data - https://alpaca.markets/data responseCodes: throttled: 429 limits: - name: Trading API Requests scope: account metric: requests limit: 200 per minute notes: Applies to the Trading API on api.alpaca.markets and paper-api.alpaca.markets. - name: Market Data Requests (Basic) scope: account metric: requests limit: 200 per minute notes: Free Basic market-data plan REST limit. - name: Market Data Requests (Algo Trader Plus) scope: account metric: requests limit: up to 10000 per minute notes: Raised REST limit on the $99/month Algo Trader Plus plan. - name: Stock Stream Connections (Basic) scope: account metric: connections limit: 1 concurrent notes: Basic plan allows a single concurrent stock WebSocket connection. - name: Stream Symbols (Basic) scope: connection metric: symbols limit: capped (for example ~30 symbols) notes: Basic plan limits the number of subscribed symbols; Algo Trader Plus is unlimited. - name: Stream Symbols (Algo Trader Plus) scope: connection metric: symbols limit: unlimited notes: No symbol cap on the paid market-data plan. - name: Broker API Requests scope: partner metric: requests limit: per agreement notes: Broker API limits are set by the commercial agreement with Alpaca. policies: - name: HTTP Throttling description: REST requests over the per-minute limit receive HTTP 429; back off and retry. - name: Stream Connection Limit description: Opening more concurrent stream connections than the plan allows returns an in-band error frame with code 406 (connection limit exceeded). - name: Backoff Strategy description: Clients should implement exponential backoff with jitter on 429 responses and reconnect streams with a delay after disconnects. maintainers: - FN: Kin Lane email: kin@apievangelist.com