TradeStation's WebAPI has one hard gate in 2026: you must hold a funded TradeStation account and email [email protected] to obtain a key. The API itself is not separately priced on the public docs; whether it is free with a funded account is not publicly documented. Rate limits are published per resource category (320 requests / 5 minutes on account endpoints, 500 requests / 5 minutes on quote snapshots, 90 / minute per option endpoint, with 429 on exceed), and the API covers stocks, options, and futures with HTTP streaming. See the Broker API Comparator for the multi-asset field.
TL;DR
| Dimension | TradeStation WebAPI |
|---|---|
| Access requirement | Funded TradeStation account + email request for a key |
| API fee | Not publicly documented (no public self-serve price) |
| Account minimum / activity gate | Not publicly documented |
| Rate limits | Per resource category (see below); HTTP 429 on exceed |
| Asset coverage | Stocks, options, futures |
| Streaming | HTTP Streaming supported |
All facts verified 2026-10-18 against the official TradeStation API documentation (api.tradestation.com/docs). Where the docs are silent (API fee, account minimum), this page says so rather than guessing.
Access requirements: the funded-account gate
The official FAQ is explicit: "To get a TradeStation WebAPI Key, you must have a TradeStation account. If you already have a funded TradeStation account, please send an e-mail to [email protected] to obtain a key." So the path is: open and fund a TradeStation account, then request a key by email. Unlike Alpaca (instant API key) or even Schwab (self-serve developer-portal registration), TradeStation routes key issuance through a client-experience email request.
The docs do not state a minimum balance or a trading-activity gate for API access. That does not mean none exists, it means it is not publicly documented (as of October 2026); confirm with Client Experience before assuming.
API cost
There is no public self-serve price for the WebAPI. The documentation describes how to obtain a key (funded account + email) but does not state a separate API subscription fee. Whether the API is free with a funded account is therefore not publicly documented; do not assume either way without confirming directly.
Rate limits, by resource category
TradeStation publishes granular, per-category limits (verified 2026-10-18). Exceeding any returns HTTP 429. Quotas run on rolling intervals and replenish gradually (a 500-per-300-second quota frees roughly one request every 0.6 seconds), and every response carries X-RateLimit-* headers with the limit, remaining requests and reset time. The documented standard limits:
| Resource | Limit | Window |
|---|---|---|
| Accounts | 320 requests | 5 minutes |
| Order details | 320 requests | 5 minutes |
| Balances | 320 requests | 5 minutes |
| Positions | 320 requests | 5 minutes |
| Quote change / Barchart / TickBar streams | 500 requests | 5 minutes |
| Each option endpoint | 90 requests | 1 minute |
| Quote snapshot | 500 requests | 5 minutes |
| MarketDepth stream (quotes and aggregates combined) | 30 requests | 1 minute |
Concurrent-connection caps also apply: MarketDepth, Option Quote, and Option Chain streams allow 10 concurrent connections each; Order, Order-by-id, and Positions streams allow 40 each, reported in X-Concurrency-* headers. High-frequency applications can request custom quotas from Client Experience.
The practical read: the 90-per-minute option-endpoint cap and the 30-per-minute MarketDepth cap are the limits most likely to bite a polling agent; quote snapshots now allow 500 per 5 minutes (about 100 a minute), and the streaming endpoints are where TradeStation expects high-throughput consumers to live.
Asset coverage and streaming
The TradeStation WebAPI (v3) covers stocks, options, and futures, with HTTP Streaming available for live data. For an agent that needs equities, options, and futures under one broker API, that coverage puts TradeStation in the multi-asset tier alongside Schwab and Interactive Brokers, rather than the US-equities-and-options tier of Alpaca and Tradier.
The comparator's view
TradeStation is not in the Broker API Comparator catalogue (which tracks Alpaca, IBKR, Tradier, Schwab, and Robinhood), so the scenario below frames the field TradeStation competes in: a multi-asset profile requiring both options and futures. The comparator returns Schwab and Interactive Brokers as the fits; TradeStation would sit in that same multi-asset bracket, gated by the funded-account requirement rather than a free tier. The verified output block at the foot of the page is computed live from the shipped engine bundle.
Decision guidance
- You already have a funded TradeStation account: request a WebAPI key by email; you get stocks, options, and futures under one API.
- You want instant, free API access without funding first: Alpaca's API-key model is faster to start; TradeStation requires a funded account.
- You need options and futures through one API: TradeStation or IBKR; pick on existing account, commissions, and auth complexity. Schwab's Trader API takes stock, ETF and option orders but not futures.
- High-throughput data consumer: use TradeStation's streaming endpoints, which do not consume request quota, rather than polling the snapshot endpoint (500 / 5 min).
Related in this series
- Choosing a Broker API 2026: the broker decision framework.
- Interactive Brokers API Pricing and Rate Limits 2026: the other multi-asset option.
- Charles Schwab Trader API Status 2026: the options-and-equities incumbent.
- Broker APIs Compared 2026: the AI-agent lens across brokers.
Connects to
- Broker API Comparator: the engine behind this page's comparison.
- Finance MCP Directory: MCP-server availability per broker.
- Trading System Blueprinter: where a broker API slots into a full stack.
References
- TradeStation. "API FAQ." api.tradestation.com/docs/faq, verified 2026-10-18 (funded-account requirement, stocks/options/futures in API v3, HTTP streaming).
- TradeStation. "Rate Limiting Overview." api.tradestation.com/docs/fundamentals/rate-limiting, verified 2026-10-18 (per-category quotas: 320 / 5 min on accounts, orders, balances and positions; 500 / 5 min on quote snapshots and streams; 90 / 1 min per option endpoint; 429 on exceed; X-RateLimit-* headers).
Verified engine output
Show the recompute-verified inputs and outputs
| require_options | true |
|---|---|
| require_futures | true |
| require_crypto | false |
| require_mcp | false |
| require_free_tier | false |
| max_auth_complexity | 5 |
| filters › require options | true |
|---|---|
| filters › require futures | true |
| filters › require crypto | false |
| filters › require mcp | false |
| filters › require free tier | false |
| filters › max auth complexity | 5 |
| results › row 1 › broker › id | ibkr |
| results › row 1 › broker › name | Interactive Brokers |
| results › row 1 › broker › url | https://www.interactivebrokers.com/ |
| results › row 1 › broker › docs url | https://www.interactivebrokers.com/en/trading/ib-api.php |
| results › row 1 › broker › auth | OAuth + TWS/IB Gateway |
| results › row 1 › broker › auth complexity | 5 |
| results › row 1 › broker › order types (10 items) | [...] |
| results › row 1 › 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 1 › broker › market data › row 1 | Global equities via subscription bundles |
| results › row 1 › broker › market data › row 2 | Level-2 depth on most exchanges |
| results › row 1 › broker › market data › row 3 | Historical depth across asset classes |
| results › row 1 › broker › mcp | official |
| results › row 1 › 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 1 › broker › assets › stocks | true |
| results › row 1 › broker › assets › options | true |
| results › row 1 › broker › assets › futures | true |
| results › row 1 › broker › assets › crypto | true |
| results › row 1 › broker › assets › forex | true |
| results › row 1 › broker › assets › bonds | true |
| results › row 1 › broker › account minimum | 0 |
| results › row 1 › broker › commission | Tiered per-share or fixed; ~$0.0035/sh tiered |
| results › row 1 › broker › good for | Multi-asset-class, international, scale |
| results › row 1 › broker › has free tier | false |
| results › row 1 › broker › notes › row 1 | Requires TWS or IB Gateway running locally |
| results › row 1 › broker › notes › row 2 | Idempotency via client-supplied orderId |
| results › row 1 › broker › notes › row 3 | Fully headless gateway is possible but under-documented |
| results › row 1 › score | 3 |
| results › row 1 › max score | 3 |
| results › row 1 › fits | true |
| results › row 2 › broker › id | alpaca |
| results › row 2 › broker › name | Alpaca |
| results › row 2 › broker › url | https://alpaca.markets/ |
| results › row 2 › broker › docs url | https://alpaca.markets/docs/ |
| results › row 2 › broker › auth | API Key + Secret |
| results › row 2 › broker › auth complexity | 1 |
| results › row 2 › broker › order types (10 items) | [...] |
| results › row 2 › broker › rate limits | Trading API 200 req/min; market data 200/min free, 10,000/min on Algo Trader Plus |
| results › row 2 › broker › market data › row 1 | IEX real-time (free) |
| results › row 2 › broker › market data › row 2 | Full SIP on Algo Trader Plus ($99/mo) |
| results › row 2 › broker › market data › row 3 | Historical bars + trades + quotes |
| results › row 2 › broker › mcp | official |
| results › row 2 › broker › mcp note | Official open-source MCP server (V2 rewrite on FastMCP/OpenAPI); data, paper and live trading |
| 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 | true |
| 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 (PFOF on equities) |
| results › row 2 › broker › good for | Solo AI operator, paper-to-live parity |
| results › row 2 › broker › has free tier | true |
| results › row 2 › broker › notes › row 1 | Free paper trading with same API surface as live |
| results › row 2 › broker › notes › row 2 | Real-time OPRA options data needs Algo Trader Plus; Basic gets the indicative feed |
| results › row 2 › broker › notes › row 3 | Python/Go SDKs mature; rate-limit backoff documented |
| results › row 2 › score | 2 |
| results › row 2 › max score | 3 |
| results › row 2 › fits | false |
| results › row 2 › fail reasons › row 1 | Futures |
| results › row 3 › broker › id | tradier |
| results › row 3 › broker › name | Tradier |
| results › row 3 › broker › url | https://tradier.com/ |
| results › row 3 › broker › docs url | https://developer.tradier.com/ |
| results › row 3 › broker › auth | OAuth 2.0 |
| results › row 3 › broker › auth complexity | 3 |
| results › row 3 › broker › order types (8 items) | [...] |
| results › row 3 › broker › rate limits | 120 req/min standard and market data, 60 req/min trading (production) |
| results › row 3 › broker › market data › row 1 | Real-time equities + options (streaming) |
| results › row 3 › broker › market data › row 2 | Historical OHLC back ~5 years |
| results › row 3 › broker › market data › row 3 | No Level-2 depth |
| results › row 3 › broker › mcp | official |
| results › row 3 › broker › mcp note | Official hosted MCP server (Streamable HTTP, personal API token); market data, accounts and order placement |
| 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 | false |
| 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 equities (PFOF), $0.35/contract options Pro |
| results › row 3 › broker › good for | Options-first retail, multi-leg strategies |
| results › row 3 › broker › has free tier | true |
| results › row 3 › broker › notes › row 1 | Free sandbox with delayed data |
| results › row 3 › broker › notes › row 2 | Strong options chain + multi-leg order API |
| results › row 3 › broker › notes › row 3 | US-only account eligibility |
| results › row 3 › score | 2 |
| results › row 3 › max score | 3 |
| results › row 3 › fits | false |
| results › row 3 › fail reasons › row 1 | Futures |
| results › row 4 › broker › id | robinhood |
| results › row 4 › broker › name | Robinhood |
| results › row 4 › broker › url | https://robinhood.com/ |
| results › row 4 › broker › docs url | https://docs.robinhood.com/ |
| results › row 4 › broker › auth | API key (Crypto Trading API); Robinhood sign-in (Trading MCP) |
| results › row 4 › broker › auth complexity | 3 |
| results › row 4 › broker › order types › row 1 | market |
| results › row 4 › broker › order types › row 2 | limit |
| results › row 4 › broker › order types › row 3 | stop |
| results › row 4 › broker › order types › row 4 | stop-limit |
| results › row 4 › broker › rate limits | Not publicly documented |
| results › row 4 › broker › market data › row 1 | Delayed quotes in public tier |
| results › row 4 › broker › market data › row 2 | Limited historical depth |
| results › row 4 › broker › market data › row 3 | No public Level-2 |
| results › row 4 › broker › mcp | official |
| results › row 4 › 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 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 | true |
| 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 (PFOF), $5/mo Gold for margin + extras |
| results › row 4 › broker › good for | Agent-driven trading from an existing Robinhood account; no REST API for stocks or options |
| results › row 4 › broker › has free tier | true |
| results › row 4 › broker › notes › row 1 | Official REST API covers crypto only; stocks and options are reachable only through the Trading MCP |
| results › row 4 › broker › notes › row 2 | Trade approvals are off by default for external MCP agents |
| results › row 4 › broker › notes › row 3 | Paper trading unavailable |
| results › row 4 › score | 2 |
| results › row 4 › max score | 3 |
| results › row 4 › fits | false |
| results › row 4 › fail reasons › row 1 | Futures |
| results › row 5 › broker › id | schwab |
| results › row 5 › broker › name | Schwab |
| results › row 5 › broker › url | https://www.schwab.com/ |
| results › row 5 › broker › docs url | https://developer.schwab.com/ |
| results › row 5 › broker › auth | OAuth 2.0 (3-legged) |
| results › row 5 › broker › auth complexity | 4 |
| results › row 5 › broker › order types (9 items) | [...] |
| results › row 5 › 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 5 › broker › market data › row 1 | Real-time equities + options quotes |
| results › row 5 › broker › market data › row 2 | Historical bars (1m to daily) |
| results › row 5 › broker › market data › row 3 | No exchange depth via API |
| results › row 5 › broker › mcp | community |
| results › row 5 › 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 5 › broker › assets › stocks | true |
| results › row 5 › broker › assets › options | true |
| results › row 5 › broker › assets › futures | false |
| results › row 5 › broker › assets › crypto | false |
| results › row 5 › broker › assets › forex | false |
| results › row 5 › broker › assets › bonds | false |
| results › row 5 › broker › account minimum | 0 |
| results › row 5 › broker › commission | $0 equities, $0.65/contract options |
| results › row 5 › broker › good for | Established retail, post-TDA API migration |
| results › row 5 › broker › has free tier | true |
| results › row 5 › broker › notes › row 1 | API rebuilt after TD Ameritrade integration; still maturing |
| results › row 5 › broker › notes › row 2 | Orders cover stocks, ETFs and options; futures and forex trade on thinkorswim, not through the API |
| results › row 5 › broker › notes › row 3 | Requires individual developer registration and app review |
| results › row 5 › broker › notes › row 4 | Token refresh flow is finicky vs Alpaca/Tradier |
| results › row 5 › score | 2 |
| results › row 5 › max score | 3 |
| results › row 5 › fits | false |
| results › row 5 › fail reasons › row 1 | Futures |
| fitting brokers › row 1 › broker › id | ibkr |
| fitting brokers › row 1 › broker › name | Interactive Brokers |
| fitting brokers › row 1 › broker › url | https://www.interactivebrokers.com/ |
| fitting brokers › row 1 › broker › docs url | https://www.interactivebrokers.com/en/trading/ib-api.php |
| fitting brokers › row 1 › broker › auth | OAuth + TWS/IB Gateway |
| fitting brokers › row 1 › broker › auth complexity | 5 |
| fitting brokers › row 1 › broker › order types (10 items) | [...] |
| fitting brokers › row 1 › broker › rate limits | Market-data lines / 2 requests per second (50 on the default 100 lines); small-bar history 60 requests per 10 min |
| fitting brokers › row 1 › broker › market data › row 1 | Global equities via subscription bundles |
| fitting brokers › row 1 › broker › market data › row 2 | Level-2 depth on most exchanges |
| fitting brokers › row 1 › broker › market data › row 3 | Historical depth across asset classes |
| fitting brokers › row 1 › broker › mcp | official |
| fitting brokers › row 1 › 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 |
| fitting brokers › row 1 › broker › assets › stocks | true |
| fitting brokers › row 1 › broker › assets › options | true |
| fitting brokers › row 1 › broker › assets › futures | true |
| fitting brokers › row 1 › broker › assets › crypto | true |
| fitting brokers › row 1 › broker › assets › forex | true |
| fitting brokers › row 1 › broker › assets › bonds | true |
| fitting brokers › row 1 › broker › account minimum | 0 |
| fitting brokers › row 1 › broker › commission | Tiered per-share or fixed; ~$0.0035/sh tiered |
| fitting brokers › row 1 › broker › good for | Multi-asset-class, international, scale |
| fitting brokers › row 1 › broker › has free tier | false |
| fitting brokers › row 1 › broker › notes › row 1 | Requires TWS or IB Gateway running locally |
| fitting brokers › row 1 › broker › notes › row 2 | Idempotency via client-supplied orderId |
| fitting brokers › row 1 › broker › notes › row 3 | Fully headless gateway is possible but under-documented |
| fitting brokers › row 1 › score | 3 |
| fitting brokers › row 1 › max score | 3 |
| fitting brokers › row 1 › fits | true |
Computed live at build time.
Frequently asked questions
- What are the requirements to use the TradeStation API?
- A funded TradeStation account, then an email to [email protected] to obtain a WebAPI key. There is no instant self-serve key issuance (verified 2026-10-18).
- Is the TradeStation API free?
- Not publicly documented. The docs describe how to get a key (funded account plus email) but do not state a separate API fee or confirm it is free with a funded account.
- What are the TradeStation API rate limits?
- Per resource category: 320 requests / 5 minutes on account, order, balance and position endpoints, 500 / 5 minutes on quote snapshots and streams, 90 / minute per option endpoint, and 30 / minute on MarketDepth. Exceeding any returns HTTP 429 (verified 2026-10-18).
- Does TradeStation support options and futures via API?
- Yes. The WebAPI (v3) covers stocks, options, and futures, with HTTP Streaming for live data.