Article

Schwab Trader API for Technical Traders: Workflow Fit Checklist

Evaluate whether the Schwab Trader API fits your technical trading workflow using instrument coverage, authentication requirements, data access, and a pre-build checklist.

Little Bird Trading logo

Author: Little Bird Trading

Created JUNE 23, 2026 | Last updated JUNE 23, 2026

  • Topic: schwab api charles schwab api schwab developer api schwab trading api
  • Audience: technical traders evaluating broker APIs, API developers, TD Ameritrade migrators
Trading Platforms & Toolstechnical traders evaluating broker APIsAPI developersTD Ameritrade migratorsschwab api charles schwab api schwa…

The Schwab Trader API is the successor to the TD Ameritrade Developer API. It gives developers programmatic access to Schwab account data, market data, and order submission for US markets via a REST interface with OAuth 2.0 authentication. This guide covers what it supports, who it fits, and what to resolve before you build. Planning support only — no trading advice; no broker or data guarantee.

What is the Schwab Trader API?

The Schwab Trader API is Schwab's REST API for programmatic access to market data, account data, and order routing. It replaced the TD Ameritrade Developer API after Schwab's acquisition of TD Ameritrade — the TDA API is now fully retired.

If you built on the TDA API, Schwab Trader API is the migration target. The underlying patterns are similar — REST endpoints, JSON responses, OAuth 2.0 — but endpoint paths and some behaviors changed. The current specification lives at developer.schwab.com.

For a broader comparison of broker APIs for technical trading workflows, see IBKR vs Alpaca vs Tradier for Technical Traders: API Stack Fit Checklist. For a detailed breakdown of what Schwab Trader API costs relative to IBKR data subscriptions and Alpaca's data tiers, see Schwab Trader API Cost vs IBKR and Alpaca: What Retail Technical Traders Actually Pay.

What instruments and order types does the Schwab API support?

The Schwab Trader API supports trading US equities, ETFs, options (including multi-leg strategies: vertical spreads, straddles, butterflies), and index options. Futures, forex, crypto, bonds, and non-US equities cannot be traded via the API — a futures order returns HTTP 400. Limited, undocumented streaming quote data exists for some futures instruments, but there is no futures order routing and no futures historical bar data.

Supported order types: market, limit, stop, stop-limit, trailing stop, OCO (one-cancels-other), OTO (one-triggers-other), and composite (one-triggers-OCO). Multi-leg options combinations with OCO/OTO are flagged as experimental in the developer community — validate with a live broker connection before building production logic around them.

Options symbols use the OSI 21-character format, for example: AAPL 240419C00150000. Confirm your symbol format handling before writing data pipeline code.

Historical bars are available for equities and ETFs only.
InstrumentTrading via APIStreaming QuotesHistorical Bars
US equitiesYesYes (L1 + L2)Yes
ETFsYesYes (L1 + L2)Yes
Options (incl. multi-leg)YesYesNo
Index optionsYesYesNo
FuturesNo — HTTP 400Limited/undocumentedNo
Forex / CryptoNoNoNo
Non-US equitiesNoNoNo

How does Schwab Trader API authentication work?

Authentication uses a three-legged OAuth 2.0 flow. Your app redirects the user to a Schwab authorization page, the user grants access, and your app exchanges the authorization code for tokens.

Access tokens last approximately 30 minutes. Refresh tokens last approximately 7 days. An unused refresh token will expire and require a new user-facing authorization step. Any workflow that runs unattended across a weekend needs active token refresh logic built in.

Register your application and retrieve your client ID, client secret, and redirect URI at developer.schwab.com. Keep credentials out of version control.

Does the Schwab API have a sandbox?

Yes. A sandbox environment with synthetic accounts and data is available. It uses the same credentials as production but connects to a different base URL.

The sandbox is a synthetic-data testing environment, not a paper trading account. There is no paper trading mode in the Schwab Trader API — the API connects to live accounts only. Use the sandbox to validate authentication, token refresh logic, and data shapes before connecting to a live account.

What does WebSocket streaming cover?

The API supports WebSocket streaming for real-time data. Streaming covers Level 1 and Level 2 (NYSE/NASDAQ) quotes for equities and ETFs, options quotes, and time-of-sale. Some undocumented futures quote streaming exists but is not part of the official API surface.

For rate limits and extended-hours quote coverage, check the current Schwab developer documentation at developer.schwab.com.

Who fits the Schwab Trader API?

The Schwab Trader API fits technical traders and developers who trade US equities, ETFs, and options on Schwab accounts. It is a natural migration path from the TD Ameritrade Developer API.

Good fitNot a fit
US equities, ETFs, options on SchwabMulti-asset traders needing futures, forex, or non-US markets
TD Ameritrade API migratorsWorkflows requiring paper trading mode
Standard REST/OAuth with sandboxFutures order routing required
Retail account, US market focusInstitutional or global-exchange requirements

Before you build: checklist

Run this before writing integration code.

  • Register your application at developer.schwab.com. Collect client ID, client secret, and redirect URI.
  • Confirm your account type is API-eligible — check the current Schwab developer documentation for eligible account types.
  • Test authentication end-to-end in the sandbox. Confirm token refresh works at the 30-minute boundary before connecting to a live account.
  • Map every instrument to Schwab's symbol format. Options use the OSI 21-character format — confirm your parser handles it correctly.
  • Verify which instruments you need against the trading scope above. Futures order routing is not available.
  • Scope historical bar needs: equities and ETFs only, at daily, 1-minute, 5-minute, 10-minute, 15-minute, and 30-minute intervals. One-minute history is approximately 30 to 35 days deep.
  • For transaction history depth and split/dividend adjustment details, check the current Schwab developer documentation before building dependent logic.
  • For IBKR alternatives or a broader API stack comparison, see IBKR vs Alpaca vs Tradier for Technical Traders: API Stack Fit Checklist.
  • For consulting support scoping a Schwab workflow build, see workflow consulting.

FAQ

Is the Schwab Trader API the same as the TD Ameritrade Developer API?

No. The Schwab Trader API is the successor. The TDA API is now fully retired. Authentication and endpoint paths differ; existing TDA integrations need migration. The current specification is at developer.schwab.com.

Does the Schwab API support paper trading?

No. The Schwab Trader API connects to live accounts only. The sandbox is a synthetic-data testing environment for validating authentication, token logic, and data shapes — it is not a paper trading account.

What instruments can I trade via the Schwab Trader API?

US equities, ETFs, options including multi-leg strategies, and index options. Futures, forex, crypto, bonds, and non-US equities cannot be traded. A futures order returns HTTP 400. Some undocumented futures streaming quote data exists but there is no order routing or historical bar access for futures.

How does the Schwab API compare to IBKR for technical trading?

Schwab covers US equities, ETFs, and options with a simpler OAuth 2.0 setup and sandbox. IBKR covers a broader instrument universe globally including futures. For a detailed comparison, see IBKR vs Schwab Trader API for Technical Traders.

Sample Structured Chart-Data Exports

Review how chart drawings, annotations, OHLC, volume, and execution context become reusable structured data.

  • Download XLSX Sample

    Spreadsheet-ready chart data for review, journaling, and process refinement.

  • Download JSON Sample

    Machine-readable chart context for Claude Code, ChatGPT Codex, automation-ready workflows, and technical review.

Related Articles

More Video Guides