Charles Schwab API Setup

Schwab is the advanced option: it requires you to register your own free developer app. Setup takes about 15 minutes of your time, plus Schwab's approval of the app (often within a day); after that it reconnects in seconds each week. If you want a faster setup instead, Tradier and Public each connect with one pasted key, moomoo with a one-click sign-in, and tastytrade with a refresh token and client secret from its own OAuth app (about five minutes; see the tastytrade setup guide).

Your Client ID, Client Secret, and Schwab session token are stored in your browser and sent to our proxy solely to fetch your market data. They are not written to our database unless you separately opt in to encrypted credential storage, which is offered on the Pro tier and above.

Step 1: Create a Schwab Developer account

Go to developer.schwab.com and register a developer account. This is separate from your Schwab brokerage login - you will link them during authorization later.

Step 2: Create an App

In the developer Dashboard, click "Create App" and give it any name.

Step 3: Add the "Market Data Production" product only

From the API Products dropdown, add "Market Data Production". Leave out "Accounts and Trading": market data needs no account or trading access. The one exception is optional live streaming, which Schwab ties to Accounts and Trading (a permission that can also place trades); without it, quotes refresh through periodic updates.

Step 4: Set the Callback URL

Set the Callback URL to exactly: https://www.optionsanalysissuite.com/auth/schwab/callback . It must be HTTPS and an exact match - watch the case and trailing slashes.

Step 5: Submit and wait for approval

Submit the app. It will show "Approved - Pending", then flip to "Ready For Use" (often within a day, sometimes instantly). Heads-up: the keys can take a few hours to start working even after the status says Ready.

Step 6: Copy your App Key and Secret

Open the app's detail page and copy your App Key (this is your Client ID) and your Secret (your Client Secret). Treat the Secret like a password.

Step 7: Connect in Options Analysis Suite

On your Account page, paste the Client ID and Client Secret into the Charles Schwab section, then click "Connect with Schwab". Log in with your Schwab BROKERAGE credentials (not your developer-portal login) and approve the access.

Step 8: Expect a weekly reconnect

Schwab sessions expire after 7 days - a Schwab platform limit, not ours. When prompted, click "Reconnect with Schwab" to refresh the connection; it only takes a few seconds.

Done! Paste your Client ID and Client Secret into the Charles Schwab section on your Account page and click "Connect with Schwab".