Best online sources for U.S. stock data?
For U.S. public-company fundamentals, SEC EDGAR is the best free primary source, with SEC ticker/CIK/exchange files and XBRL APIs for structured data. Nasdaq can supply public daily price history, while deep intraday data usually requires exchange or specialised market-data sources.
Next question: How can you check whether an investment platform is genuine? →
Start with SEC EDGAR and its APIs for company identifiers, filings and structured fundamentals, then add a separate market-price source for historical prices.
Use SEC EDGAR APIsRun your own numbers: Compound interest and savings calculator.
Start with SEC EDGAR for company fundamentals
For U.S. public-company research, the SEC's EDGAR system is the strongest free primary source. Investor.gov says EDGAR provides free public access to corporate information, including annual and quarterly filings and information on public companies, mutual funds and ETFs.
For financial statements and historical fundamentals, use filings rather than relying on a scraped website. The SEC's filing database gives access to 10-K annual reports, 10-Q quarterly reports, 8-K current reports and other filings.
Where to get company tickers and exchanges
The SEC publishes company_tickers_exchange.json, a file mapping EDGAR-conformed company name, CIK, ticker and exchange. The SEC warns that these associations are periodically updated and are not guaranteed to be complete or accurate for every possible use, so treat the file as a starting point and validate listings when your research needs a current exchange status.
For bulk fundamentals, use the SEC APIs
The SEC provides JSON APIs for filing history and XBRL data. Its current documentation says the JSON structures are updated throughout the day and that a nightly bulk ZIP of the API structures is also available. This is useful when you need repeatable data collection instead of downloading individual filings manually.
The submissions API includes stock exchanges and ticker symbols in an entity's filing history metadata. The XBRL APIs expose tagged financial-statement information, which is more suitable for programmatic fundamental datasets than copying figures from web tables.
Historical daily prices are easier than historical intraday
Nasdaq's public historical-data pages provide up to 10 years of daily historical stock prices and volumes for each stock on those pages. That is useful for backtests that work on daily closes, but it is not the same as a full tick-by-tick or minute-by-minute historical tape.
For longer or more specialised intraday history, you will usually need a market-data provider or a licensed data feed. FINRA's public documentation shows that some datasets and historical products are available by API or paid agreement, but its most detailed historical examples are focused on fixed income and OTC data rather than a free, universal archive of every U.S. listed stock tick.
How to build a multi-company fundamentals file
- Use the SEC ticker/exchange file to build an initial universe of public companies.
- Use CIK identifiers rather than ticker symbols as the stable primary key where possible.
- Pull filing history from the SEC submissions API.
- Use SEC XBRL data for tagged financial statement fields.
- Store the filing date and reporting period separately so you do not confuse a filing made today with a financial period that ended years ago.
What about long-run intraday data?
There is no single official free SEC endpoint that replaces a historical exchange-level intraday feed for all equities. SEC data is excellent for filings and issuer reference information, while exchanges and market-data vendors specialise in price and trade history.
That distinction matters for backtesting. A fundamental dataset answers questions about revenue, assets or shares outstanding; a tick dataset answers questions about when trades occurred and at what price. Mixing the two without matching corporate actions, symbol changes and reporting dates can create misleading results.
Check licensing and revision risk
Free public access does not always mean unrestricted redistribution. FINRA, Nasdaq and other data providers can attach specific terms to historical datasets or APIs. SEC public data is free to access, but automated users should also follow SEC's stated access practices and rate limits.
A practical free research stack
| Need | Good starting source |
|---|---|
| Company filings | SEC EDGAR |
| Ticker/CIK/exchange mapping | SEC company_tickers_exchange.json |
| Tagged fundamentals | SEC XBRL APIs |
| Daily historical prices | Nasdaq historical-data pages |
| Economic time series | FRED |
| Specialised market datasets | FINRA and licensed feeds |
Worked example
Illustrative data workflow: suppose you want a multi-company file containing ticker, CIK, exchange and recent reported revenue.
- Download the SEC company ticker/exchange file and keep the CIK as the main identifier.
- For each CIK, query the SEC submissions data and retrieve the relevant filing history.
- Pull the tagged revenue fact from SEC XBRL data for the reporting period you need.
- If you also want a historical daily price series, use Nasdaq's public historical data as a separate dataset rather than treating it as part of the SEC filing data.
- Join the datasets on stable company identifiers and reporting dates, not just on a ticker, because tickers can change.
This approach gives a reproducible research file without pretending that one public source contains every kind of market data.
Where can I get a free list of U.S. stock tickers?#
The SEC publishes company ticker files, including a JSON file with company name, CIK, ticker and exchange associations. It is a useful free starting point, although the SEC says the associations are periodically updated and are not guaranteed to cover every use case.
Where can I get long historical intraday stock data?#
There is no single official free source covering every U.S. listed equity at tick or minute frequency. SEC data is primarily issuer and filing data; exchanges and specialist market-data providers are the places to investigate for deep intraday history, with licensing and fees varying by dataset.
Where can I download NYSE and Nasdaq company symbols?#
For a programmatic starting universe, use the SEC company ticker/exchange file and validate the current exchange listing with the exchange or issuer source when necessary. The SEC file contains CIK, ticker, company name and exchange association data. For repeatable research, record the source, identifier, date downloaded and any licensing limits alongside each dataset.
What is the best source for historical company fundamentals?#
SEC EDGAR is the best free primary source for U.S. public-company fundamentals because it contains the underlying filings. The SEC also provides XBRL APIs that make tagged financial-statement data easier to collect at scale. For repeatable research, record the source, identifier, date downloaded and any licensing limits alongside each dataset.
Can I get a CSV of historical fundamentals for hundreds of companies?#
You can build one from the SEC APIs, but it is often safer to assemble your own dataset than to trust an unexplained downloadable CSV. Use CIKs, store filing dates and reporting periods, and record the original source filing for every observation.
Does the SEC provide historical stock prices?#
The SEC is not a substitute for a comprehensive exchange price-history service. It provides issuer, filing and structured financial data. Nasdaq offers public daily historical price and volume pages, while deeper intraday data generally comes from exchanges or market-data providers.
Is EDGAR data updated in real time?#
The SEC says its API JSON structures are updated throughout the day as submissions are disseminated, with a nightly bulk ZIP also available. That makes EDGAR useful for current filings, but it is not a real-time stock-price feed. For repeatable research, record the source, identifier, date downloaded and any licensing limits alongside each dataset.
What should I use instead of Yahoo Finance symbols?#
For an authoritative company identity mapping, start with the SEC's CIK and ticker files. CIK is particularly useful because it remains tied to the issuer record while a ticker can change. Then validate current exchange status separately when needed. For repeatable research, record the source, identifier, date downloaded and any licensing limits alongside each dataset.
Keep reading
- How do you move from investing to taking income?Related question
- How far back can Carer's Allowance be backdated?Related question
- How long should an ISA transfer take, and what can I do if it's delayed?Related question
- Should I keep my old credit card open or close it?Related question
- Which IG stocks and shares ISA should you choose: Smart Portfolio or share dealing?Same topic
- Stocks and shares ISA, pension or cash savings: which is better?Same topic
- Do you need to wait for your statement to pay off your credit card in full?Popular question
- Compound interest and savings calculatorCalculator
- More in Investing: 39 answersTopic hub
Next question →How can you check whether an investment platform is genuine?
Sources
General information, not personal financial advice. Rules depend on your circumstances; check the official source or speak to a regulated adviser before acting.