Alpaca's Trading API is rate-limited to 200 requests/minute per account in 2026, and that cap is identical for paper and live accounts — re-verified on 2026-10-1112. The Market Data API is a separate limit that scales with your data subscription: the free Basic plan (IEX feed) allows 200 requests/minute, while Algo Trader Plus ($99/month, full SIP feed) raises it to 10,000 requests/minute3. The single most-missed detail is that these are two independent ceilings — upgrading market data to 10,000/min does not lift the trading lane off 200/min. Compare Alpaca's limits against other brokers in the Broker API Comparator.
TL;DR
- Trading API: 200 requests/minute per account (paper and live are the same)12.
- Market Data (Basic, free, IEX): 200 requests/minute3.
- Market Data (Algo Trader Plus, $99/mo, SIP): 10,000 requests/minute3.
- Trading and market-data limits are independent ceilings; the market-data upgrade does not raise the trading lane.
- Geographic availability: US accounts fully supported; non-US tax residents vary by country, with paper-trading-only fallback where live is unavailable4.
The two independent rate limits
| Surface | Limit | Notes |
|---|---|---|
| Trading API | 200 req/min per account | Same for paper and live12 |
| Market Data - Basic (free, IEX) | 200 req/min | IEX feed only3 |
| Market Data - Algo Trader Plus (SIP) | 10,000 req/min | $99/month, all US exchanges3 |
| WebSocket stock symbols | 30 (Basic) / unlimited (Plus) | Per the data plan3 |
| WebSocket option quotes | 200 (Basic, indicative) / 1,000 (Plus, OPRA) | Per the data plan3 |
All values re-verified on 2026-10-1113. Basic's options data is the indicative feed (modified quotes, trades delayed 15 minutes); OPRA comes with Algo Trader Plus. See Alpaca Options Data API 2026. The trading and market-data limits are tracked separately. A high-frequency data poller on Algo Trader Plus gets 10,000 market-data calls/min but is still capped at 200 order-and-account calls/min on the trading lane.
Paper and live share the trading limit
A common assumption is that paper trading gets a looser (or tighter) rate limit than live. It does not: the 200 requests/minute trading cap applies identically to paper and live accounts12. This is deliberate — Alpaca's whole pitch is paper-to-live parity, where the same endpoints and the same constraints carry over unchanged when you flip the base URL. Code that respects the limit in paper will respect it in live.
Market data: free IEX versus paid SIP
The free Basic plan serves the IEX feed only, which is a single exchange and a small slice of consolidated US volume, at 200 requests/minute, with 30 WebSocket symbols and SIP history limited to data older than 15 minutes3. The paid Algo Trader Plus tier ($99/month) serves the full SIP consolidated tape across all US exchanges and raises the market-data limit to 10,000 requests/minute3. For the research-versus-execution implications of IEX coverage, see Alpaca IEX vs SIP Free Tier 2026.
Geographic availability
Alpaca fully supports US accounts. For non-US users, availability varies by country of tax residence: where the country is supported, live trading is available; where it is not, the account is limited to paper trading4. Canada is not explicitly listed as a confirmed live-trading country on the public availability page, so non-US operators (including Canadian residents) should confirm eligibility with Alpaca support before building against the live API4. Alpaca covers US equities, options, and crypto; it does not offer forex or non-US global markets4.
Handling the limit in practice
- Use WebSocket for streaming, REST for actions. Polling quotes over REST burns the limit fast; subscribe to the data stream and reserve REST calls for orders and account reads.
- Pace the trading lane to 200/min. Build a token-bucket throttle around order submission and account polling specifically; the data limit is a separate budget.
- A 429 is recoverable. Exceeding the limit returns HTTP 429; back off and retry. Silent drops are not the failure mode here.
Compare Alpaca's 200/min trading lane against IBKR's pacing model and Tradier's 60/min trade scope in the Broker API Comparator below.
Verified figures
The 200/min trading limit and HTTP 429 behaviour, the Basic IEX 200/min and Algo Trader Plus 10,000/min market-data limits, the WebSocket symbol and option-quote caps, the $99/month Algo Trader Plus price, and the geographic-availability page were re-verified on 2026-10-11; the paper-live parity statement comes from Alpaca's community forum (2026-05-25). Where a country's specific live-trading eligibility was not explicitly published, it is described rather than asserted.
Connects to
- Alpaca IEX vs SIP Free Tier 2026: the free-feed coverage question.
- Alpaca vs Interactive Brokers API 2026: the multi-asset head-to-head.
- Alpaca vs Tradier API 2026: the options-broker head-to-head.
- Broker API Comparator: side-by-side rate limits.
References
Footnotes
-
Alpaca Markets. "Is there a usage limit for the number of API calls?" (Trading API 200 req/min per account; 429 Too Many Requests over the limit; users cannot raise it themselves). alpaca.markets/support, re-verified 2026-10-11. https://alpaca.markets/support/usage-limit-api-calls ↩ ↩2 ↩3 ↩4 ↩5
-
Alpaca Community Forum. "200/min trading endpoint limit" (paper and live parity). Thread re-checked 2026-10-18. https://forum.alpaca.markets/t/is-there-a-way-to-increase-the-200-min-api-call-limit-for-the-trading-endpoint/18110 ↩ ↩2 ↩3 ↩4
-
Alpaca Markets. "About Market Data API" (Basic IEX 200 req/min free, 30 WebSocket symbols, 200 option quotes on the indicative feed; Algo Trader Plus $99/mo, all US exchanges, OPRA, unlimited stock symbols, 1,000 option quotes, 10,000 req/min). docs.alpaca.markets, re-verified 2026-10-11. https://docs.alpaca.markets/us/docs/about-market-data-api ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
Alpaca Markets. "Countries Alpaca is available" / "Is Alpaca available outside the US?" re-verified 2026-10-11. https://alpaca.markets/support/countries-alpaca-is-available ↩ ↩2 ↩3 ↩4
Verified engine output
Show the recompute-verified inputs and outputs
| require_free_tier | 1 |
|---|---|
| max_auth_complexity | 2 |
| filters › require options | false |
|---|---|
| filters › require futures | false |
| filters › require crypto | false |
| filters › require mcp | false |
| filters › require free tier | true |
| filters › max auth complexity | 2 |
| results › row 1 › broker › id | alpaca |
| results › row 1 › broker › name | Alpaca |
| results › row 1 › broker › url | https://alpaca.markets/ |
| results › row 1 › broker › docs url | https://alpaca.markets/docs/ |
| results › row 1 › broker › auth | API Key + Secret |
| results › row 1 › broker › auth complexity | 1 |
| results › row 1 › broker › order types (10 items) | [...] |
| results › row 1 › broker › rate limits | Trading API 200 req/min; market data 200/min free, 10,000/min on Algo Trader Plus |
| results › row 1 › broker › market data › row 1 | IEX real-time (free) |
| results › row 1 › broker › market data › row 2 | Full SIP on Algo Trader Plus ($99/mo) |
| results › row 1 › broker › market data › row 3 | Historical bars + trades + quotes |
| results › row 1 › broker › mcp | official |
| results › row 1 › broker › mcp note | Official open-source MCP server (V2 rewrite on FastMCP/OpenAPI); data, paper and live trading |
| results › row 1 › broker › assets › stocks | true |
| results › row 1 › broker › assets › options | true |
| results › row 1 › broker › assets › futures | false |
| results › row 1 › broker › assets › crypto | true |
| results › row 1 › broker › assets › forex | false |
| results › row 1 › broker › assets › bonds | false |
| results › row 1 › broker › account minimum | 0 |
| results › row 1 › broker › commission | $0 (PFOF on equities) |
| results › row 1 › broker › good for | Solo AI operator, paper-to-live parity |
| results › row 1 › broker › has free tier | true |
| results › row 1 › broker › notes › row 1 | Free paper trading with same API surface as live |
| results › row 1 › broker › notes › row 2 | Real-time OPRA options data needs Algo Trader Plus; Basic gets the indicative feed |
| results › row 1 › broker › notes › row 3 | Python/Go SDKs mature; rate-limit backoff documented |
| results › row 1 › score | 2 |
| results › row 1 › max score | 2 |
| results › row 1 › fits | true |
| results › row 2 › broker › id | tradier |
| results › row 2 › broker › name | Tradier |
| results › row 2 › broker › url | https://tradier.com/ |
| results › row 2 › broker › docs url | https://developer.tradier.com/ |
| results › row 2 › broker › auth | OAuth 2.0 |
| results › row 2 › broker › auth complexity | 3 |
| results › row 2 › broker › order types (8 items) | [...] |
| results › row 2 › broker › rate limits | 120 req/min standard and market data, 60 req/min trading (production) |
| results › row 2 › broker › market data › row 1 | Real-time equities + options (streaming) |
| results › row 2 › broker › market data › row 2 | Historical OHLC back ~5 years |
| results › row 2 › broker › market data › row 3 | No Level-2 depth |
| results › row 2 › broker › mcp | official |
| results › row 2 › broker › mcp note | Official hosted MCP server (Streamable HTTP, personal API token); market data, accounts and order placement |
| results › row 2 › broker › assets › stocks | true |
| results › row 2 › broker › assets › options | true |
| results › row 2 › broker › assets › futures | false |
| results › row 2 › broker › assets › crypto | false |
| results › row 2 › broker › assets › forex | false |
| results › row 2 › broker › assets › bonds | false |
| results › row 2 › broker › account minimum | 0 |
| results › row 2 › broker › commission | $0 equities (PFOF), $0.35/contract options Pro |
| results › row 2 › broker › good for | Options-first retail, multi-leg strategies |
| results › row 2 › broker › has free tier | true |
| results › row 2 › broker › notes › row 1 | Free sandbox with delayed data |
| results › row 2 › broker › notes › row 2 | Strong options chain + multi-leg order API |
| results › row 2 › broker › notes › row 3 | US-only account eligibility |
| results › row 2 › score | 1 |
| results › row 2 › max score | 2 |
| results › row 2 › fits | false |
| results › row 2 › fail reasons › row 1 | Auth ≤ 2 |
| results › row 3 › broker › id | robinhood |
| results › row 3 › broker › name | Robinhood |
| results › row 3 › broker › url | https://robinhood.com/ |
| results › row 3 › broker › docs url | https://docs.robinhood.com/ |
| results › row 3 › broker › auth | API key (Crypto Trading API); Robinhood sign-in (Trading MCP) |
| results › row 3 › broker › auth complexity | 3 |
| results › row 3 › broker › order types › row 1 | market |
| results › row 3 › broker › order types › row 2 | limit |
| results › row 3 › broker › order types › row 3 | stop |
| results › row 3 › broker › order types › row 4 | stop-limit |
| results › row 3 › broker › rate limits | Not publicly documented |
| results › row 3 › broker › market data › row 1 | Delayed quotes in public tier |
| results › row 3 › broker › market data › row 2 | Limited historical depth |
| results › row 3 › broker › market data › row 3 | No public Level-2 |
| results › row 3 › broker › mcp | official |
| results › row 3 › broker › mcp note | Official Robinhood Trading MCP (Agentic Trading): long equities, options and crypto, only in a dedicated agentic account; no multi-leg options |
| results › row 3 › broker › assets › stocks | true |
| results › row 3 › broker › assets › options | true |
| results › row 3 › broker › assets › futures | false |
| results › row 3 › broker › assets › crypto | true |
| results › row 3 › broker › assets › forex | false |
| results › row 3 › broker › assets › bonds | false |
| results › row 3 › broker › account minimum | 0 |
| results › row 3 › broker › commission | $0 (PFOF), $5/mo Gold for margin + extras |
| results › row 3 › broker › good for | Agent-driven trading from an existing Robinhood account; no REST API for stocks or options |
| results › row 3 › broker › has free tier | true |
| results › row 3 › broker › notes › row 1 | Official REST API covers crypto only; stocks and options are reachable only through the Trading MCP |
| results › row 3 › broker › notes › row 2 | Trade approvals are off by default for external MCP agents |
| results › row 3 › broker › notes › row 3 | Paper trading unavailable |
| results › row 3 › score | 1 |
| results › row 3 › max score | 2 |
| results › row 3 › fits | false |
| results › row 3 › fail reasons › row 1 | Auth ≤ 2 |
| results › row 4 › broker › id | schwab |
| results › row 4 › broker › name | Schwab |
| results › row 4 › broker › url | https://www.schwab.com/ |
| results › row 4 › broker › docs url | https://developer.schwab.com/ |
| results › row 4 › broker › auth | OAuth 2.0 (3-legged) |
| results › row 4 › broker › auth complexity | 4 |
| results › row 4 › broker › order types (9 items) | [...] |
| results › row 4 › broker › rate limits | 120 req/min for non-order calls per app; order writes 0-120/min per account, set at app registration |
| results › row 4 › broker › market data › row 1 | Real-time equities + options quotes |
| results › row 4 › broker › market data › row 2 | Historical bars (1m to daily) |
| results › row 4 › broker › market data › row 3 | No exchange depth via API |
| results › row 4 › broker › mcp | community |
| results › row 4 › broker › mcp note | No official MCP; community servers wrap the Trader API (self-hosted, re-authorize when the 7-day refresh token expires) |
| results › row 4 › broker › assets › stocks | true |
| results › row 4 › broker › assets › options | true |
| results › row 4 › broker › assets › futures | false |
| results › row 4 › broker › assets › crypto | false |
| results › row 4 › broker › assets › forex | false |
| results › row 4 › broker › assets › bonds | false |
| results › row 4 › broker › account minimum | 0 |
| results › row 4 › broker › commission | $0 equities, $0.65/contract options |
| results › row 4 › broker › good for | Established retail, post-TDA API migration |
| results › row 4 › broker › has free tier | true |
| results › row 4 › broker › notes › row 1 | API rebuilt after TD Ameritrade integration; still maturing |
| results › row 4 › broker › notes › row 2 | Orders cover stocks, ETFs and options; futures and forex trade on thinkorswim, not through the API |
| results › row 4 › broker › notes › row 3 | Requires individual developer registration and app review |
| results › row 4 › broker › notes › row 4 | Token refresh flow is finicky vs Alpaca/Tradier |
| results › row 4 › score | 1 |
| results › row 4 › max score | 2 |
| results › row 4 › fits | false |
| results › row 4 › fail reasons › row 1 | Auth ≤ 2 |
| results › row 5 › broker › id | ibkr |
| results › row 5 › broker › name | Interactive Brokers |
| results › row 5 › broker › url | https://www.interactivebrokers.com/ |
| results › row 5 › broker › docs url | https://www.interactivebrokers.com/en/trading/ib-api.php |
| results › row 5 › broker › auth | OAuth + TWS/IB Gateway |
| results › row 5 › broker › auth complexity | 5 |
| results › row 5 › broker › order types (10 items) | [...] |
| results › row 5 › broker › rate limits | Market-data lines / 2 requests per second (50 on the default 100 lines); small-bar history 60 requests per 10 min |
| results › row 5 › broker › market data › row 1 | Global equities via subscription bundles |
| results › row 5 › broker › market data › row 2 | Level-2 depth on most exchanges |
| results › row 5 › broker › market data › row 3 | Historical depth across asset classes |
| results › row 5 › broker › mcp | official |
| results › row 5 › broker › mcp note | Official IBKR Connector: remote MCP at api.ibkr.com, IBKR sign-in, one account; drafts trade instructions that you submit as orders yourself |
| results › row 5 › broker › assets › stocks | true |
| results › row 5 › broker › assets › options | true |
| results › row 5 › broker › assets › futures | true |
| results › row 5 › broker › assets › crypto | true |
| results › row 5 › broker › assets › forex | true |
| results › row 5 › broker › assets › bonds | true |
| results › row 5 › broker › account minimum | 0 |
| results › row 5 › broker › commission | Tiered per-share or fixed; ~$0.0035/sh tiered |
| results › row 5 › broker › good for | Multi-asset-class, international, scale |
| results › row 5 › broker › has free tier | false |
| results › row 5 › broker › notes › row 1 | Requires TWS or IB Gateway running locally |
| results › row 5 › broker › notes › row 2 | Idempotency via client-supplied orderId |
| results › row 5 › broker › notes › row 3 | Fully headless gateway is possible but under-documented |
| results › row 5 › score | 0 |
| results › row 5 › max score | 2 |
| results › row 5 › fits | false |
| results › row 5 › fail reasons › row 1 | Free tier |
| results › row 5 › fail reasons › row 2 | Auth ≤ 2 |
| fitting brokers › row 1 › broker › id | alpaca |
| fitting brokers › row 1 › broker › name | Alpaca |
| fitting brokers › row 1 › broker › url | https://alpaca.markets/ |
| fitting brokers › row 1 › broker › docs url | https://alpaca.markets/docs/ |
| fitting brokers › row 1 › broker › auth | API Key + Secret |
| fitting brokers › row 1 › broker › auth complexity | 1 |
| fitting brokers › row 1 › broker › order types (10 items) | [...] |
| fitting brokers › row 1 › broker › rate limits | Trading API 200 req/min; market data 200/min free, 10,000/min on Algo Trader Plus |
| fitting brokers › row 1 › broker › market data › row 1 | IEX real-time (free) |
| fitting brokers › row 1 › broker › market data › row 2 | Full SIP on Algo Trader Plus ($99/mo) |
| fitting brokers › row 1 › broker › market data › row 3 | Historical bars + trades + quotes |
| fitting brokers › row 1 › broker › mcp | official |
| fitting brokers › row 1 › broker › mcp note | Official open-source MCP server (V2 rewrite on FastMCP/OpenAPI); data, paper and live trading |
| fitting brokers › row 1 › broker › assets › stocks | true |
| fitting brokers › row 1 › broker › assets › options | true |
| fitting brokers › row 1 › broker › assets › futures | false |
| fitting brokers › row 1 › broker › assets › crypto | true |
| fitting brokers › row 1 › broker › assets › forex | false |
| fitting brokers › row 1 › broker › assets › bonds | false |
| fitting brokers › row 1 › broker › account minimum | 0 |
| fitting brokers › row 1 › broker › commission | $0 (PFOF on equities) |
| fitting brokers › row 1 › broker › good for | Solo AI operator, paper-to-live parity |
| fitting brokers › row 1 › broker › has free tier | true |
| fitting brokers › row 1 › broker › notes › row 1 | Free paper trading with same API surface as live |
| fitting brokers › row 1 › broker › notes › row 2 | Real-time OPRA options data needs Algo Trader Plus; Basic gets the indicative feed |
| fitting brokers › row 1 › broker › notes › row 3 | Python/Go SDKs mature; rate-limit backoff documented |
| fitting brokers › row 1 › score | 2 |
| fitting brokers › row 1 › max score | 2 |
| fitting brokers › row 1 › fits | true |
Computed live at build time.
Frequently asked questions
- What is the Alpaca trading API rate limit in 2026?
- 200 requests per minute per account on the Trading API. The cap is identical for paper and live accounts.
- Do Alpaca paper and live accounts have the same rate limit?
- Yes. The 200 requests/minute trading limit applies identically to paper and live accounts, consistent with Alpaca's paper-to-live parity design.
- What is the Alpaca market data API rate limit?
- The free Basic plan (IEX feed) allows 200 requests/minute. Algo Trader Plus ($99/month, full SIP feed) raises it to 10,000 requests/minute. The market-data limit is separate from the trading limit.
- Is Alpaca available in Canada in 2026?
- Alpaca availability varies by country of tax residence. Canada is not explicitly listed as a confirmed live-trading country on the public availability page; non-US users should confirm eligibility with Alpaca support, and unsupported countries are limited to paper trading.