StrategyXL StrategyXL

Live Data · Setup

Connect your Charles Schwab account

StrategyXL's Live Data runs on your own Charles Schwab connection — you register your own free Schwab developer app and bring its credentials. Everything stays read-only and on your machine; nothing routes through a StrategyXL server. This walks through every screen.

Before you start: it's all free, but Schwab reviews your API-access request — which can take up to two business days — so it's a two-sitting process: do the one-time setup (Parts 1–3), then connect once you're approved (Part 4). Parts 1–3 you do once, ever; Part 4 (connecting) you'll repeat about once a week when Schwab's sign-in expires.

Already set up and just need to reconnect? Jump to Part 4 →

Part 1 · Create your Schwab developer account One-time setup
1

Go to developer.schwab.com and click Register in the top-right. (This developer account is separate from your regular Schwab login.)

The Charles Schwab Developer Portal home page, with the Register button highlighted in the top-right corner.
developer.schwab.com — click Register. · Click to enlarge.
The Charles Schwab Developer Portal home page, with the Register button highlighted in the top-right corner.
2

Complete the registration form — your name, email, and a working phone number (used for two-factor verification) — accept the terms, and submit.

The Schwab Developer Portal 'Create a new account' form, with fields for name, email, phone number, and a terms checkbox.
Fill in the registration form and agree to the terms. · Click to enlarge.
The Schwab Developer Portal 'Create a new account' form, with fields for name, email, phone number, and a terms checkbox.
3

Verify your identity — Schwab sends a security code by text or call. Pick one, then enter the code.

The Schwab 'Confirm Your Identity' screen offering a text or call to send a two-factor security code.
Two-factor verification by text or call. · Click to enlarge.
The Schwab 'Confirm Your Identity' screen offering a text or call to send a two-factor security code.
4

Create your Developer Portal login credentials — the email and password you'll sign in with, plus a security question.

The Schwab Developer Portal 'Login Credentials' screen for setting an email, password, and security question.
Set your portal email, password, and security question. · Click to enlarge.
The Schwab Developer Portal 'Login Credentials' screen for setting an email, password, and security question.
5

Sign in to the Developer Portal with the credentials you just created.

The 'Welcome to Schwab Developer Portal' login page with email and password fields.
Log in to the Developer Portal. · Click to enlarge.
The 'Welcome to Schwab Developer Portal' login page with email and password fields.
Part 2 · Request API access One-time setup · ~2-day approval
1

On the welcome screen, choose the Individual Developer profile and click Start Now.

The Schwab Developer Portal 'Choose your profile' screen with the Individual Developer card highlighted.
Choose the Individual Developer profile. · Click to enlarge.
The Schwab Developer Portal 'Choose your profile' screen with the Individual Developer card highlighted.
2

Go to API Products and open the Trader API – Individual card.

The Schwab API Products page with the 'Trader API - Individual' product card highlighted.
API Products → Trader API – Individual. · Click to enlarge.
The Schwab API Products page with the 'Trader API - Individual' product card highlighted.
3

Click the green Request access button. The two products it covers are shown below — Accounts and Trading Production is the full one (live streaming plus snapshots) and the one to use; Market Data Production is snapshots-only. (Remember: StrategyXL only ever reads market data — it can't trade.)

The Trader API - Individual page with the green 'Request access' button highlighted and the Accounts and Trading Production and Market Data Production cards below it.
Click Request access. Accounts and Trading Production is the full product; Market Data Production is snapshots-only. · Click to enlarge.
The Trader API - Individual page with the green 'Request access' button highlighted and the Accounts and Trading Production and Market Data Production cards below it.
4

Check the box to accept the Terms and Conditions, then click Submit.

The Terms and Conditions dialog with the agreement checkbox checked and the Submit button highlighted.
Agree to the terms and Submit. · Click to enlarge.
The Terms and Conditions dialog with the agreement checkbox checked and the Submit button highlighted.
5

Your request is in. Schwab reviews it — up to two business days. You can track it in your Apps Dashboard → Subscriptions, where it shows Pending until it's approved.

A confirmation banner: the request for access to Trader API - Individual has been submitted, allow up to two business days for review.
Submitted — up to two business days for review. · Click to enlarge.
A confirmation banner: the request for access to Trader API - Individual has been submitted, allow up to two business days for review.
The Apps Dashboard Subscriptions tab showing Trader API - Individual with an access status of Pending.
Track it under Apps Dashboard → Subscriptions (Pending). · Click to enlarge.
The Apps Dashboard Subscriptions tab showing Trader API - Individual with an access status of Pending.
Part 3 · Create your app & copy your keys One-time setup · once your access is approved
1

Once your access shows Ready For Use, go to your Apps Dashboard and click Create App.

The Schwab Apps Dashboard with an app showing status Ready For Use and the Create App button highlighted.
Access approved (Ready For Use) — click Create App. · Click to enlarge.
The Schwab Apps Dashboard with an app showing status Ready For Use and the Create App button highlighted.
2

Fill in the app: select the Accounts and Trading Production product, give it a name, and — the important part — set the Callback URL to exactly https://127.0.0.1 (it must match character-for-character). Set the Order Limit to 0 — StrategyXL never places orders, and 0 tells Schwab to throttle order requests to zero, an extra safeguard on top of StrategyXL being read-only. Then click Create.

The Schwab Create App form: the Accounts and Trading Production product, an app name, Order Limit set to 0, and the Callback URL set to https://127.0.0.1.
Create App — Order Limit 0 and the callback set to exactly https://127.0.0.1. · Click to enlarge.
The Schwab Create App form: the Accounts and Trading Production product, an app name, Order Limit set to 0, and the Callback URL set to https://127.0.0.1.
3

Back on the Apps Dashboard, click View Details on your new app.

The Schwab Apps Dashboard with the View Details link highlighted for the Ready For Use app.
Open your app's View Details. · Click to enlarge.
The Schwab Apps Dashboard with the View Details link highlighted for the Ready For Use app.
4

At the bottom of the details you'll find your Client ID and Client Secret (click the eye icons to reveal them). These are what StrategyXL calls your App Key and Secret — copy both. They never leave your machine.

The Schwab App Details page with the Client ID and Client Secret fields highlighted, each with a reveal (eye) icon.
Your Client ID (App Key) and Client Secret. · Click to enlarge.
The Schwab App Details page with the Client ID and Client Secret fields highlighted, each with a reveal (eye) icon.
Part 4 · Connect StrategyXL to Schwab The first time — then again about weekly

This is the part you'll repeat: Schwab's sign-in expires about every seven days, so every so often you'll click Connect and run through this again (it's quick).

1

In Excel, open the StrategyXL ribbon → Schwab Connection, and paste in your App Key (Client ID), Secret (Client Secret), and the same https://127.0.0.1 callback.

The StrategyXL Schwab Connection dialog in Excel, with App Key, Secret, and Callback URL fields, a Connect button, and a paste-back field with a Finish button.
The Schwab Connection dialog in StrategyXL. · Click to enlarge.
The StrategyXL Schwab Connection dialog in Excel, with App Key, Secret, and Callback URL fields, a Connect button, and a paste-back field with a Finish button.
2

Click Connect — Schwab opens in your browser. Log in with your regular Charles Schwab brokerage account here — not your developer-portal login.

The Charles Schwab brokerage Log In page with Login ID and Password fields.
Log in with your Schwab brokerage account (not the developer-portal login). · Click to enlarge.
The Charles Schwab brokerage Log In page with Login ID and Password fields.
3

Schwab shows its Trader API End User Terms and Conditions. Check the box and click Continue.

The Schwab Trader API End User Terms and Conditions page with the acknowledgment checkbox checked and the Continue button highlighted.
Accept Schwab's Trader API terms and Continue. · Click to enlarge.
The Schwab Trader API End User Terms and Conditions page with the acknowledgment checkbox checked and the Continue button highlighted.

About these Schwab terms

These are Schwab's standard terms for its entire Trader API program, so they're written broadly — they mention placing orders and sharing account information because the same terms cover apps that do trade. StrategyXL doesn't. It's read-only and locked in code to Schwab's market-data and streaming endpoints — it never places, edits, or cancels orders, and it doesn't read your balances, holdings, or transactions. You also never give StrategyXL your Schwab password (you just logged in on Schwab's own page), and the app's Order Limit is 0 (Part 3), so Schwab caps order requests at zero anyway.

4

An Instruction and Informed Consent box appears — click Accept.

The Schwab 'Instruction and Informed Consent' dialog with an Accept button highlighted.
Accept the informed-consent box. · Click to enlarge.
The Schwab 'Instruction and Informed Consent' dialog with an Accept button highlighted.
5

Choose an account to link. If you have more than one, pick any single account — StrategyXL doesn't trade, so it doesn't matter which, and you only need one. Click Continue.

The Schwab 'Select your Schwab accounts to link' page with a list of accounts, one checked, and the Continue button highlighted.
Pick any one account — it doesn't matter which. · Click to enlarge.
The Schwab 'Select your Schwab accounts to link' page with a list of accounts, one checked, and the Continue button highlighted.
6

Review your selection and click Done.

The Schwab 'Review your selected accounts' page with the selected account and a Done button highlighted.
Review and click Done. · Click to enlarge.
The Schwab 'Review your selected accounts' page with the selected account and a Done button highlighted.
7

Your browser lands on https://127.0.0.1 and shows a "can't reach this page" error — that's expected (nothing is listening there, which is the point; your sign-in code never leaves your computer). Copy the entire URL from the address bar.

A browser 'can't reach this page' error at https://127.0.0.1, with the full address-bar URL highlighted for copying.
Copy the whole address-bar URL from the 'can't reach this page' screen. · Click to enlarge.
A browser 'can't reach this page' error at https://127.0.0.1, with the full address-bar URL highlighted for copying.
8

Back in the StrategyXL dialog, paste that URL into the box and click Finish. You're connected — Live Data is on.

Good to know

Staying connected

Your tokens are stored encrypted on your PC (Windows DPAPI). StrategyXL refreshes your access silently; Schwab expires the underlying sign-in about every seven days, so once in a while you'll run Part 4 again — a few seconds.

Using two PCs

Your license covers two PCs, and snapshots work on both at once. Live streaming is one machine at a time — stream on one PC at a time; switching machines drops the other and may prompt a reconnect. Your license is never affected.

Read-only, guaranteed

StrategyXL only ever calls Schwab's market-data endpoints — a transport-level allow-list blocks anything else before a request is sent, and there is no order or account endpoint anywhere in the product. StrategyXL cannot place a trade.

Back to Live Data for what the connection unlocks.

StrategyXL is an independent product and is not affiliated with, endorsed by, or sponsored by Charles Schwab & Co., Inc. "Charles Schwab" is a trademark of its respective owner.

Stuck on a step? — every message gets a real reply.

Get in touch

Send a note and I'll get back to you — every message gets read.

Please provide your full name.
Please provide your email address.
Please provide a valid email address.
Please enter your message.