Yes it drops them, and silently. The common belief is that yfinance caps quarterly data at six quarters. That is close but wrong in the way that matters: it is a rolling window that varies by company and drops the oldest quarter without saying so.
Tested across seven large caps on the same day, the number of quarters returned ranged from five to seven, and the oldest available quarter differed per company. Every one of them had already dropped a quarter that was fully available a few months earlier; two had lost two. One company simply returns five columns, and nothing in the response indicates that two quarters used to be there.
The practical consequence is the dangerous bit: a quarterly grid you built one quarter ago cannot be rebuilt from yfinance today. Re-run last quarter's script and you silently get a shorter history, your comparison window shifts, and any number derived from it changes without a single error. This is the same silent-incompleteness shape that most reliably produces a confident wrong answer, which is worse than a crash.
What to do instead. yfinance is fine for a quick look at recent quarters, and its numbers agree with the filings where they overlap. But for anything you need to reproduce, audit or publish, pull from a source of record: SEC XBRL company facts, or a library over it. Filed data does not vanish, and it carries the accession number so a figure can be traced back to the document it came from - yfinance drops that audit trail entirely. And if a history matters to you, archive your own snapshot when you pull it, because the upstream window will move.
The comparison in full, including which route to use with an AI agent: https://www.tigzig.com/agents-faq/how-should-i-pull-company-financials-from-sec-filings. Free Yahoo Finance access without a key: https://www.tigzig.com/agents-faq/is-there-a-free-yahoo-finance-api-and-mcp-server. Full write-up with the per-company table: https://www.tigzig.com/story/sec-xbrl-three-ways/.
← All Agents FAQ