How do I get real-time (not delayed) data in thinkorswim?
Updated August 27, 2026
Short answer
Three different things get called "delayed" and they have three different fixes. Real-time equity quotes require you to accept the exchange agreements and declare yourself a non-professional subscriber, which lives on schwab.com and not inside the platform. Separately, Setup > Application Settings > System > Quote speed can be set to a one or three second refresh, which looks like delay but isn't. And paperMoney ships with a 20 minute delay by default, which is Schwab's own documented behaviour, not a bug.
Three different things, three different fixes
The word “delayed” gets used for three unrelated problems and people spend hours fixing the wrong one.
The first is entitlement. Your account isn’t approved for real-time exchange data, so the servers are sending you 15 or 20 minute old quotes. The second is refresh rate. You have real-time entitlement but the platform is throttling how often it redraws, so price moves in one second steps instead of continuously. The third is paperMoney, where the delay is deliberate and documented.
Work out which one you’ve got before you change anything.
Check the platform first
Look at the top strip of the main thinkorswim window, near where it says whether you’re connected. It’ll tell you whether you’re on real-time or partially delayed data. People report the wording as “Partially delayed data” but I’d rather you read your own screen than trust me on the exact string.
Then open a liquid symbol, SPY or AAPL, during the regular session and watch the Last price for thirty seconds. Real-time and unthrottled, it flickers constantly. Real-time on a three second quote speed, it steps. Genuinely delayed, it moves but everything you see is old, and the easiest tell is comparing the last price against any free real-time quote source.
The exchange agreement, which is not in the platform
This is the one that catches everybody, and it’s worth saying plainly: you cannot fix it inside thinkorswim. It’s an account-level setting on schwab.com.
Schwab’s own FAQ says it about as directly as it can. If you’re seeing delayed data, log in to Schwab.com, bring up the professional/non-professional subscription agreement, select non-professional, agree to the addendum, and log back in to thinkorswim. The addendum is the bit that matters, because Nasdaq and NYSE are named third party beneficiaries of it and Schwab can’t send you their data until you’ve signed it as an individual.
Finding it is annoying. The reliable route people describe is searching schwab.com for “Professional/Non-Professional” once you’re logged in and taking the first result, rather than hunting through Profile menus. A fair number of migrated accounts also report having to sign it twice before quotes actually flipped, which sounds like nonsense but it comes up too often to leave out. If it hasn’t changed within a day, sign it again before you call.
Professional or non-professional, and why you care
Non-professional is the default for most retail traders and it’s what makes real-time equity data free. You’re a professional subscriber if you’re using market data for a business or commercial purpose, if you’re registered or licensed with a securities regulator, or if you’re acting on behalf of an institution. The exact definition is in the addendum text and it’s worth reading rather than guessing.
If you tick professional, exchanges bill for the data, per exchange, monthly. I’m not going to quote you a number because the fee schedules change and I can’t verify a current one. Get it from Schwab directly. But do understand that ticking the wrong box either costs you money or gets your data cut off, so it’s not a box to click through carelessly.
Quote speed, the setting nobody finds
Separate from all of the above, thinkorswim throttles how fast it pushes updates to your screen. Multiple users put it at Setup > Application Settings > System > Quote speed, with a “Real-time (no delay)” option and one, two and three second alternatives. More than one person has described switching off a three second setting and being amazed at the difference.
This is a display setting, not an entitlement. It won’t give you data you’re not approved for, and turning it up costs CPU. But if your prices are stepping rather than flowing, look here before you assume your account is wrong.
paperMoney is delayed on purpose
Schwab’s own paperMoney walkthrough says it out loud: “By default, paperMoney comes with a 20-minute delay.”
So the platform isn’t broken. Your indicator isn’t broken. Your scan results aren’t wrong. You’re watching a chart from twenty minutes ago and placing simulated orders against it, which is why the fills feel weird and why nothing lines up with what people are posting in chat. This is the single most common reason a new user concludes thinkorswim is garbage.
Two more things about paperMoney worth knowing. Fills are simulated against that delayed book, so execution quality in paperMoney tells you nothing about execution quality live. And Schwab notes separately that paperMoney may not reflect all intraday margin features, with values differing from a live account.
Some people have had support switch their paper account to live data. Whether that’s still available post-migration I can’t confirm, so ask rather than assume.
Level II and market depth
Level II is its own entitlement, separate from the Level I quotes that feed your charts. In the platform it sits in the left sidebar (or as its own window), and for stocks and options you can switch between three datasets: Level II best prices, NASDAQ Full Book, and BATS/EDGE Full Book. Futures show the exchange’s own book, since a futures contract trades on one exchange.
One quirk worth knowing because it makes people think the tape is lying. Level I bid and ask sizes are rounded down to a round lot multiple that depends on price: multiples of 100 at or below $250, multiples of 40 between $250.01 and $1,000, multiples of 10 up to $10,000, and multiples of 1 above that. So a 350 share bid on a $50 stock displays as 300. Level II shows the actual size, also rounded down to the nearest round lot multiple. And on intraday charts, trades under the minimum lot size aren’t displayed at all, which is why a $300 stock can print ten shares that never appear on your volume bar.
Where the migration muddies things
TD Ameritrade accounts moved to Schwab, and market data entitlements moved with them unevenly. The pattern people describe is having real-time futures but delayed equities, or the reverse, on the same login. Futures and forex are separate entitlements from equities, so one being live tells you nothing about the other.
The honest state of it is that the schwab.com controls for futures data are hard to find and at least one 2025 thread has a user who couldn’t locate any such setting at all. So rather than give you a menu path that may not exist on your account, the advice is: fix equities yourself through the professional/non-professional agreement, and phone the thinkorswim desk for anything futures related. They can see your entitlements and you can’t.
If you’ve done all of it and it’s still delayed
Log fully out of thinkorswim and back in, not just reconnect. Entitlement changes need a fresh session and people give up ten minutes before it would have worked.
And before you conclude the data is stale, check whether you’re actually comparing like with like. A scan result that doesn’t match your chart usually isn’t a data problem at all, it’s aggregation and session settings differing between the two.