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, reported by third-party import guides: exports over roughly 1,500 rows arrive as an empty file, with no error shown. Schwab’s own pages don’t document a limit, and we haven’t reproduced it on a live account — so treat it as a working rule, not a published cap.
Schwab’s export flow is quick and the presets are genuinely useful — but there’s a row limit that Schwab’s pages don’t document. 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 cap (per import guides): about 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: Schwab offers up to four years of transaction history online and up to ten years of statements; TD Ameritrade history shows under your Schwab account number.
Where is the CSV export in Schwab?
On the History page — export what you’ve searched. The steps on the website:
- Log in at schwab.com and open Accounts → History (exports run per account).
- Set the view to Transactions.
- If the History screen shows a filter, set it to All Transactions before exporting (third-party guides include this step; without it, the file may not contain every transaction type).
- Pick a date range — the presets (Previous Year, Current Year) are handy, or set custom dates. Keep ranges modest on busy accounts.
- Click Search, let the results load, then Export and confirm — the CSV downloads immediately.
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
| Trap | What happens | Fix |
|---|---|---|
| The ~1,500-row cap (reported) | Over the limit, the export “succeeds” but the file is empty, per import guides | Shorten the range — quarters usually fit — and export again |
| No warning either way | Nothing tells you rows were dropped or missing | Open every file; check first/last dates and row count against expectations |
| Four years online ≠ four years in one file | The History view reaches back four years, but one export still has to fit under the row limit | One export per year or quarter; statements (ten years) are the archive |
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 count toward the reported cap. 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).
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.
Most likely the row cap that third-party import guides report: exports over roughly 1,500 rows arrive as an empty file, with no error. Schwab’s pages don’t document it. Shorten the date range — quarters usually fit — and export again.
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.
Schwab states that TD Ameritrade history is shown under your Schwab account number, with up to four years of transaction history online. If a year you need is missing, your PDF statements (up to ten years) are the record.
Yes — they appear as rows alongside trades, each tagged by type. They count toward the reported row cap, which is why income-heavy accounts hit it sooner.
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.
Sources & references
- Schwab — TD Ameritrade, Inc. is now at Schwab: up to four years of transaction history, ten years of statements, TD Ameritrade history under your Schwab account
- TraderFyles — Exporting trade history from Schwab (third-party guide: steps, date presets, ~1,500-record limit, empty file)
- IRS — Topic 409: Capital Gains and Losses
- IRS — Publication 550: Investment Income and Expenses (wash sales)
Last verified: 31 October 2026. The row limit and the empty-file behaviour come from the third-party guide above and were not reproduced on a live Schwab account.