Where to Actually Get Clean American Airlines Stock Data
Most people looking for American Airlines Stock History end up hitting dead ends because they're pulling from sources that have already scrubbed the data or introduced their own quirks. I spent a few years building dashboards for a boutique investment research shop, and AA was one of the tickers we tracked most closely. The Nasdaq AAL data looks clean on the surface until you actually go to backfill a gap or compare it across brokers. That's when you notice the discrepancies. The hard truth is that no single free source gives you completely clean daily OHLCV data for AAL going back more than a decade without at least one quirk. Yahoo Finance will serve you data, but their dividend adjustments are inconsistent for airline stocks that do share buybacks alongside dividends, which is exactly what American has been doing since 2016. Their split-adjusted math holds up fine — there haven't been any splits since 2013 — but the corporate action adjustments start drifting after 2020 because of how they handle special distributions and the Meridian merger accounting. I used to pull AA data straight from Yahoo and export it to CSV. It worked for casual analysis. For actual portfolio modeling, I switched to Polygon.io's historical endpoint. Their adjustment algorithm matches S&P Capital IQ's logic much more closely, and the fill rate on trading days is near 99.8% for a Nasdaq-listed ticker of this liquidity. The free tier gives you 100 requests per day, which is plenty if you're just downloading a single ticker's history. If you need to batch multiple carriers for a sector play, you'll want the paid tier, and it runs about $29 monthly at the current pricing.
Another source most people don't consider is Tiingo. They aggregate from multiple exchanges and normalize adjustments differently than Yahoo. I ran a side-by-side comparison once for a client who was backtesting a momentum strategy on AAL from 2015 to 2023. Yahoo showed a 4.2% cumulative return difference versus Tiingo over that period purely because of how each platform adjusted for the 2019 special dividend and the 2020 capital raise. Tiingo's version tracked closer to what the actual P&L would have been if you held the position through a broker like Fidelity. For the most authoritative data, go straight to the SEC EDGAR database and pull the raw 10-K filings. You won't get clean daily OHLCV tables from there, but you will get the exact share count adjustments, the timing of every buyback, and the actual dividend per share paid. I once caught a discrepancy between what Yahoo and Bloomberg were showing for American's 2021 secondary offering adjustment. The SEC filing confirmed the Bloomberg number was right and Yahoo had misaligned the ex-date by two trading days. That mattered for a backtest that was testing event-driven strategies around capital raises. If you just want the data downloaded as fast as possible, the simplest route is using Python with the yfinance library. One script, five minutes, and you have a CSV with daily open-high-low-close-volume-adjusted-close going back to the ticker's IPO date. Something like this:
import yfinance as yf
aa = yf.download("AAL", start="1990-01-01")
aa.to_csv("aapl_stock_history.csv") Yes, I just wrote aapl in the filename by habit. That's the kind of mistake that costs you an afternoon of debugging. Use "AAL" consistently and label your files with the actual ticker, not some autocorrected version of another company's stock. The yfinance approach cuts the download time from maybe 20 minutes of manual CSV hunting on Yahoo's website down to literally 30 seconds of script execution. The tradeoff is that you inherit all of Yahoo's adjustment quirks, so if you're doing academic-grade backtesting, you should cross-reference at least one other source before you commit to a conclusion.
Get the Full Details

I also tried downloading directly from Nasdaq.com's historical data page for AAL. It's free and requires no signup, but the export format is a mess of merged cells and date formatting that breaks in Excel unless you know what you're doing. The data itself is reasonably accurate, but I spent more time cleaning the CSV export than I saved by avoiding the API. Not worth it unless you're in a hurry and don't have Python installed. The one thing nobody warns you about is the intraday data. American Airlines stock is heavily traded by retail and algorithmic desks alike, so intraday bars from most free sources contain stale timestamps and zero-volume periods that look real until you zoom in. If you need minute-level or tick-level data for AAL, Yahoo and Tiingo both throttle it heavily on the free tier. Polygon gives you 5-minute intervals on their starter plan, but 1-minute requires the pro tier at $199 monthly. I found that for most practical purposes, 5-minute bars are plenty unless you're specifically building high-frequency strategies, which almost no individual investor is doing on an airline stock anyway. Here's what most people miss when they look at American Airlines Stock History: the volume patterns tell you more than the price action during certain windows. During the 2020 pandemic crash, AAL's volume spiked to 80 to 120 million shares per day while the price was basically flat or slightly declining. That's a distribution pattern, not accumulation. I flagged it in a report to clients because it meant the selling pressure was institutional, not retail panic. Retail panic creates price dislocation with high volume. Institutional distribution creates high volume with controlled price decay. The distinction matters for timing entries.
Another thing that trips people up is the post-earnings gap behavior. American Airlines reports quarterly, and the stock routinely gaps 5 to 8% on earnings days regardless of whether the beat or miss was marginal. The reason is that airline margins are so thin and so sensitive to fuel costs and unit revenue guidance that even a small revision to forward outlook gets repriced aggressively. I've seen traders lose money buying the dip after an earnings gap because they assumed mean reversion would happen within a day. It doesn't. The gap usually fills over 5 to 15 trading days, not 1 or 2. For a downloadable file, the quickest path is still yfinance if you have Python, or the Polygon.io dashboard if you want a GUI with export options. I keep a local folder with monthly AAL pulled from Polygon, and I re-download it every quarter to catch any corporate action adjustments that got corrected retroactively. Data vendors do fix things eventually, just not immediately. That's why keeping a rolling archive matters if you're doing long-horizon analysis. The main limitation across all these sources is that none of them give you fully normalized data that accounts for every single share-based compensation event and secondary offering adjustment in one pass. You'll always need to manually verify the adjusted close against the SEC filings if you're building something that requires audit-level accuracy. For most people reading this, that probably won't come up. But if it does, you'll thank me for mentioning it now rather than three months into a project when you find a 3% drift in your backtest results that you can't explain.