The short answer

For a US-equities-and-options agent, Alpaca wins on developer ergonomics: stateless REST, a free IEX feed, first-class paper trading, and a flat 200 requests/minute limit. For multi-asset coverage (global equities, futures, FX, bonds), Interactive Brokers is the only real choice, at the cost of a stateful TWS/Gateway connection and finickier pacing.

For a US-equities-and-options agent, Alpaca wins on developer ergonomics: a stateless REST/JSON API, a free IEX feed, first-class paper trading, and a flat 200 requests/minute limit. For multi-asset-class coverage (global equities, futures, FX, bonds), Interactive Brokers is the only real choice, at the cost of a stateful TWS/Gateway connection and a finickier pacing model (50 messages/second, 60 historical requests per 10 minutes). The decision is asset coverage vs integration simplicity. Compare both in the Broker API Comparator.

TL;DR

Dimension Alpaca Interactive Brokers
API style Stateless REST/JSON + WebSocket TWS/IB Gateway socket or Client Portal Web API
API fee $0 $0 (commission-based)
Trading rate limit 200 requests/minute per account ~50 messages/second to TWS
Historical-data pacing standard rate limit 60 requests / 10 minutes (strict)
Market-data lines 30 symbols WebSocket (free), unlimited on Algo Trader Plus 100 simultaneous lines default
Commission $0 (PFOF on equities) tiered/fixed commissions
Asset coverage US equities, options, crypto global equities, options, futures, FX, bonds
Paper trading First-class, same API surface Separate paper account
Geographic note Canada not supported for live (early 2026) broad global

Alpaca and IBKR figures verified 2026-05-25 against official pages (see references).

API ergonomics: REST/JSON vs the TWS socket

This is the axis that decides developer effort.

Alpaca is a stateless HTTPS REST API with JSON payloads plus a WebSocket for market data. You authenticate with an API key and secret, make requests, and you are done; there is no long-lived process to babysit. The paper-trading environment uses the same endpoints at a different base URL, so code transfers from paper to live unchanged. Alpaca's official trading rate limit is 200 requests per minute per account, returning HTTP 429 on exceed (verified 2026-05-25).

Interactive Brokers offers two paths. The classic TWS API connects to a running TWS or IB Gateway process over a socket; it is the most capable but requires keeping that gateway alive, re-authenticating periodically, and handling disconnects. The newer Client Portal Web API is REST, but adds its own OAuth/session-management complexity. IBKR's pacing is documented: a maximum of 50 messages per second to TWS (implying up to 50 orders/second), and historical-data requests are capped hard at 60 per 10-minute window, with extra rules (no identical request within 15 seconds, no more than 6 requests for the same contract within 2 seconds), and a pacing violation throttles or disconnects the client.

Cost: commission-free vs commission-based

Alpaca is commission-free on US equities and options (payment-for-order-flow model), with regulatory pass-through fees. Its market data is free on the IEX feed; the full SIP tape (Algo Trader Plus) is $99/mo with a 10,000 calls/minute limit (verified 2026-05-25).

IBKR's API is free, but trading is commission-based (tiered per-share or fixed schedules), and market data is per-subscription. Forex and crypto need no extra market-data subscription, but most securities require at least a Level 1 top-of-book subscription to receive data through the API. The default market-data line limit is 100 simultaneous instruments, extendable via quote-booster packs or higher account commissions (verified 2026-05-25, IBKR TWS API docs).

So the cost framing: Alpaca is cheaper and simpler for US equities/options; IBKR's commissions buy global multi-asset reach and institutional execution.

Rate limits side by side

The two use fundamentally different limit models:

  • Alpaca: one flat number, 200 requests/minute per account on the trading API; market-data limits scale with the subscription tier (10,000 calls/min on Algo Trader Plus).
  • IBKR: a message-rate ceiling (50 msg/sec) plus separate, strict historical-data pacing (60 requests / 10 min) and a 100-line market-data cap. The historical-data pacing in particular bites agents that poll option chains or backfill bars aggressively.

For a high-frequency-of-requests agent, Alpaca's single 200/min number is easier to reason about; IBKR's multi-dimensional pacing requires careful request scheduling to avoid violations.

Asset coverage: the real differentiator

Alpaca covers US equities, US options, and crypto (a separate product line). It does not offer futures, forex, bonds, or international equities. IBKR covers all of those through one account: global equities, options, futures, forex, and bonds. If the strategy touches anything beyond US equities/options/crypto, IBKR is the only one of the two that can serve it.

The comparator's view

The Broker API Comparator scenario below models the US-equities-and-options agent: options required, free tier required, auth complexity ceiling of 2 (Alpaca's API-key model scores 1; IBKR's TWS-Gateway path scores 5). Alpaca fits at 3/3; IBKR scores 1/3, failing on free tier and auth. The verified output block at the foot of the page is computed live from the shipped engine bundle. Flip the scenario toward futures or international and IBKR becomes the only fit, which is the whole point of the trade-off.

Decision guidance

  • US equities + options agent, want the simplest integration: Alpaca. REST/JSON, free IEX, paper parity.
  • Anything multi-asset (futures, FX, bonds, international): Interactive Brokers. Only one of the two that covers it.
  • High request volume, simple to reason about: Alpaca's flat 200/min beats IBKR's multi-dimensional pacing.
  • Outside the US (e.g. Canada): check eligibility; Alpaca did not support Canada for live accounts in early 2026, while IBKR's global footprint is broader.

Connects to

References

  • Alpaca. "Usage limit for API calls" and "About Market Data API." alpaca.markets/support/usage-limit-api-calls, docs.alpaca.markets/us/docs/about-market-data-api, verified 2026-05-25 (200 req/min, free IEX, Algo Trader Plus $99/mo, 10,000 calls/min).
  • Interactive Brokers. "TWS API: Order Limitations, Historical Data Limitations, Streaming Market Data." interactivebrokers.github.io/tws-api, verified 2026-05-25 (50 msg/sec, 60 historical requests / 10 min, 100 market-data lines).
  • Interactive Brokers. "Market Data Subscriptions." interactivebrokers.com/campus/ibkr-api-page/market-data-subscriptions, accessed 2026-05-25.

Verified engine output

Show the recompute-verified inputs and outputs
US equities + options agent: options + free tier required, auth complexity <= 2
Inputs
require_optionstrue
require_futuresfalse
require_cryptofalse
require_mcpfalse
require_free_tiertrue
max_auth_complexity2
Result
filters › require optionstrue
filters › require futuresfalse
filters › require cryptofalse
filters › require mcpfalse
filters › require free tiertrue
filters › max auth complexity2
results › row 1 › broker › idalpaca
results › row 1 › broker › nameAlpaca
results › row 1 › broker › urlhttps://alpaca.markets/
results › row 1 › broker › docs urlhttps://alpaca.markets/docs/
results › row 1 › broker › authAPI Key + Secret
results › row 1 › broker › auth complexity1
results › row 1 › broker › order types (10 items)[...]
results › row 1 › broker › rate limits200 req/min (free), higher on paid tiers
results › row 1 › broker › market data › row 1IEX real-time (free)
results › row 1 › broker › market data › row 2Full SIP on Algo Trader Plus ($99/mo)
results › row 1 › broker › market data › row 3Historical bars + trades + quotes
results › row 1 › broker › mcpofficial
results › row 1 › broker › mcp noteOfficial MCP V2, 61 actions, idempotent order submission
results › row 1 › broker › assets › stockstrue
results › row 1 › broker › assets › optionstrue
results › row 1 › broker › assets › futuresfalse
results › row 1 › broker › assets › cryptotrue
results › row 1 › broker › assets › forexfalse
results › row 1 › broker › assets › bondsfalse
results › row 1 › broker › account minimum0
results › row 1 › broker › commission$0 (PFOF on equities)
results › row 1 › broker › good forSolo AI operator, paper-to-live parity
results › row 1 › broker › has free tiertrue
results › row 1 › broker › notes › row 1Free paper trading with same API surface as live
results › row 1 › broker › notes › row 2Options require Algo Trader Plus tier
results › row 1 › broker › notes › row 3Python/Go SDKs mature; rate-limit backoff documented
results › row 1 › score3
results › row 1 › max score3
results › row 1 › fitstrue
results › row 2 › broker › idtradier
results › row 2 › broker › nameTradier
results › row 2 › broker › urlhttps://tradier.com/
results › row 2 › broker › docs urlhttps://developer.tradier.com/
results › row 2 › broker › authOAuth 2.0
results › row 2 › broker › auth complexity3
results › row 2 › broker › order types (8 items)[...]
results › row 2 › broker › rate limits120 req/min market data, 60 req/min trading
results › row 2 › broker › market data › row 1Real-time equities + options (streaming)
results › row 2 › broker › market data › row 2Historical OHLC back ~5 years
results › row 2 › broker › market data › row 3No Level-2 depth
results › row 2 › broker › mcpcommunity
results › row 2 › broker › mcp noteCommunity MCP; idempotency is a manual patch
results › row 2 › broker › assets › stockstrue
results › row 2 › broker › assets › optionstrue
results › row 2 › broker › assets › futuresfalse
results › row 2 › broker › assets › cryptofalse
results › row 2 › broker › assets › forexfalse
results › row 2 › broker › assets › bondsfalse
results › row 2 › broker › account minimum0
results › row 2 › broker › commission$0 equities (PFOF), $0.35/contract options Pro
results › row 2 › broker › good forOptions-first retail, multi-leg strategies
results › row 2 › broker › has free tiertrue
results › row 2 › broker › notes › row 1Free sandbox with delayed data
results › row 2 › broker › notes › row 2Strong options chain + multi-leg order API
results › row 2 › broker › notes › row 3US-only account eligibility
results › row 2 › score2
results › row 2 › max score3
results › row 2 › fitsfalse
results › row 2 › fail reasons › row 1Auth ≤ 2
results › row 3 › broker › idschwab
results › row 3 › broker › nameSchwab
results › row 3 › broker › urlhttps://www.schwab.com/
results › row 3 › broker › docs urlhttps://developer.schwab.com/
results › row 3 › broker › authOAuth 2.0 (3-legged)
results › row 3 › broker › auth complexity4
results › row 3 › broker › order types (9 items)[...]
results › row 3 › broker › rate limits120 req/min per endpoint (published tier)
results › row 3 › broker › market data › row 1Real-time equities + options quotes
results › row 3 › broker › market data › row 2Historical bars (1m to daily)
results › row 3 › broker › market data › row 3No exchange depth via API
results › row 3 › broker › mcpnone
results › row 3 › broker › mcp noteNo official or listed community MCP server
results › row 3 › broker › assets › stockstrue
results › row 3 › broker › assets › optionstrue
results › row 3 › broker › assets › futurestrue
results › row 3 › broker › assets › cryptofalse
results › row 3 › broker › assets › forextrue
results › row 3 › broker › assets › bondstrue
results › row 3 › broker › account minimum0
results › row 3 › broker › commission$0 equities, $0.65/contract options
results › row 3 › broker › good forEstablished retail, post-TDA API migration
results › row 3 › broker › has free tiertrue
results › row 3 › broker › notes › row 1API rebuilt after TD Ameritrade integration; still maturing
results › row 3 › broker › notes › row 2Requires individual developer registration and app review
results › row 3 › broker › notes › row 3Token refresh flow is finicky vs Alpaca/Tradier
results › row 3 › score2
results › row 3 › max score3
results › row 3 › fitsfalse
results › row 3 › fail reasons › row 1Auth ≤ 2
results › row 4 › broker › idrobinhood
results › row 4 › broker › nameRobinhood
results › row 4 › broker › urlhttps://robinhood.com/
results › row 4 › broker › docs urlhttps://docs.robinhood.com/
results › row 4 › broker › authOAuth 2.0 (unofficial endpoints)
results › row 4 › broker › auth complexity4
results › row 4 › broker › order types › row 1market
results › row 4 › broker › order types › row 2limit
results › row 4 › broker › order types › row 3stop
results › row 4 › broker › order types › row 4stop-limit
results › row 4 › broker › order types › row 5gtc
results › row 4 › broker › order types › row 6ioc
results › row 4 › broker › rate limitsNot publicly documented; low throughput
results › row 4 › broker › market data › row 1Delayed quotes in public tier
results › row 4 › broker › market data › row 2Limited historical depth
results › row 4 › broker › market data › row 3No public Level-2
results › row 4 › broker › mcpnone
results › row 4 › broker › mcp noteNo MCP; unofficial SDKs only
results › row 4 › broker › assets › stockstrue
results › row 4 › broker › assets › optionstrue
results › row 4 › broker › assets › futuresfalse
results › row 4 › broker › assets › cryptotrue
results › row 4 › broker › assets › forexfalse
results › row 4 › broker › assets › bondsfalse
results › row 4 › broker › account minimum0
results › row 4 › broker › commission$0 (PFOF), $5/mo Gold for margin + extras
results › row 4 › broker › good forCasual retail; not recommended for agents
results › row 4 › broker › has free tiertrue
results › row 4 › broker › notes › row 1No officially supported public API in 2026
results › row 4 › broker › notes › row 2Community SDKs break on auth changes without notice
results › row 4 › broker › notes › row 3Paper trading unavailable
results › row 4 › score2
results › row 4 › max score3
results › row 4 › fitsfalse
results › row 4 › fail reasons › row 1Auth ≤ 2
results › row 5 › broker › idibkr
results › row 5 › broker › nameInteractive Brokers
results › row 5 › broker › urlhttps://www.interactivebrokers.com/
results › row 5 › broker › docs urlhttps://www.interactivebrokers.com/en/trading/ib-api.php
results › row 5 › broker › authOAuth + TWS/IB Gateway
results › row 5 › broker › auth complexity5
results › row 5 › broker › order types (10 items)[...]
results › row 5 › broker › rate limits~50 msg/sec per connection; 50 orders/sec burst
results › row 5 › broker › market data › row 1Global equities via subscription bundles
results › row 5 › broker › market data › row 2Level-2 depth on most exchanges
results › row 5 › broker › market data › row 3Historical depth across asset classes
results › row 5 › broker › mcpcommunity
results › row 5 › broker › mcp noteCommunity CLI MCP; audit before production
results › row 5 › broker › assets › stockstrue
results › row 5 › broker › assets › optionstrue
results › row 5 › broker › assets › futurestrue
results › row 5 › broker › assets › cryptotrue
results › row 5 › broker › assets › forextrue
results › row 5 › broker › assets › bondstrue
results › row 5 › broker › account minimum0
results › row 5 › broker › commissionTiered per-share or fixed; ~$0.0035/sh tiered
results › row 5 › broker › good forMulti-asset-class, international, scale
results › row 5 › broker › has free tierfalse
results › row 5 › broker › notes › row 1Requires TWS or IB Gateway running locally
results › row 5 › broker › notes › row 2Idempotency via client-supplied orderId
results › row 5 › broker › notes › row 3Fully headless gateway is possible but under-documented
results › row 5 › score1
results › row 5 › max score3
results › row 5 › fitsfalse
results › row 5 › fail reasons › row 1Free tier
results › row 5 › fail reasons › row 2Auth ≤ 2
fitting brokers › row 1 › broker › idalpaca
fitting brokers › row 1 › broker › nameAlpaca
fitting brokers › row 1 › broker › urlhttps://alpaca.markets/
fitting brokers › row 1 › broker › docs urlhttps://alpaca.markets/docs/
fitting brokers › row 1 › broker › authAPI Key + Secret
fitting brokers › row 1 › broker › auth complexity1
fitting brokers › row 1 › broker › order types (10 items)[...]
fitting brokers › row 1 › broker › rate limits200 req/min (free), higher on paid tiers
fitting brokers › row 1 › broker › market data › row 1IEX real-time (free)
fitting brokers › row 1 › broker › market data › row 2Full SIP on Algo Trader Plus ($99/mo)
fitting brokers › row 1 › broker › market data › row 3Historical bars + trades + quotes
fitting brokers › row 1 › broker › mcpofficial
fitting brokers › row 1 › broker › mcp noteOfficial MCP V2, 61 actions, idempotent order submission
fitting brokers › row 1 › broker › assets › stockstrue
fitting brokers › row 1 › broker › assets › optionstrue
fitting brokers › row 1 › broker › assets › futuresfalse
fitting brokers › row 1 › broker › assets › cryptotrue
fitting brokers › row 1 › broker › assets › forexfalse
fitting brokers › row 1 › broker › assets › bondsfalse
fitting brokers › row 1 › broker › account minimum0
fitting brokers › row 1 › broker › commission$0 (PFOF on equities)
fitting brokers › row 1 › broker › good forSolo AI operator, paper-to-live parity
fitting brokers › row 1 › broker › has free tiertrue
fitting brokers › row 1 › broker › notes › row 1Free paper trading with same API surface as live
fitting brokers › row 1 › broker › notes › row 2Options require Algo Trader Plus tier
fitting brokers › row 1 › broker › notes › row 3Python/Go SDKs mature; rate-limit backoff documented
fitting brokers › row 1 › score3
fitting brokers › row 1 › max score3
fitting brokers › row 1 › fitstrue

Computed live at build time.

Frequently asked questions

Alpaca or Interactive Brokers for algo trading?
Alpaca for a US-equities-and-options agent that wants a simple stateless REST API and free paper trading. IBKR when the strategy needs futures, forex, bonds, or international equities (verified 2026-05-25).
What are the rate limits, Alpaca vs IBKR?
Alpaca: 200 requests/minute per account on the trading API. IBKR: about 50 messages/second to TWS, plus strict historical-data pacing of 60 requests per 10 minutes and a 100-line market-data cap.
Is the Interactive Brokers API free?
Yes, the API itself is free; IBKR makes money on commissions and market-data subscriptions. Most securities need at least a Level 1 market-data subscription to receive data through the API.
Does Alpaca support international users?
Alpaca supports many countries but not all; it did not support Canadian residents for live trading accounts in early 2026. Confirm eligibility for your jurisdiction with Alpaca support.