There is no standalone thinkorswim API in 2026. All programmatic automation on Schwab/thinkorswim routes through the Schwab Trader API, the OAuth-2.0 REST API Schwab built after absorbing TD Ameritrade. thinkScript remains an in-platform scripting language for studies and alerts inside the thinkorswim app; it cannot place orders from an external program. If you want an agent to trade a Schwab account, you register a Schwab Trader API app, not a thinkorswim one. Compare the broker field with the Broker API Comparator.

TL;DR

  • No thinkorswim API. The legacy TD Ameritrade API was retired during the Schwab migration; thinkorswim itself never had a separate public order-placement API for external programs in 2026.
  • Schwab Trader API is the path. OAuth 2.0, REST + streaming, covers equities, options, and (per the official product) multi-asset trading. Order-placement throttle is configurable from 0 to 120 requests/minute per account (verified 2026-05-25, archived official Schwab Trader API documentation).
  • thinkScript is not an API. It runs studies, scans, and alerts inside thinkorswim; it does not expose programmatic order placement to outside code.
  • No paper trading via the developer API. The Schwab developer API supports live trading only.

thinkScript vs a real API

The confusion is understandable: thinkorswim is the trading platform many retail traders know, and thinkScript is its scripting language. But thinkScript is a charting and alerting language. It computes custom studies, runs scans, and fires alerts inside the thinkorswim desktop/mobile app. It does not let an external Python or Node program authenticate, read account state, and submit orders. For that you need a real REST API with OAuth, and on Schwab that is exactly one thing: the Schwab Trader API.

So the practical distinction:

Capability thinkScript Schwab Trader API
Custom indicators/studies in-app Yes No (data only)
Scans + alerts in thinkorswim Yes No
External program reads account/positions No Yes
External program places orders No Yes
OAuth-authenticated REST access No Yes

What an automated trader actually uses on Schwab in 2026

The real answer to "thinkorswim API for automated trading" is: register for the Schwab Trader API — Individual product on the Schwab Developer Portal, complete OAuth 2.0 setup, and call the REST endpoints. Verified facts from the official (archived) Schwab Trader API documentation, checked 2026-05-25:

  • The product line is "Trader API - Individual Accounts and Trading," available to individual (retail) developers, not only institutions.
  • Authentication is OAuth 2.0 with access tokens and a refresh-token lifecycle.
  • Order endpoints (PUT/POST/DELETE) are throttled per account; the documentation states the order throttle "can be set from zero (0) to 120 requests per minute per account" based on the application's registered properties.
  • Environments are Sandbox (test data) and Production (live). The developer API does not offer simulated/paper order execution; it is live trading.

The individual-developer approval is a manual app-review step on the developer portal; community reports put the turnaround at roughly 1 to 3 business days, though Schwab does not publish a guaranteed SLA, so treat the timeline as community-reported, not official.

Status of the legacy TD Ameritrade thinkorswim endpoints

The TD Ameritrade developer API was sunset as part of the Schwab integration, and legacy TDA API keys no longer work. Any tutorial or library still pointing at TD Ameritrade endpoints is dead; the functional successor is the Schwab Trader API, which ported the core quote/order/account capabilities into Schwab's own OAuth-2.0 system.

The comparator's view

For a Schwab-style profile, the Broker API Comparator scenario below requires options and futures coverage with an auth-complexity ceiling of 4 (Schwab's OAuth 2.0 three-legged flow scores 4). Schwab is the only broker in the catalogue that fits, scoring 3/3: it clears options, futures, and the auth ceiling where Interactive Brokers fails the auth gate and Alpaca/Tradier/Robinhood fail futures. The verified output block at the foot of the page is computed live from the shipped engine bundle. (The comparator does not encode the thinkScript-vs-API distinction, which is why this page exists alongside it.)

Decision guidance

  • You want an agent to trade your Schwab account: register the Schwab Trader API — Individual product. There is no thinkorswim-specific alternative.
  • You want custom in-app studies/alerts: use thinkScript inside thinkorswim; it is not for external automation.
  • You need paper trading before live: the Schwab developer API is live-only; paper-test against a different broker (Alpaca's paper environment mirrors its live API) or risk small live capital.
  • You are porting old TD Ameritrade code: rewrite against the Schwab Trader API; the TDA endpoints are gone.

Connects to

References

  • Charles Schwab. "Trader API - Individual Accounts and Trading, Production Specifications." developer.schwab.com (official documentation, archived copy verified 2026-05-25): order throttle 0-120 req/min per account, OAuth 2.0, Sandbox/Production environments.
  • Charles Schwab Developer Portal. "Trader API — Individual." developer.schwab.com/products/trader-api--individual, accessed 2026-05-25.

Verified engine output

Show the recompute-verified inputs and outputs
Options + futures required, auth complexity <= 4 — the Schwab-style multi-asset profile
Inputs
require_optionstrue
require_futurestrue
require_cryptofalse
require_mcpfalse
require_free_tierfalse
max_auth_complexity4
Result
filters › require optionstrue
filters › require futurestrue
filters › require cryptofalse
filters › require mcpfalse
filters › require free tierfalse
filters › max auth complexity4
results › row 1 › broker › idschwab
results › row 1 › broker › nameSchwab
results › row 1 › broker › urlhttps://www.schwab.com/
results › row 1 › broker › docs urlhttps://developer.schwab.com/
results › row 1 › broker › authOAuth 2.0 (3-legged)
results › row 1 › broker › auth complexity4
results › row 1 › broker › order types (9 items)[...]
results › row 1 › broker › rate limits120 req/min per endpoint (published tier)
results › row 1 › broker › market data › row 1Real-time equities + options quotes
results › row 1 › broker › market data › row 2Historical bars (1m to daily)
results › row 1 › broker › market data › row 3No exchange depth via API
results › row 1 › broker › mcpnone
results › row 1 › broker › mcp noteNo official or listed community MCP server
results › row 1 › broker › assets › stockstrue
results › row 1 › broker › assets › optionstrue
results › row 1 › broker › assets › futurestrue
results › row 1 › broker › assets › cryptofalse
results › row 1 › broker › assets › forextrue
results › row 1 › broker › assets › bondstrue
results › row 1 › broker › account minimum0
results › row 1 › broker › commission$0 equities, $0.65/contract options
results › row 1 › broker › good forEstablished retail, post-TDA API migration
results › row 1 › broker › has free tiertrue
results › row 1 › broker › notes › row 1API rebuilt after TD Ameritrade integration; still maturing
results › row 1 › broker › notes › row 2Requires individual developer registration and app review
results › row 1 › broker › notes › row 3Token refresh flow is finicky vs Alpaca/Tradier
results › row 1 › score3
results › row 1 › max score3
results › row 1 › fitstrue
results › row 2 › broker › idalpaca
results › row 2 › broker › nameAlpaca
results › row 2 › broker › urlhttps://alpaca.markets/
results › row 2 › broker › docs urlhttps://alpaca.markets/docs/
results › row 2 › broker › authAPI Key + Secret
results › row 2 › broker › auth complexity1
results › row 2 › broker › order types (10 items)[...]
results › row 2 › broker › rate limits200 req/min (free), higher on paid tiers
results › row 2 › broker › market data › row 1IEX real-time (free)
results › row 2 › broker › market data › row 2Full SIP on Algo Trader Plus ($99/mo)
results › row 2 › broker › market data › row 3Historical bars + trades + quotes
results › row 2 › broker › mcpofficial
results › row 2 › broker › mcp noteOfficial MCP V2, 61 actions, idempotent order submission
results › row 2 › broker › assets › stockstrue
results › row 2 › broker › assets › optionstrue
results › row 2 › broker › assets › futuresfalse
results › row 2 › broker › assets › cryptotrue
results › row 2 › broker › assets › forexfalse
results › row 2 › broker › assets › bondsfalse
results › row 2 › broker › account minimum0
results › row 2 › broker › commission$0 (PFOF on equities)
results › row 2 › broker › good forSolo AI operator, paper-to-live parity
results › row 2 › broker › has free tiertrue
results › row 2 › broker › notes › row 1Free paper trading with same API surface as live
results › row 2 › broker › notes › row 2Options require Algo Trader Plus tier
results › row 2 › broker › notes › row 3Python/Go SDKs mature; rate-limit backoff documented
results › row 2 › score2
results › row 2 › max score3
results › row 2 › fitsfalse
results › row 2 › fail reasons › row 1Futures
results › row 3 › broker › idtradier
results › row 3 › broker › nameTradier
results › row 3 › broker › urlhttps://tradier.com/
results › row 3 › broker › docs urlhttps://developer.tradier.com/
results › row 3 › broker › authOAuth 2.0
results › row 3 › broker › auth complexity3
results › row 3 › broker › order types (8 items)[...]
results › row 3 › broker › rate limits120 req/min market data, 60 req/min trading
results › row 3 › broker › market data › row 1Real-time equities + options (streaming)
results › row 3 › broker › market data › row 2Historical OHLC back ~5 years
results › row 3 › broker › market data › row 3No Level-2 depth
results › row 3 › broker › mcpcommunity
results › row 3 › broker › mcp noteCommunity MCP; idempotency is a manual patch
results › row 3 › broker › assets › stockstrue
results › row 3 › broker › assets › optionstrue
results › row 3 › broker › assets › futuresfalse
results › row 3 › broker › assets › cryptofalse
results › row 3 › broker › assets › forexfalse
results › row 3 › broker › assets › bondsfalse
results › row 3 › broker › account minimum0
results › row 3 › broker › commission$0 equities (PFOF), $0.35/contract options Pro
results › row 3 › broker › good forOptions-first retail, multi-leg strategies
results › row 3 › broker › has free tiertrue
results › row 3 › broker › notes › row 1Free sandbox with delayed data
results › row 3 › broker › notes › row 2Strong options chain + multi-leg order API
results › row 3 › broker › notes › row 3US-only account eligibility
results › row 3 › score2
results › row 3 › max score3
results › row 3 › fitsfalse
results › row 3 › fail reasons › row 1Futures
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 1Futures
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 › score2
results › row 5 › max score3
results › row 5 › fitsfalse
results › row 5 › fail reasons › row 1Auth ≤ 4
fitting brokers › row 1 › broker › idschwab
fitting brokers › row 1 › broker › nameSchwab
fitting brokers › row 1 › broker › urlhttps://www.schwab.com/
fitting brokers › row 1 › broker › docs urlhttps://developer.schwab.com/
fitting brokers › row 1 › broker › authOAuth 2.0 (3-legged)
fitting brokers › row 1 › broker › auth complexity4
fitting brokers › row 1 › broker › order types (9 items)[...]
fitting brokers › row 1 › broker › rate limits120 req/min per endpoint (published tier)
fitting brokers › row 1 › broker › market data › row 1Real-time equities + options quotes
fitting brokers › row 1 › broker › market data › row 2Historical bars (1m to daily)
fitting brokers › row 1 › broker › market data › row 3No exchange depth via API
fitting brokers › row 1 › broker › mcpnone
fitting brokers › row 1 › broker › mcp noteNo official or listed community MCP server
fitting brokers › row 1 › broker › assets › stockstrue
fitting brokers › row 1 › broker › assets › optionstrue
fitting brokers › row 1 › broker › assets › futurestrue
fitting brokers › row 1 › broker › assets › cryptofalse
fitting brokers › row 1 › broker › assets › forextrue
fitting brokers › row 1 › broker › assets › bondstrue
fitting brokers › row 1 › broker › account minimum0
fitting brokers › row 1 › broker › commission$0 equities, $0.65/contract options
fitting brokers › row 1 › broker › good forEstablished retail, post-TDA API migration
fitting brokers › row 1 › broker › has free tiertrue
fitting brokers › row 1 › broker › notes › row 1API rebuilt after TD Ameritrade integration; still maturing
fitting brokers › row 1 › broker › notes › row 2Requires individual developer registration and app review
fitting brokers › row 1 › broker › notes › row 3Token refresh flow is finicky vs Alpaca/Tradier
fitting brokers › row 1 › score3
fitting brokers › row 1 › max score3
fitting brokers › row 1 › fitstrue

Computed live at build time.

Frequently asked questions

Is there a thinkorswim API for automated trading in 2026?
No standalone one. All external automation on Schwab/thinkorswim goes through the Schwab Trader API (OAuth 2.0 REST). thinkScript is an in-app scripting language and cannot place orders from outside programs (verified 2026-05-25).
Can thinkScript place trades automatically?
No. thinkScript builds studies, scans, and alerts inside thinkorswim. Programmatic order placement requires the Schwab Trader API.
What is the Schwab Trader API rate limit?
Order endpoints are throttled per account; the official documentation states the order throttle can be set from 0 to 120 requests per minute per account.
Does the Schwab developer API support paper trading?
No. The developer API supports live trading only; there is a Sandbox environment for test data but not simulated order execution.