Multi-Broker Integration

Schwab CSV Export: The Silent 1,500-Row Limit & the Fix (2026)

Schwab's export has a limit it never mentions: ~1,500 rows. Cross it and the file arrives empty — no error, no warning. The exact clicks and the fix.

Catalina Dimofte

August 31, 2026

A blank printed page illustrating Schwab's silent 1,500-row CSV export limit producing empty files
Quick answer

To export from Schwab: log in, open Accounts → History, set the view to Transactions, pick a date range, Search, then Export — the file arrives as a CSV. One trap: exports cap at ~1,500 rows, and past the cap the file arrives empty — no error, no warning. If your download opens blank, shorten the date range and export again.

Schwab’s export flow is quick and the presets are genuinely useful — but it enforces a limit it never tells you about. Here’s the exact flow, why “successful” exports sometimes contain nothing, and the habits that keep your records complete anyway.

Key Takeaways

  • Export path: Accounts → History → Transactions → date range → Search → Export.
  • The silent cap: ~1,500 rows per export — exceed it and the file arrives empty, with no error shown.
  • The habit: open every file and check the first and last dates before filing it — blank or short files are how gaps happen.
  • The horizon: ~4 years of history online, with possible gaps from the TD Ameritrade migration — statements are the fallback.

Where is the CSV export in Schwab?

On the History page — export what you’ve searched. The steps, on the website:

  1. Log in at schwab.com and open Accounts → History (exports run per account).
  2. Set the view to Transactions.
  3. Pick a date range — the presets (Previous Year, Current Year) are handy, or set custom dates. Keep ranges modest on busy accounts.
  4. Click Search, let the results load, then Export and confirm — the CSV downloads immediately.
💡 Pro Tip

The Previous Year preset maps exactly onto the US tax year — one click, one file per year, if your activity fits under the cap. Active traders: go quarterly instead, and merge the four files. Either way, open each file and sanity-check the first and last dates before archiving it.

The 3 things that trip people up

TrapWhat happensFix
The ~1,500-row capOver the limit, the export “succeeds” but the file is emptyShorten the range — quarters usually fit — and export again
No warning either wayNothing tells you rows were dropped or missingOpen every file; check first/last dates and row count against expectations
TD Ameritrade-era gapsMigrated accounts can be missing older history onlinePDF statements are the fallback record — archive them for the missing years

What’s in the file — and what to watch

One row per event — trades, dividends, interest, transfers and fees — with dates, symbols, descriptions, quantities, prices and amounts. Remember that every row counts toward the ~1,500 cap, not just trades: on income-heavy accounts, dividend and interest lines quietly eat the budget. And as with any broker file, don’t round fractional share quantities — those decimals are your cost basis.

Isn’t my 1099 enough for taxes?

For filing, mostly yes. For proving, no. Schwab’s consolidated 1099 covers what Schwab knows for that year — but wash sales that span brokers, positions transferred in with older basis, and anything the IRS asks about later are yours to substantiate. Your exports are that evidence trail. One folder per tax year, kept permanently.

Using more than one platform? Our free US broker export cheat-sheet covers the export path, format and trap for 8 US platforms on one printable page. For the walkthroughs: our Fidelity export guide (a 90-day cap instead of a row cap) and our Robinhood export guide (a generate-and-wait report, not a download).

⚠️ Important Note

Keep every year’s export permanently. Broker interfaces, limits and history horizons change without notice — your saved files are the record that survives. Avex AI provides software and educational content, not investment or tax advice. Avex AI is not affiliated with or endorsed by Charles Schwab.

Why is my Schwab export empty?

Almost always the silent row cap: exports over ~1,500 rows arrive as an empty file, with no error shown. Shorten the date range — quarters usually fit comfortably — and export again.

How do I export a full year from Schwab?

Use the Previous Year preset for a clean tax-year file. If the year holds more than ~1,500 rows of activity, split it into quarters and merge the four files in a spreadsheet.

Do my old TD Ameritrade transactions appear?

Not always — accounts migrated from TD Ameritrade can be missing older history online. For those years, your PDF statements are the record; archive them rather than assuming the export reaches back.

Does the export include dividends and interest?

Yes — they appear as rows alongside trades, each tagged by type. Note they also count toward the ~1,500-row cap, which is why income-heavy accounts hit it sooner than expected.

Do I even need exports if Schwab sends me a 1099?

The 1099 covers filing for that broker and that year. Cross-broker wash sales, transferred cost basis and any later IRS questions need your own records — the exports are how you prove your numbers.

PRIVATE WEALTH COPILOT

One operating view for your wealth

Avex AI helps self-directed investors unify accounts, parse statements, spot concentration risk, and model what to add, trim, or rebalance next. Built for sophisticated retail investors.

Avex AI provides software for portfolio analysis, scenario modeling, and stress-testing. We are not a regulated investment advisor, broker, or financial planner. Nothing in this article constitutes investment advice, a recommendation, or a solicitation to buy or sell any security. Past performance does not guarantee future results. Consult an authorized financial advisor before making investment decisions. Capital at risk. See our full Editorial Standards for details.

Table of Contents