Insights
Where to Find Historical Market Cap Data for Stocks
Alphanume Team · May 19, 2026
Point-in-time market cap and shares outstanding for US equities, as known on each historical date, from Alphanume.
Market cap sounds like the simplest data point in the world, until you try to get it right historically. Most sources give you a current market cap and let you imply the past by multiplying old prices by today's share count. That quietly injects lookahead bias, because share counts change through issuance and buybacks. A clean backtest needs the market cap as it was actually known on each date.
Alphanume provides exactly that as the Historical Market Cap dataset.
What the dataset is
Historical Market Cap is point-in-time market cap and shares outstanding for equities, as known on each historical date. It is cursor-paginated and ordered by date and ticker descending. Because each row reflects the share count and capitalization known at the time, you can build size factors and capitalization filters without leaking future information.
Fields
- date: the as-of date
- ticker: the equity symbol
- shares_outstanding: shares outstanding as known on that date
- market_cap: point-in-time market capitalization
What you can do with it
- Build point-in-time size factors with no lookahead.
- Normalize signals by share count or float.
- Run capitalization-threshold backtests (small-cap, mid-cap, and so on).
- Track issuance and buyback share-count shifts over time.
How to access it
The dataset is on the free tier as a rolling 30-day delayed window, and the API key is optional for a limited subset. Query one ticker on one date:
curl "https://api.alphanume.com/v1/historical-market-cap?ticker=AAPL&date=2026-02-06&api_key=alp_your_key"Grab a free Alphanume API key, read the API documentation, or explore it on Alphanume to browse the data.
Related
Market cap is a natural companion to Stock Dilution (for gauging dilutive impact relative to size) and Historical Optionable Tickers (for building liquid, optionable universes).
The lookahead trap in size data
Market cap looks trivial until you need it historically. The common shortcut, multiplying old prices by today's share count, injects lookahead bias because share counts change through issuance and buybacks. A small-cap filter built that way can include names that were not actually small at the time, which is enough to distort a size-based backtest.
Alphanume provides market cap and shares outstanding as known on each historical date, cursor-paginated and ordered by date and ticker. Because both the capitalization and the share count are point-in-time, you can build size factors and capitalization thresholds that match what you could have applied live, and even detect issuance and buyback shifts directly from the share-count series.
Frequently asked questions
Why not just multiply old prices by today's share count?
Share counts change through issuance and buybacks, so using today's count for the past injects lookahead bias. Point-in-time market cap avoids that distortion.
What fields does the dataset provide?
Each row carries date, ticker, shares_outstanding, and market_cap, all as known on that historical date.
Is an API key required?
No, the key is optional for a limited subset. A free key gives a rolling 30-day delayed window, and Pro removes the delay.
How is the data ordered?
It is cursor-paginated and ordered by date and ticker descending, returning has_more and next_cursor for large pulls.
What can I build with it?
Point-in-time size factors, share-count normalization, capitalization-threshold backtests, and issuance or buyback tracking, all without lookahead.