BuyMeWhiskey

Best online sources for U.S. stock data?

USPublished · Written by BuyMeWhiskey Editorial Team · How we check facts

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.

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 APIs

Run 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

NeedGood starting source
Company filingsSEC EDGAR
Ticker/CIK/exchange mappingSEC company_tickers_exchange.json
Tagged fundamentalsSEC XBRL APIs
Daily historical pricesNasdaq historical-data pages
Economic time seriesFRED
Specialised market datasetsFINRA 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

Next question →How can you check whether an investment platform is genuine?

Sources

  1. SEC: Accessing EDGAR Data
  2. SEC: EDGAR Application Programming Interfaces
  3. SEC: Company Tickers Exchange
  4. Investor.gov: Using EDGAR to research investments
  5. Nasdaq: Historical Data
  6. FINRA Developer Center: Query API
  7. FINRA: Historic Data Information

Figures were checked against these sources before publication. If a rule changes, we update the page and show the new date.

General information, not personal financial advice. Rules depend on your circumstances; check the official source or speak to a regulated adviser before acting.