The 20 Best Financial Datasets, Scored on the Three Defects That Decide If You Can Use Them

Every data team we work with has run the same experiment. Somebody pulls ten years of price history, joins it to fundamentals, tests an idea, and the result comes back better than it has any right to be. The instinct is to celebrate. In our experience the dataset is wrong far more often than the idea is right.
There are three things worth checking before you trust any financial dataset, and all three are silent. Nothing in the file tells you they are there. The first is whether companies that failed are still in it. The second is whether the numbers are what was published at the time or what got corrected later. The third is what the licence actually lets you do with the data once you have it. We have watched all three cost teams a quarter, and the third is the only one you cannot engineer your way out of afterwards.
So this list is organised around those three questions rather than around price or rate limits. Twenty datasets, grouped by the kind of data they hold, each one scored on all three defects. Where we could not establish an answer, the entry says so instead of guessing.
Quick Digest
- Three defects decide whether a financial dataset is usable: survivorship bias, look-ahead bias, and licence scope. Every entry below is scored on all three.
- Survivorship bias is the expensive one. CRSP's survivor-bias-free fund database carries more than 64,000 open-end funds, of which over 31,000 are delisted. A dataset built only from currently-listed names is missing a third of the population.
- Free to download is not free to redistribute. FRED holds copyrighted third-party series, and its terms place responsibility for honouring those restrictions on you, not on the Fed.
- FRED is the strongest free dataset in the category at roughly 845,000 time series from 126 sources, and it is macro only. It will not price a security.
- SEC EDGAR is the only free source of as-filed US fundamentals, which makes it the cheapest fix for look-ahead bias. It publishes a ceiling of 10 requests per second and requires a declared User-Agent header.
- There has been no official Yahoo Finance API since 2017. The libraries everyone uses call undocumented endpoints, carry no licence, and are described by their own authors as being for research and education.
- Quandl is not a product any more. It was absorbed into Nasdaq Data Link and much of the free catalogue that made it famous was withdrawn, which two of the top-ranking articles on this search have yet to notice.
- Norgate Data sells survivorship-bias-free US, Australian and Canadian equity history without an institutional contract. None of the eleven ranking articles we reviewed lists it.
- Kaggle is the fastest way to start and the worst place to finish. Provenance is often unstated, which means a dataset that works fine for a tutorial cannot be defended in production.
What counts as a financial dataset, and the four kinds you will actually meet
A financial dataset is any structured record of economic or market activity you can load and compute on. That definition is broad enough to be useless on its own, which is why the term collects such a strange mix of things: a central bank time series, a tick-level order book, a folder of quarterly filings, and a CSV of scraped headlines all answer to it.
In practice there are four classes, and they fail in different ways. Sorting a dataset into the right class before you evaluate it saves most of the wasted effort in this category, because the questions worth asking are class-specific.
| Class | What it holds | The question that decides quality |
|---|---|---|
| Macroeconomic series | GDP, inflation, rates, employment, trade balances, monetary aggregates | Is the series revised, and does the source keep the original vintages? |
| Market prices | OHLCV bars, tick data, quotes, corporate actions, index constituents | Are delisted securities present, and are splits and dividends adjusted correctly? |
| Fundamentals and filings | Income statements, balance sheets, cash flows, XBRL tags, regulatory documents | Are the values as-filed or restated, and is a filing date attached to each one? |
| Alternative and unstructured | News, sentiment, search interest, transactions, geolocation, web-derived signals | Where did it come from, and can you use it commercially? |
Most disappointments in this category come from evaluating a dataset against the wrong question. A team benchmarks two price datasets on how many tickers each returns, picks the larger one, and never asks whether either includes the companies that went bankrupt. Both numbers were real. Neither answered the question that mattered.
Quick Summary
What is a financial dataset?
Any structured record of economic or market activity you can load and compute on. In practice it splits into four classes: macroeconomic time series, market prices, fundamentals and filings, and alternative or unstructured data. Each class has one question that governs its quality, and they are different questions, so a dataset that looks strong on the wrong metric is the most common way teams pick badly.
The three defects that make a financial dataset unusable
These are not edge cases and they are not exotic. They are ordinary properties of ordinary datasets, and each one is silent: nothing in the file tells you it is there. Every entry in this list is scored against all three, and where the answer could not be established, the entry says that rather than guessing.
Defect 1. Survivorship bias
A dataset has survivorship bias when it only contains securities that still exist. Build a universe from today's listed tickers, pull ten years of history for each, and you have quietly excluded every company that went bankrupt, got acquired, or was delisted during those ten years. What remains is a sample of survivors, and a strategy tested on survivors will look better than it is.
The size of the effect is easy to underestimate until it is counted. CRSP maintains a database it explicitly markets as survivor-bias-free, covering more than 64,000 US open-end mutual funds. Over 31,000 of those are delisted. Roughly half the population of that dataset consists of funds that no longer trade, and every one of them is missing from a naive sample.
More than 31,000 of the 64,000+ funds in CRSP's survivor-bias-free database are delisted. A dataset built from currently-trading names alone is missing roughly half the historical population. (CRSP, accessed September 2026)
Defect 2. Look-ahead bias, and the as-filed problem
Look-ahead bias is any situation where a model sees information it could not have had at the time. In financial data it arrives through two doors, and both are easy to walk through without noticing.
The first door is the date you join on. A company's fiscal quarter ends on 31 March and the 10-Q lands several weeks later. Join fundamentals to prices on the period-end date and your model is trading on numbers that were not public for another month or more. The fix is to join on the filing date, which means the dataset has to carry one.
The second door is restatement. Most fundamentals databases hold the current version of each figure, which is to say the version after any subsequent corrections. Testing against those is testing against numbers nobody had at the time. An as-filed or point-in-time dataset preserves what was actually published on the day it was published, which is why point-in-time products exist as separate, more expensive offerings rather than as a default setting.
The cheap fix for look-ahead bias is SEC EDGAR. Filings are stored as submitted, with the acceptance timestamp attached, so an as-filed series can be reconstructed from the primary source for free. It costs engineering time rather than licence fees, and it is the reason the EDGAR entry below sits higher in this list than its rough interface would otherwise justify.
# Look-ahead: uses figures that were not public on period_end
df = prices.merge(fundamentals, left_on="date", right_on="period_end")
# Correct: join on the date the filing actually became public
df = prices.merge(fundamentals, left_on="date", right_on="filing_date")
Defect 3. Licence scope, which is not the same as price
Free to download and free to use are different claims, and the gap between them is where commercial projects die. A dataset can be freely accessible, freely queryable, and still prohibited from redistribution, from being cached inside your product, or from being shown to your customers.
FRED is the instructive case, because it is both the best free dataset in this category and more restricted than its reputation suggests. Its API terms require a specific notice on any application built with it: "This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis." More importantly, FRED aggregates from 126 sources, and some of those individual series are copyrighted by their original owners. The terms flag copyrighted series in their notes, direct users to seek permission from the data owner for anything beyond personal use, and state plainly that you are solely responsible for complying with restrictions the owners impose.
A correction worth making, because we nearly repeated it. Several widely-cited write-ups claim FRED's API terms prohibit storing, caching, or archiving its content, or putting it in a database. Reading the terms directly in September 2026, that prohibition is not there. The real constraint is narrower and more awkward: mandatory attribution, plus per-series third-party copyright with the compliance burden placed on you. Check the notes field of any series before you ship it.
Quick Summary
What is survivorship bias in a financial dataset?
It is the distortion that appears when a dataset contains only securities that still exist, because companies that went bankrupt, were acquired, or were delisted have dropped out of the sample. Any backtest run on such a dataset measures the performance of survivors, which overstates returns and understates risk. It is one of three silent defects, alongside look-ahead bias from restated or wrongly-dated fundamentals, and licence terms that permit download but not redistribution.
Expert Insights
"Many investment firms and portfolio managers rely on backtests (ie, simulations of performance based on historical market data) to select investment strategies and allocate capital. Standard statistical techniques designed to prevent regression overfitting, such as hold-out, tend to be unreliable and inaccurate in the context of investment backtests."
David H. Bailey, Jonathan Borwein, Marcos López de Prado and Qiji Jim Zhu, "The Probability of Backtest Overfitting", The Journal of Computational Finance
The order of the three defects matters more than most teams expect. A survivorship problem can be repaired by sourcing delisting records, and a look-ahead problem by rebuilding from as-filed sources, both at a cost in engineering time. A licence that forbids redistribution cannot be engineered around, and it is usually discovered late, when the prototype has already become a product.
How we picked these datasets and how to read each entry
No vendor paid for placement and none were contacted before publication. The 20 entries are the datasets that recur across this search and that we could confirm are still obtainable in September 2026. Two well-known names failed that second test and are handled in their own section rather than listed as though nothing had changed.
| Factor | What we checked |
|---|---|
| Class fit | Which of the four classes the dataset actually serves, rather than which four its marketing page claims. |
| Survivorship | Whether delisted or dead identifiers are retained. Printed as an explicit verdict, including "not verifiable" where that is the honest answer. |
| Point-in-time integrity | Whether values are as-filed with a date stamp, or the current restated version. |
| Licence scope | What the terms permit: personal use, research, internal commercial use, or redistribution. Read from the terms, not from the pricing page. |
| Access rules | Documented rate ceilings, header requirements, and stated policy on automated collection. |
| Cost model | How access is charged: open, free tier with a rate cap, subscription, or institutional licence. Not the figure, which decays within a quarter. |
| Still purchasable | Whether the product exists today under the name people still use for it. |
Every entry carries two tables. The first is the specification. The second is the limits table, which prints a verdict on each of the three defects plus the known gaps and how confident we are in the assessment. Ratings deliberately do not appear anywhere on this page, because datasets do not carry meaningful public review corpora and a star rating borrowed from a vendor's software listing would tell you nothing about the data inside it.
What we could not verify. Licence terms for the institutional datasets in Band C sit behind sales contact and are not published, so those rows read "institutional licence, terms not public" rather than carrying a guess. Coverage figures for commercial vendors are vendor-published and dated, not independently audited. Where a defect verdict depends on which product tier you buy, the entry says so instead of collapsing it into a single answer.
Quick Summary
How should I evaluate a financial dataset before using it?
Sort it into its class first, then ask the three defect questions in order: what does the licence permit, are delisted securities present, and are the values as-filed or restated. Check the licence first, because it is the only one of the three you cannot engineer around later. Coverage counts and rate limits matter, but they are tie-breakers, not qualifiers.
The 20 financial datasets at a glance
Find your class in the second column, then read only that band. Datasets in different bands are not substitutes for each other, and the most common shortlisting error in this category is comparing across them.
| # | Dataset | Class | Best for | ||
|---|---|---|---|---|---|
| 1 | FRED | Macro | Any US or global macro series, with original vintages preserved | ||
| 2 | SEC EDGAR | Fundamentals | As-filed US fundamentals and the raw filings behind them | ||
| 3 | World Bank Open Data | Macro | Cross-country development and financial indicators | ||
| 4 | IMF Data | Macro | Balance of payments, reserves, exchange rates, fiscal accounts | ||
| 5 | ECB Data Portal and Eurostat | Macro | Euro-area rates, monetary aggregates and harmonised statistics | ||
| 6 | CRSP | Prices | Survivor-bias-free US equity and fund history for research | ||
| Norgate Data | Prices | None, and it is the product | Historical index constituency | Subscription, 6 or 12 month terms | Individual subscriber use. Not redistribution. |
| 7 | Norgate Data | Prices | Survivorship-bias-free equity history without an institutional contract | ||
| 8 | Nasdaq Data Link | Mixed | Curated commercial datasets under one API, formerly Quandl | ||
| 9 | Polygon.io | Prices | US equities and options down to tick level, with a usable free tier | ||
| 10 | Tiingo | Prices | Clean end-of-day US history for research and backtesting | ||
| 11 | EODHD | Prices | Global exchange breadth and long history outside the US | ||
| 12 | Alpha Vantage | Prices | Prototypes and teaching, where 25 calls a day is enough | ||
| 13 | Yahoo Finance via yfinance | Prices | Fast personal exploration only. Not a production dependency. | ||
| 14 | Compustat | Fundamentals | Point-in-time fundamentals at institutional standard | ||
| 15 | LSEG Data and Analytics | Mixed | Global cross-asset coverage under one institutional licence | ||
| 16 | Financial Modeling Prep | Fundamentals | Fundamentals and prices in one API at developer scale | ||
| 17 | Kaggle financial datasets | Alternative | Learning, competitions, and testing a modelling idea quickly | ||
| 18 | GDELT | Alternative | Global news event and tone data at scale | ||
| 19 | Google Trends | Alternative | Search-interest proxies for attention and demand | ||
| 20 | Forage AI | Custom | The dataset that does not exist yet, built and maintained for you |
The 20 best financial datasets, by class
Each entry carries a specification table, a limits table with a verdict on all three defects, and three paragraphs covering what it is, who it fits, and what it cannot do. The third of those is the one worth reading twice.
Band A. Official public datasets
These are published by central banks, regulators, and multilateral institutions, and they are the most underrated datasets in finance. They are free, stable, documented, and in two cases they solve a defect that expensive commercial products charge specifically to fix. The trade is that none of them will price a security.
1. FRED, Federal Reserve Economic Data
| Attribute | Detail |
|---|---|
| Class | Macroeconomic time series |
| What is in it | GDP, inflation, employment, interest rates, monetary aggregates, credit, housing, trade, plus international series aggregated from other institutions |
| Coverage | Roughly 845,000 time series drawn from 126 sources |
| History | Series-dependent. Many US macro series run to the 1940s or earlier. |
| Update cadence | Follows each source's release schedule, often within minutes of publication |
| Access | Free API key, bulk download, web interface, mature client libraries in Python and R |
| Cost model | Free |
| Licence scope | Attribution notice required on any application. Individual copyrighted series carry their owners' restrictions and compliance is your responsibility. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable. Macro series are not a security universe. |
| Point-in-time | Yes, and this is FRED's quiet advantage. ALFRED preserves the original vintage of revised series, so you can retrieve what a number looked like on any past date. |
| Known gaps | No security-level data. No prices, no fundamentals, no company identifiers. |
| Evidence quality | High. Terms and series counts read directly from the source. |
| Verified | September 2026, primary source |
What it is. FRED is the St. Louis Fed's aggregation of economic time series from 126 statistical agencies and central banks, wrapped in an API that has been stable for over a decade. The feature that separates it from every other free macro source is vintage preservation: through its ALFRED interface it stores the original release of a revised series, so a backtest can use the unemployment number as it was first printed rather than as it reads after two revisions.
Best for. Any model with a macro input, any regime-detection work, and any project that needs the value as it was known on the date. It is also the correct first stop before paying for macro data, because the overlap with commercial macro products is larger than those products advertise.
What it cannot do. It will not give you a stock price, a company identifier, or a filing. The licence is also less permissive than its reputation: the attribution notice is mandatory, and because FRED aggregates from other bodies, some series carry third-party copyright with the compliance burden explicitly placed on you. Read the notes field before you redistribute a series, not after.
2. SEC EDGAR and the Financial Statement Data Sets
| Attribute | Detail |
|---|---|
| Class | Fundamentals and filings |
| What is in it | Every filing made by a US reporting issuer, plus quarterly Financial Statement Data Sets that flatten XBRL into numeric tables |
| Coverage | All SEC reporting issuers, including companies that later delisted |
| History | Filings from the mid-1990s. Structured XBRL data from roughly 2009 onward. |
| Update cadence | Filings appear as submitted. The Financial Statement Data Sets are posted quarterly, with filings made after a quarter's last business day appearing in the following posting. |
| Access | Public HTTP endpoints, JSON company-facts APIs, bulk quarterly ZIPs. A declared User-Agent header is required. |
| Cost model | Free, with a published ceiling of 10 requests per second |
| Licence scope | US government works, freely usable. The SEC does not permit botnets or automated crawling outside its stated policy. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | None. Filings by companies that later failed remain in the archive permanently. |
| Point-in-time | Yes, natively. Documents are stored as submitted with an acceptance timestamp, so as-filed values can be reconstructed exactly. |
| Known gaps | US issuers only. XBRL tagging is inconsistent across filers and eras, so normalisation is real work. No prices, no market data. |
| Evidence quality | High. Access rules and cadence read directly from SEC.gov. |
| Verified | September 2026, primary source |
What it is. EDGAR is the SEC's public filing archive, and the Financial Statement Data Sets are quarterly extracts that flatten the XBRL tags from those filings into numeric tables you can join. It is the only free source of as-filed US fundamentals, which makes it the cheapest available fix for the second defect in this article.
Best for. Anyone building a fundamentals backtest who cannot justify an institutional point-in-time licence, and anyone who needs the document rather than the extracted number. Read the access rules before you write the crawler: the SEC publishes a ceiling of 10 requests per second, requires a declared User-Agent identifying you, and states that it reserves the right to limit request rates to preserve fair access.
import requests
# Requests without a declared User-Agent get blocked.
HEADERS = {"User-Agent": "Your Company Name contact@yourdomain.com"}
url = "https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/Revenues.json"
r = requests.get(url, headers=HEADERS, timeout=30)
r.raise_for_status()
What it cannot do. It covers US issuers and nothing else, and the structured layer only goes back to the start of XBRL mandates, so pre-2009 work means parsing documents. The bigger cost is normalisation. Filers tag the same concept differently, extensions proliferate, and the gap between a raw EDGAR extract and a clean comparable panel is measured in engineering months. That gap is what commercial fundamentals vendors charge for, and it is the same class of work Forage AI's Intelligent Document Processing does on financial filings, at 95% table detection accuracy across table types including non-grid structures.
3. World Bank Open Data
| Attribute | Detail |
|---|---|
| Class | Macroeconomic and development indicators |
| What is in it | World Development Indicators, financial-sector development metrics, international debt statistics, poverty and equity data |
| Coverage | Effectively every country and territory, with strong emerging-market depth |
| History | Many indicators run from 1960 |
| Update cadence | Mostly annual, some quarterly. Long publication lags are normal. |
| Access | Open API, bulk CSV and XML download, no key required |
| Cost model | Free |
| Licence scope | Open licensing with attribution for most indicators. Some third-party series carry separate terms. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable |
| Point-in-time | No. Indicators are revised in place and prior vintages are not systematically retained, so a value you pull today is not what was published then. |
| Known gaps | Annual frequency limits most trading use. Coverage thins for small economies and recent years. |
| Evidence quality | High on the data, medium on the revision behaviour |
| Verified | September 2026 |
What it is. The World Bank's open data platform, best known for the World Development Indicators, is the widest free cross-country panel available. Its real value is emerging-market depth, where commercial macro vendors are thin and expensive.
Best for. Country risk work, cross-sectional macro research, and any analysis where the unit is a country rather than a security. It pairs naturally with FRED, which is deeper on developed markets and higher frequency.
What it cannot do. Annual frequency rules out most trading applications, and publication lags of a year or more are routine for some indicators. The absence of retained vintages is the important limitation, because indicators here are revised in place, so any historical analysis is quietly using numbers that were not available at the time.
4. IMF Data
| Attribute | Detail |
|---|---|
| Class | Macroeconomic and external-sector statistics |
| What is in it | International Financial Statistics, Balance of Payments, Direction of Trade, Government Finance Statistics, World Economic Outlook projections, reserves and exchange rates |
| Coverage | Member countries, with harmonised definitions across them |
| History | Several core series run to the 1950s |
| Update cadence | Monthly to annual by dataset. WEO publishes twice a year. |
| Access | Public data portal, SDMX-based API, bulk download |
| Cost model | Free |
| Licence scope | Free for most uses with attribution. Check the terms for bulk redistribution. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable |
| Point-in-time | Partial. WEO archives past vintages of its projections, which is genuinely useful. Most statistical series are revised in place. |
| Known gaps | Reporting lags vary widely by member country. The SDMX interface is unfriendly compared with FRED. |
| Evidence quality | High on the data, medium on the API ergonomics claim |
| Verified | September 2026 |
What it is. The IMF publishes the harmonised external-sector statistics that make countries comparable to each other: balance of payments, reserves, trade direction, and government finance on consistent definitions. Harmonisation is the product, and it is the reason to use the IMF rather than stitching together national statistics offices.
Best for. Currency and sovereign work, cross-border flow analysis, and any model that needs comparable fiscal or external accounts across many countries. The archived World Economic Outlook vintages are an underused asset, because they let you test what consensus expected at a past date rather than what turned out to be true.
What it cannot do. Reporting lags differ enormously between members, so a panel that looks complete for OECD economies will be sparse elsewhere. The SDMX-based API is also markedly harder to work with than FRED's, and most teams end up wrapping it once and caching the result.
5. ECB Data Portal and Eurostat
| Attribute | Detail |
|---|---|
| Class | Macroeconomic time series, euro area |
| What is in it | Policy and market rates, yield curves, monetary aggregates, bank lending surveys, HICP inflation, euro reference exchange rates, plus Eurostat's harmonised EU statistics |
| Coverage | Euro area and wider EU, at member-state granularity |
| History | Most core series from 1999, some synthetic pre-euro history |
| Update cadence | Daily for rates and reference exchange rates, monthly or quarterly for statistics |
| Access | Open SDMX APIs and bulk download from both bodies, no key required |
| Cost model | Free |
| Licence scope | Open reuse with attribution under the respective institutions' terms |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable |
| Point-in-time | Partial. Some ECB series carry vintage information; Eurostat generally revises in place. |
| Known gaps | Euro-area scope only. Series identifiers are long and unintuitive, which makes discovery the hard part. |
| Evidence quality | High on the data, medium on vintage behaviour across the two bodies |
| Verified | September 2026 |
What it is. Two open sources treated as one entry because in practice you use them together: the ECB Data Portal for monetary and market series, Eurostat for harmonised real-economy statistics. The euro reference exchange rates published daily by the ECB are the closest thing to an official FX fixing available for free.
Best for. Anything euro-denominated, European rates and credit work, and FX analysis that needs a defensible daily reference rather than a broker quote. It is the European counterpart to FRED, and a macro model covering both regions generally needs both.
What it cannot do. Coverage stops at the EU. The practical obstacle is discovery rather than access: series keys are long, hierarchical, and poorly searchable, so the first day with these APIs is usually spent finding the identifier rather than pulling the data.
Band B. Market price and reference datasets
This is where survivorship bias lives, and where the gap between the free and paid tiers is widest. Every dataset here will hand you a price history. The question that separates them is whether the universe they built that history from includes the companies that stopped existing.
6. CRSP
| Attribute | Detail |
|---|---|
| Class | Market prices and reference data |
| What is in it | US equity daily and monthly history, delisting returns, corporate actions, index constituents, and a survivor-bias-free mutual fund database |
| Coverage | US listed securities. The fund database alone holds 64,000+ open-end funds, of which 31,000+ are delisted. |
| History | US equity history back to 1925 on the core files |
| Update cadence | Periodic, aligned to research release cycles rather than real time |
| Access | Institutional subscription, most commonly through WRDS at a university or fund |
| Cost model | Institutional licence. Terms not public. |
| Licence scope | Research use under the subscribing institution's agreement. Redistribution is not permitted. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | None, by construction. Delisted securities and delisting returns are retained deliberately. This is the dataset the others are measured against. |
| Point-in-time | Strong on prices and index membership. For fundamentals, the CRSP/Compustat merged files provide as-filed series. |
| Known gaps | US only. Not real time. Effectively unavailable without an institutional affiliation. |
| Evidence quality | High. Coverage figures published by CRSP. |
| Verified | September 2026 |
What it is. CRSP is the academic standard for US security price history, and the reason it holds that position is the one thing it refuses to do: drop the dead. Delisted securities and their delisting returns stay in the files, which is why published finance research is built on it and why a strategy that works on CRSP and fails on a free dataset is usually the free dataset's fault.
Best for. Academic research, and any fund that can justify an institutional subscription and needs a defensible historical result. If you are publishing a number that someone will challenge, this is the source that ends the argument.
What it cannot do. It is not real time, it is US only, and you almost certainly cannot buy it as an individual. Redistribution is prohibited under the subscribing institution's agreement, so nothing derived from it ships inside a commercial product without a separate conversation.
7. Norgate Data
| Attribute | Detail |
|---|---|
| Class | Market prices and reference data |
| What is in it | End-of-day equity history with delisted securities retained, plus index constituency, corporate actions, and selected world futures and forex rates |
| Coverage | US, Australian and Canadian stock markets. Vendor-stated: "We specialize in survivorship bias-free data for US, Australian and Canadian stock markets." |
| History | Depth varies by subscription level |
| Update cadence | End-of-day, through a desktop updater application |
| Access | Plugins for third-party charting and analysis applications, plus Python and Zipline packages on PyPI |
| Cost model | Subscription in 6 or 12 month terms. Vendor states subscriptions do not auto-renew. |
| Licence scope | Individual subscriber use under the vendor's terms. Not a redistribution licence. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | None, and it is the product. This is the only entry in the roster below institutional pricing that sells bias-free history as its headline claim. |
| Point-in-time | Index constituency is historical, which is the part most free sources get wrong. Fundamentals are not the focus. |
| Known gaps | Three markets only. No live, delayed, intraday or tick data at all, stated plainly by the vendor. Access is through desktop plugins rather than a modern REST API. |
| Evidence quality | High. Coverage and terms read directly from the vendor site. |
| Verified | September 2026, primary source |
What it is. Norgate sells the thing CRSP is famous for, to people who cannot buy CRSP. Survivorship-bias-free end-of-day history for US, Australian and Canadian equities, with historical index constituency, on an individual subscription. It integrates with the Zipline backtesting stack through a published package, which is how most people encounter it.
Best for. Anyone running long-horizon equity backtests without institutional access. If you have read the survivorship section above and concluded you have a problem, this is the cheapest honest fix in the roster, and it is the entry we were most surprised to find missing from every ranking article on this search.
What it cannot do. It is end-of-day only, and the vendor says so directly: no live quotes, no delayed quotes, no intraday, no tick. Coverage stops at three markets, so a European or Asian universe rules it out. The delivery model is a desktop updater plus plugins rather than a REST API, which is a real integration cost if your stack is cloud-native.
8. Nasdaq Data Link
| Attribute | Detail |
|---|---|
| Class | Mixed marketplace: prices, fundamentals, macro, alternative |
| What is in it | Curated third-party datasets behind one API and schema, including EDGAR Online SEC and OTC financials added in September 2024 |
| Coverage | Varies entirely by product. There is no single Nasdaq Data Link coverage figure. |
| History | Dataset-dependent |
| Update cadence | Dataset-dependent |
| Access | REST API and client libraries, using the same time-series and tables model Quandl established |
| Cost model | Per-dataset subscription. Some free datasets remain, far fewer than under Quandl. |
| Licence scope | Set per dataset by the originating publisher, not by Nasdaq. Read each one separately. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Depends entirely on the underlying dataset. There is no platform-level answer, which is itself the thing to know. |
| Point-in-time | Dataset-dependent. Some publishers offer as-filed variants, most do not. |
| Known gaps | The free catalogue that made Quandl famous was substantially withdrawn after the Nasdaq acquisition. Tutorials and articles still reference free datasets that no longer resolve. |
| Evidence quality | Medium. Catalogue changes are documented unevenly. |
| Verified | September 2026 |
What it is. Nasdaq Data Link is a marketplace rather than a dataset: many publishers, one API, one authentication model, one billing relationship. The convenience is real and the naming is confusing, because the platform is what Quandl became and a great deal of published code still refers to the old brand.
Best for. Teams that want several commercial datasets without negotiating and integrating each one separately. The single API and consistent schema genuinely reduce integration work, which is worth something when you are combining four vendors.
What it cannot do. It cannot give you a single answer about quality, because there is no such thing as Nasdaq Data Link data; there are only the publishers behind each product. The larger trap is expectation: people arrive looking for the free Quandl catalogue they remember, and most of it is not there any more.
9. Polygon.io
| Attribute | Detail |
|---|---|
| Class | Market prices |
| What is in it | US equities, options, forex and crypto, from aggregate bars down to trades and quotes, plus reference data and corporate actions |
| Coverage | Full US equity and options market, consolidated tape |
| History | Multi-year at tick level on paid tiers, shorter on free |
| Update cadence | Real time on paid tiers, delayed on free |
| Access | REST and WebSocket APIs, flat-file bulk delivery on higher tiers |
| Cost model | Free tier capped around 5 requests per minute, then subscription tiers by asset class and latency |
| Licence scope | Commercial use permitted on paid plans. Exchange data carries the exchanges' own redistribution rules. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Low. Delisted tickers are retrievable through the reference endpoints, but you must query for them deliberately. Build a universe from active tickers and you reintroduce the bias yourself. |
| Point-in-time | Not applicable to prices. Fundamentals coverage is secondary here. |
| Known gaps | US-centric. Deep tick history and low latency sit behind the more expensive tiers. |
| Evidence quality | Medium-high. Rate limits and tier shape corroborated across multiple independent write-ups. |
| Verified | September 2026 |
What it is. Polygon serves consolidated US market data at whatever granularity you are willing to pay for, from daily bars to individual trades and quotes. The free tier is the most generous in this band at roughly five requests a minute, which is enough to build and test a pipeline properly before committing.
Best for. Anyone who needs intraday or tick-level US data, options chains, or a real-time feed with a clear upgrade path from a prototype. It is the sensible default for US-only systematic work that has outgrown daily bars.
What it cannot do. Coverage outside the US is limited, and deep history at tick granularity gets expensive quickly. Survivorship is your responsibility here, not the vendor's: delisted tickers exist in the reference data, but a universe assembled from currently-active symbols will silently exclude them.
10. Tiingo
| Attribute | Detail |
|---|---|
| Class | Market prices |
| What is in it | End-of-day US equity and ETF prices with corporate-action adjustment, plus news, fundamentals and crypto endpoints |
| Coverage | Most US listed equities and ETFs |
| History | Multi-decade daily history on many symbols |
| Update cadence | Daily, with intraday available on paid tiers |
| Access | REST API and a widely used Python client |
| Cost model | Free tier covering daily data for most US equities, then low-cost paid tiers |
| Licence scope | Personal and research use on the free tier. Commercial use requires the appropriate paid plan. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Partial. Delisted coverage is not the product's headline strength and should be tested against a known list of failures before you rely on it. |
| Point-in-time | Not applicable to prices. Fundamentals are secondary and not as-filed. |
| Known gaps | US-focused. Not built for tick-level or low-latency work. |
| Evidence quality | Medium. Free-tier shape corroborated across independent reviews. |
| Verified | September 2026 |
What it is. Tiingo is a clean end-of-day US price dataset with careful corporate-action handling, aimed explicitly at quantitative researchers rather than at traders. Adjustment quality is the differentiator, and it matters more than most people expect, because badly handled splits and dividends produce phantom returns that look exactly like alpha.
Best for. Daily-frequency backtesting where you want reliable adjusted history without an institutional budget. It is the natural step up from a free scraped source for anyone who has started to care whether their price series is actually correct.
What it cannot do. It is not an intraday or low-latency product and its non-US coverage is limited. Test the delisted universe yourself before trusting it for long-horizon backtests, because survivorship completeness is not something the product leads on.
11. EODHD
| Attribute | Detail |
|---|---|
| Class | Market prices, with fundamentals attached |
| What is in it | End-of-day and intraday prices across global exchanges, plus fundamentals, dividends, splits, and delisted tickers as a documented feature |
| Coverage | Broad international exchange coverage, which is the reason to choose it |
| History | Long daily history on many markets |
| Update cadence | Daily, with intraday and delayed real-time options |
| Access | REST API and bulk endpoints |
| Cost model | Free tier capped around 20 requests per day, then subscription tiers with add-ons |
| Licence scope | Commercial use on paid plans, with redistribution restricted |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Low. Delisted tickers are offered explicitly, which puts it ahead of most of this band, though completeness varies by exchange. |
| Point-in-time | No. Fundamentals reflect current values, not as-filed. |
| Known gaps | Quality is uneven across the long tail of smaller exchanges. The free tier at 20 calls a day is barely enough to evaluate it. |
| Evidence quality | Medium. Corroborated across independent reviews. |
| Verified | September 2026 |
What it is. EODHD trades US depth for global breadth, covering exchanges that the US-centric providers in this band do not reach at all. It also sells delisted tickers as an explicit product feature, which is rare enough at this price point to be the main reason to shortlist it.
Best for. Anything non-US or multi-region, and any backtest that needs a global universe with dead names included. If your research question spans more than one continent, this band narrows to EODHD fast.
What it cannot do. Data quality is not uniform across its exchange list, and the further you get from major markets the more validation you should budget for. The free tier is too small to evaluate anything seriously, so plan on paying before you know whether it works for you.
12. Alpha Vantage
| Attribute | Detail |
|---|---|
| Class | Market prices |
| What is in it | Equity, forex and crypto prices, technical indicators, some fundamentals and economic series |
| Coverage | Global equities with US depth |
| History | Twenty years of daily history on many symbols |
| Update cadence | Daily and intraday |
| Access | REST API with a minimal interface and no client library needed |
| Cost model | Free tier capped around 25 requests per day, then premium tiers by request rate |
| Licence scope | Commercial use on paid plans, subject to the vendor's terms |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Present. The symbol universe is built around actively traded instruments and delisted history is not a documented feature. |
| Point-in-time | No |
| Known gaps | 25 requests a day is the most restrictive free tier in this band. Fetching a 500-name universe once takes twenty days. |
| Evidence quality | Medium-high on the rate limit, which is consistently reported across independent sources |
| Verified | September 2026 |
What it is. Alpha Vantage is the simplest API in this band and the one most tutorials reach for, because it needs a key, a URL, and nothing else. Built-in technical indicators are a genuine convenience if you would otherwise compute them yourself.
Best for. Teaching, demos, and small prototypes where a handful of symbols is the whole requirement. It is the fastest way to get a working example running, which is a real category of usefulness.
What it cannot do. The free tier is unworkable for anything with a universe: 25 calls a day means a mid-cap index takes the better part of a month to fetch once. Survivorship bias is present and undocumented, so it should not be used for long-horizon backtesting at any tier.
13. Yahoo Finance via yfinance
| Attribute | Detail |
|---|---|
| Class | Market prices |
| What is in it | Global equity, ETF, index, forex and crypto history, plus summary fundamentals and options chains |
| Coverage | Broad internationally, which is why it remains popular |
| History | Decades of daily history on major names |
| Update cadence | Near real time on the website's own schedule |
| Access | No official API. Yahoo shut its public finance API down in 2017. Libraries such as yfinance call the same undocumented endpoints the website uses. |
| Cost model | Free, in the sense that there is nothing to buy and nobody to buy it from |
| Licence scope | None you can rely on. yfinance is not affiliated with or endorsed by Yahoo and its authors describe it as being for research and educational use. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Severe. Delisted tickers generally stop resolving, so a historical universe assembled here is a survivor sample by default. |
| Point-in-time | No. Fundamentals are current values with no filing dates. |
| Known gaps | Endpoints change without notice, requests get blocked or challenged, and there is no support channel and no service commitment. |
| Evidence quality | Medium-high. Consistently reported across many independent sources and the library's own documentation. |
| Verified | September 2026 |
What it is. This is the most used and least defensible entry on the page. There has been no official Yahoo Finance API since 2017, so the libraries everyone reaches for are calling the same undocumented endpoints the website uses, without a licence, a contract, or a guarantee that any of it works tomorrow.
Best for. Personal exploration, teaching, and quick checks where nothing depends on the answer. The breadth is genuinely useful and the convenience is unmatched, which is exactly why it keeps ending up in places it should not be.
What it cannot do. It cannot be a production dependency, and it cannot support a commercial product, because there is no licence granting you the right to use it that way. Survivorship bias here is severe rather than partial, since delisted symbols stop resolving entirely. If a result matters, reproduce it on a licensed source before you act on it. For a free alternative that at least has a stable public interface, Stooq offers decades of end-of-day history without an API key.
Quick Summary
What is the best dataset for stock market backtesting?
CRSP if you have institutional access, because delisted securities and their delisting returns are retained by design. EODHD if you need global coverage and sell delisted tickers explicitly. Polygon.io for US intraday and tick work, remembering that you must query delisted symbols deliberately or you reintroduce the bias yourself. Alpha Vantage and Yahoo via yfinance both carry survivorship bias and should not be used for long-horizon backtests at all.
Band C. Fundamentals, filings and estimates
Prices tell you what happened. Fundamentals tell you what the company said, and that is where the second defect lives. This is where look-ahead bias is decided, and where the price gap between free and institutional is largest. The expensive products in this band are expensive for one specific reason: they preserve what was known on the day, and normalising thousands of filers into comparable fields is genuinely hard work.
14. Compustat
| Attribute | Detail |
|---|---|
| Class | Fundamentals |
| What is in it | Standardised income statement, balance sheet and cash flow items, segment data, and a point-in-time product preserving as-filed values |
| Coverage | North American and global public companies, including inactive ones |
| History | Decades, with the point-in-time series starting later than the standard series |
| Update cadence | Continuous as filings are processed and standardised |
| Access | Institutional subscription, commonly via WRDS, frequently merged with CRSP prices |
| Cost model | Institutional licence. Terms not public. Widely described as out of reach for independent researchers. |
| Licence scope | Internal research under the subscribing institution's agreement. No redistribution. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | None. Inactive companies are retained, and the CRSP merged files are built specifically to avoid it. |
| Point-in-time | Yes, on the point-in-time product specifically. The standard files carry restated values, so the distinction is a purchasing decision, not a default. |
| Known gaps | Cost excludes most independent and small-fund users. Standardisation choices are the vendor's, and occasionally differ from what a filer reported. |
| Evidence quality | Medium-high. Product structure well documented; commercial terms are not public. |
| Verified | September 2026 |
What it is. Compustat is the standardised fundamentals database that most published finance research runs on, usually joined to CRSP prices. Standardisation is the product: thousands of filers reporting the same concept differently are mapped into consistent fields you can compare across companies and decades.
Best for. Institutional research where the result has to survive scrutiny, and any strategy where the fundamentals need to be as-filed rather than as-corrected. Buying the point-in-time variant is the whole point, because the standard files carry the same restatement problem as everything else in this band.
What it cannot do. It is not accessible without an institutional relationship and it cannot be redistributed. Standardisation also cuts both ways: the vendor's mapping decisions are opinions, and where you need exactly what the filer said, EDGAR is the more faithful source.
15. LSEG Data and Analytics
| Attribute | Detail |
|---|---|
| Class | Mixed: prices, fundamentals, estimates, reference, news |
| What is in it | Cross-asset pricing, company fundamentals, analyst estimates, corporate actions, ownership, fixed income and FX reference data |
| Coverage | Global across asset classes. Among the widest single-vendor footprints available. |
| History | Deep, varying by asset class and region |
| Update cadence | Real time through to end-of-day depending on the entitlement |
| Access | Desktop, APIs, and bulk feeds under entitlement |
| Cost model | Institutional licence, negotiated. Terms not public. |
| Licence scope | Entitlement-based and tightly scoped. Redistribution and derived-data rights are negotiated separately and are the expensive part. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Low on the historical products, though completeness varies by market and by which entitlement you hold. |
| Point-in-time | Available on specific products rather than as a default. Confirm per dataset before assuming it. |
| Known gaps | Entitlement complexity is the real cost. What you may do with the data is often less clear than what you receive. |
| Evidence quality | Medium. Commercial terms are not published, so the licence row reflects the general model rather than a specific agreement. |
| Verified | September 2026 |
What it is. LSEG's data business, formerly Refinitiv, is one of the few places to get global cross-asset coverage under a single vendor relationship. Breadth is what you are buying, along with the analyst estimates and reference data that are hard to assemble any other way.
Best for. Institutions that need one vendor to cover many asset classes and regions, and any workflow that depends on estimates or fixed-income reference data. If your data problem spans equities, credit, and FX at once, this band shortens to two or three names fast.
What it cannot do. Nothing here is accessible without a negotiated contract, and the entitlement model means what you are allowed to do with the data is a separate and often harder question than what you receive. Budget for the derived-data and redistribution conversation early, because discovering the limits after you have built the product is the expensive path.
16. Financial Modeling Prep
| Attribute | Detail |
|---|---|
| Class | Fundamentals, with prices attached |
| What is in it | Statements, ratios, valuation metrics, prices, earnings calendars, transcripts and institutional holdings |
| Coverage | Global equities with US depth, largely derived from public filings |
| History | Roughly 30 years on some statement series, shorter on others |
| Update cadence | Daily, with statements refreshed as filings are processed |
| Access | REST API with a straightforward JSON schema |
| Cost model | Free tier around 250 requests per day, the most generous in this band, then subscription tiers |
| Licence scope | Commercial use on paid plans under the vendor's terms |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Partial. Delisted coverage is not a headline feature and should be tested before you rely on it. |
| Point-in-time | No. Statements reflect current values. Filing dates are available on some endpoints, which helps with the join-date half of the problem but not the restatement half. |
| Known gaps | Depth and accuracy fall off outside large-cap US names. Independent reviewers report occasional inconsistencies against filings. |
| Evidence quality | Medium. Free-tier shape well corroborated; accuracy claims are secondary. |
| Verified | September 2026 |
What it is. Financial Modeling Prep sits between the free scraped sources and the institutional databases, offering statements and prices through one developer-friendly API. Having fundamentals and prices behind the same key removes a whole integration, which is a real saving when the alternative is joining two vendors on inconsistent identifiers.
Best for. Application builders, screeners, dashboards, and analysts who need workable fundamentals without an institutional contract. The 250-call free tier is genuinely enough to build something, which separates it from most of Band B.
What it cannot do. It is not point-in-time, so it will not fix look-ahead bias, and coverage quality thins outside large-cap US names. Spot-check anything load-bearing against the original filing, since independent reviewers report occasional divergence from EDGAR.
Band D. Alternative and unstructured datasets
This band is deliberately short. Alternative data is a large enough subject to deserve its own treatment, and we have given it one in our comparison of top alternative data vendors. What follows is the three sources you can access today without a vendor negotiation, and the licence question that governs all of them.
17. Kaggle financial datasets
| Attribute | Detail |
|---|---|
| Class | Mixed, community-contributed |
| What is in it | Thousands of user-uploaded datasets: price histories, credit and fraud data, loan books, news sentiment, crypto |
| Coverage | Entirely dependent on the individual upload |
| History | Dataset-dependent, frequently a frozen snapshot with no updates |
| Update cadence | Mostly none. Many popular datasets have not been refreshed in years. |
| Access | Free account, web download, CLI and Python API |
| Cost model | Free |
| Licence scope | Set per upload by the uploader, and frequently unstated or wrong. An uploader cannot grant rights to data they scraped from someone else. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Usually present and almost never documented, because most equity uploads were built by pulling history for a list of current tickers. |
| Point-in-time | No, and generally not knowable from the upload. |
| Known gaps | Provenance is the core problem. Methodology is often undocumented, so a defect cannot be diagnosed even when you suspect one. |
| Evidence quality | Low by construction. This is a property of the platform, not a criticism of it. |
| Verified | September 2026 |
What it is. Kaggle hosts an enormous collection of community-uploaded financial datasets, and it is the fastest way in existence to get a modelling idea in front of real numbers. For learning and for competitions it is excellent, and nothing below is an argument against using it for that.
Best for. Prototyping, teaching, benchmarking a technique, and finding out whether an idea is worth pursuing before you pay for data. Treat it as a laboratory, not a supply chain.
What it cannot do. It cannot support a production system or a defensible result, because provenance is usually unstated and licence claims are made by uploaders who often had no right to make them. The specific failure mode is silent: a dataset with undocumented survivorship bias produces a beautiful backtest and no warning, and because the methodology was never published, you cannot audit it after the fact.
18. GDELT
| Attribute | Detail |
|---|---|
| Class | Alternative, news and events |
| What is in it | Coded global news events, entity and theme extraction, tone scores, and a large article-level index across many languages |
| Coverage | Worldwide news monitoring at a scale no commercial sentiment vendor matches for free |
| History | Event history back to 1979 on the core event database |
| Update cadence | Every 15 minutes on the current streams |
| Access | Bulk files, a query API, and public BigQuery tables |
| Cost model | Free, though querying it at scale in BigQuery costs compute |
| Licence scope | Open for research and commercial use under GDELT's terms. Underlying article text remains the publishers'. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable in the equity sense, but media coverage is itself biased toward what is currently prominent. |
| Point-in-time | Yes in effect. Records carry publication timestamps, so the as-known-then view is reconstructable. |
| Known gaps | Entity resolution to tradeable securities is not provided and is the hard part. Event coding is noisy and needs filtering. |
| Evidence quality | Medium-high. Structure and cadence are well documented by the project. |
| Verified | September 2026 |
What it is. GDELT monitors global news in many languages and publishes coded events, extracted entities and themes, and tone scores, updated every 15 minutes. It is the largest free news dataset that finance teams actually use, and the event history reaching back to 1979 makes long-horizon work possible.
Best for. Macro and geopolitical signal construction, media-attention measures, and event studies where you need coverage across languages and regions. The BigQuery tables remove most of the infrastructure problem, which is otherwise the reason teams abandon it.
What it cannot do. It will not tell you which company a story is about in a form you can join to a ticker. Entity resolution is the entire cost of using GDELT in finance, and it is the reason commercial news-sentiment vendors exist despite this being free. Resolving 'ABC Corp', 'ABC Corporation' and 'ABC Co Ltd' to one canonical entity is the specific job Forage AI's Entity Matching Agent does, and it is the step between this dataset and anything you can join to a ticker.
19. Google Trends
| Attribute | Detail |
|---|---|
| Class | Alternative, attention proxy |
| What is in it | Relative search interest for terms and topics, by geography and over time |
| Coverage | Global, at country and sub-region granularity |
| History | From 2004 |
| Update cadence | Daily, with near real-time views available |
| Access | Web interface with CSV export. No official API; unofficial libraries are widely used. |
| Cost model | Free |
| Licence scope | Governed by Google's terms. Programmatic access via unofficial libraries is not a sanctioned route. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | Not applicable |
| Point-in-time | Deceptively not. Values are indexed to the maximum within the requested window, so the same date returns a different number depending on the range you ask for. Two pulls are not comparable unless the window is identical. |
| Known gaps | Values are relative, never absolute volumes. Sampling means repeated identical queries can return slightly different results. |
| Evidence quality | High on the normalisation behaviour, which is documented by Google and easy to reproduce. |
| Verified | September 2026 |
What it is. Google Trends reports relative search interest over time, and it has a long track record as an attention proxy in published finance research. It is free, immediate, and global, which is a rare combination in this band.
Best for. Retail attention measures, demand nowcasting, and any hypothesis where public interest is plausibly a leading indicator. It works best as one feature among many, not as a signal on its own.
a = trends(kw="inflation", start="2024-01-01", end="2024-06-30")
b = trends(kw="inflation", start="2020-01-01", end="2026-09-01")
a.loc["2024-03-01"], b.loc["2024-03-01"] # not equal
What it cannot do. It never gives you an absolute search volume, only an index scaled to the window you requested. That normalisation is the trap: pull the same date inside two different date ranges and you get two different numbers, so a series stitched together from overlapping requests is not a real time series unless you rescale it deliberately.
Band E. When the dataset does not exist yet
Everything above is a dataset somebody already decided to build. That decision was made for a general market, which means the coverage boundary was drawn where the builder thought demand was, not where your question is. Sometimes the two do not meet, and no amount of shopping fixes it.
20. Forage AI
| Attribute | Detail |
|---|---|
| Class | Custom, built to your schema |
| What is in it | Whatever the sources describing your question actually contain: filings and disclosure documents, registry and regulator records, company websites, listings, and other public web sources, extracted into a defined schema |
| Coverage | 500M+ websites and 10M+ documents as the working base, extended to the specific sources a project needs |
| History | Built forward from the start date, plus whatever history the sources themselves retain |
| Update cadence | Defined per engagement. From sign-off to first dataset in 1-2 weeks. |
| Access | Scheduled feed, API, or direct load into your warehouse |
| Cost model | Scoped engagement rather than a subscription. Not published. |
| Licence scope | GDPR and CCPA. Handling, retention and deletion rules agreed up front per engagement, under contractual controls. No data resale. |
| Limits (verified September 2026) | Detail |
|---|---|
| Survivorship bias | A design decision rather than a property. Retaining dead entities has to be specified at the start, because it is far harder to add later. |
| Point-in-time | Also a design decision. Capturing the observation date alongside every value is the part teams most often forget to ask for. |
| Known gaps | No instant download. Nothing exists until the pipeline is built, so this is the wrong answer to an urgent question. |
| Evidence quality | No public review corpus, and this is our own publication. Evaluate on a scoped pilot against a segment you already know well. |
| Verified | September 2026 |
What it is. Forage AI builds the dataset when the shelf does not stock it. The engagement starts from the question rather than from a catalogue, identifies the sources that genuinely describe it, and produces a maintained feed in your schema. Forage AI delivers the data, not just the pipeline, and selector drift, anti-bot changes and schema changes are absorbed as part of the service instead of arriving as your tickets.
Best for. Three situations specifically. When the entities you care about are not securities and therefore appear in no market dataset: private operators, licensed entities, regional lenders, franchise networks. When the field you need exists only inside documents that nobody has structured. And when a signal you have been tracking manually needs to become a maintained series with a defined refresh. Every delivery passes a 3x QA team before it lands in your system, a 200% QA approach where every extraction goes through automated checks and human verification. On healthcare provider data, that process has produced a client-reported 99.7% field-level accuracy, which is the number we would ask any provider in this list to put in writing.
What it cannot do. It will not give you a price history this afternoon, and it should not. If a licensed dataset already covers your question, buy it, because a custom build is slower and harder to justify than a subscription that already works. The honest test is whether you have genuinely exhausted Bands A through D first. Our guide to financial data extraction covers what that build actually involves.
All 20 datasets compared side by side
Read the two defect columns first and the cost column last. A free dataset that carries survivorship bias is more expensive than a paid one that does not, because the cost arrives later and disguised as a strategy that stopped working.
| Dataset | Class | Survivorship | Point-in-time | Cost model | Commercial use |
|---|---|---|---|---|---|
| FRED | Macro | Not applicable | Yes, via ALFRED vintages | Free | Yes, with attribution. Per-series copyright applies. |
| SEC EDGAR | Fundamentals | None | Yes, natively | Free, 10 req/sec ceiling | Yes |
| World Bank | Macro | Not applicable | No | Free | Yes, with attribution |
| IMF Data | Macro | Not applicable | Partial, WEO vintages archived | Free | Yes, with attribution |
| ECB and Eurostat | Macro | Not applicable | Partial | Free | Yes, with attribution |
| CRSP | Prices | None, by construction | Strong | Institutional licence | Research only. No redistribution. |
| Nasdaq Data Link | Mixed | Depends on the dataset | Depends on the dataset | Per-dataset subscription | Set by each publisher |
| Polygon.io | Prices | Low, if you query delisted deliberately | Not applicable | Free tier ~5 req/min, then subscription | Yes, on paid plans |
| Tiingo | Prices | Partial, test it | Not applicable | Free tier, then low-cost tiers | Paid plans only |
| EODHD | Prices | Low, delisted sold explicitly | No | Free tier ~20 req/day, then subscription | Yes, on paid plans |
| Alpha Vantage | Prices | Present | No | Free tier ~25 req/day, then premium | Yes, on paid plans |
| Yahoo via yfinance | Prices | Severe | No | No product to buy | No licence to rely on |
| Compustat | Fundamentals | None | Yes, on the PIT product | Institutional licence | Internal research. No redistribution. |
| LSEG Data and Analytics | Mixed | Low on historical products | On specific products only | Institutional licence | Entitlement-based, negotiated |
| Financial Modeling Prep | Fundamentals | Partial, test it | No | Free tier ~250 req/day, then subscription | Yes, on paid plans |
| Kaggle | Mixed | Usually present, undocumented | No | Free | Per upload, often unstated or wrong |
| GDELT | Alternative | Not applicable | Yes, timestamped | Free, compute costs at scale | Yes, under GDELT terms |
| Google Trends | Alternative | Not applicable | No, window-normalised | Free | Under Google's terms. No official API. |
| Forage AI | Custom | A design decision, specify it up front | A design decision, specify it up front | Scoped engagement | Agreed per engagement. No data resale. |
Expert Insights
Notice how few rows in that table say yes to both defect columns. Four of the twenty are clean on survivorship and point-in-time at once, and three of those four are institutional products. That is the actual shape of this market: the properties that make a dataset safe to build on are the properties nobody gives away, with SEC EDGAR as the single significant exception. Teams that cannot reach the institutional tier are usually better served by combining EDGAR with a licensed price feed than by looking for one product that does everything. (Forage AI, from engagements across financial data pipelines, September 2026)
Two names you will still see recommended that are not what you think
Both of these appear as live products on articles published in 2026, including the current top-ranking result for this search. We are naming them because following a recommendation to a product that no longer exists costs a day, and because it is a reasonable test of whether a list was researched or assembled.
Quandl
Quandl is not a product any more. It was acquired by Nasdaq and became Nasdaq Data Link, and in the process a large part of the free catalogue that made Quandl the default recommendation was withdrawn. The API model survived, which is why old code often still runs, and that partial continuity is exactly what keeps the name alive in articles and tutorials. If a guide tells you to get free financial data from Quandl, it was written from memory rather than from a browser. The current entry is Nasdaq Data Link, most of the catalogue is paid, and the licence attaches to each publisher rather than to the platform.
The Yahoo Finance API
There is no Yahoo Finance API and there has not been one since 2017. Yahoo shut the public API down that year, and everything since has been unofficial: libraries calling the same undocumented endpoints the website uses, with no key, no contract, and no commitment that any of it works next week. The tooling is genuinely good and the coverage is genuinely broad, which is why the practice persists. What does not exist is a licence permitting you to build a product on it, and that is a different problem from reliability, because no amount of retry logic fixes it.
The general rule. Data catalogues change faster than the articles describing them, this one included. Before you commit to any dataset from any list, open the provider's own terms page and confirm two things: that the product still exists under that name, and that the licence covers what you intend to do. Both of the entries above pass a casual search and fail that check.
Quick Summary
Is Yahoo Finance data free to use commercially?
No, and the reason is that there is nothing to be licensed. Yahoo closed its public finance API in 2017, so the libraries in common use call undocumented endpoints without any agreement in place. Their own authors describe them as being for research and educational use, and they are not affiliated with or endorsed by Yahoo. For anything commercial, use a provider that sells you a licence, such as Polygon.io, Tiingo, or EODHD.
How to choose: match the dataset to the claim you need to defend
Start from the sentence you will eventually have to say out loud, then work backwards to what the data must support. A dataset that is adequate for an exploratory chart is not adequate for a number in an investment committee memo, and the gap between those two standards is where most of the money in this category is spent.
| The claim you need to defend | What the data must have | Start with |
|---|---|---|
| "This strategy would have returned X." | Delisted securities present, corporate actions adjusted, as-filed fundamentals joined on filing date | CRSP with Compustat point-in-time, or EODHD plus EDGAR if you have no institutional access |
| "This macro regime is changing." | Original release vintages retained, so you test what was known, not what was later revised | FRED with ALFRED, plus ECB or IMF for non-US |
| "This company's numbers say X." | The filing itself, with the acceptance timestamp | SEC EDGAR, with a commercial API only as a convenience layer |
| "Our product shows users this data." | An explicit redistribution or display right in writing | A paid plan from Polygon.io, EODHD or FMP. Not Kaggle, not yfinance. |
| "Attention in this sector is rising." | Timestamped observations and a stable normalisation | GDELT for coverage, Google Trends with a fixed window |
| "No dataset covers these entities." | A defined schema, an agreed refresh, and someone maintaining it | A custom build, but only after Bands A to D are genuinely exhausted |
# Companies that were real, and then were not.
DEAD = ["LEHMQ", "ENRNQ", "BBBYQ", "SIVBQ", "FTXMQ"]
for t in DEAD:
rows = client.get_history(t, start="2005-01-01")
print(t, "rows:", len(rows)) # zeros mean survivorship bias
Two checks are worth running before you commit to anything, and both take under an hour. The first is the delisting test: take five companies you know went bankrupt in your period, query them, and see what comes back. If they are absent, you have quantified your survivorship problem before it quantifies you. The second is the licence read: open the terms page rather than the pricing page, and find the sentence covering redistribution. If you cannot find that sentence, treat the answer as no.
The question none of the ranking articles asks. Every comparison on this search is written for someone doing internal research. If you are building a data product, an internal-use licence is not enough, because your customers will see the data. Redistribution and display rights are a separate negotiation on every commercial entry in this list, and they are the reason a dataset that works fine in a notebook cannot ship in a product. Ask for those rights in writing before the prototype becomes a roadmap commitment.
The mistake worth naming explicitly is the free-then-upgrade plan. Teams prototype on a free source, get a result, and assume they can swap in a licensed dataset later. Sometimes that works. More often the free source carried a defect that produced the result in the first place, so the upgrade does not preserve the finding, it deletes it. Prototype on the free tier of the dataset you would actually buy, rather than on a different dataset entirely.
Expert Insights
The most useful hour in any data evaluation is the one spent trying to break the dataset rather than trying to use it. Query five dead tickers. Pull one company's revenue for a quarter and compare it against the original filing. Request the same Google Trends date inside two different windows. Each of these takes minutes and each one surfaces a defect that would otherwise appear months later, in production, wearing the costume of a model that stopped working. (Forage AI, from engagements across financial data pipelines, September 2026)
Quick Summary
Where can I get free financial datasets?
FRED for macroeconomic series with original vintages, SEC EDGAR for as-filed US fundamentals and the filings themselves, World Bank and IMF for cross-country indicators, ECB and Eurostat for the euro area, and GDELT for global news events. Those six are genuinely free, documented, and stable. Free price data is the harder category: Polygon.io, Tiingo and Financial Modeling Prep all offer usable free tiers, while Alpha Vantage's 25 calls a day and yfinance's absent licence make both unsuitable for anything beyond exploration.
Frequently asked questions
What is a financial dataset?
It is any structured record of economic or market activity you can load and compute on, which in practice covers four different things that behave differently. Macroeconomic time series describe economies. Market data describes prices and the securities they attach to. Fundamentals and filings describe companies. Alternative data describes everything else that might carry signal, from news to search interest. The label is shared and the failure modes are not, so the first useful step with any dataset is deciding which of the four you are actually holding.
Where can I get free financial datasets?
The strongest free sources are official ones. FRED carries roughly 845,000 macroeconomic series from 126 sources and preserves the original vintage of revised numbers. SEC EDGAR holds every US filing as submitted, which makes it the only free source of as-filed fundamentals. The World Bank and IMF cover cross-country indicators, the ECB and Eurostat cover the euro area, and GDELT covers global news events at a scale no free commercial alternative matches. Free price data is the weaker category: Polygon.io, Tiingo and Financial Modeling Prep have workable free tiers, and the sources people reach for first are usually the ones to avoid.
What is the best dataset for stock market prediction?
The question is usually asked one level too late. No dataset predicts anything, and the ones that produce the most impressive backtests are generally the ones with the worst defects. For work you intend to trade, the requirements are specific: delisted securities present so the universe is not a survivor sample, corporate actions adjusted correctly so returns are real, and fundamentals joined on filing date rather than period end. CRSP with Compustat point-in-time meets all three if you have institutional access. EODHD combined with SEC EDGAR is the most practical route if you do not.
Is Yahoo Finance data free to use commercially?
No. Yahoo shut down its public finance API in 2017 and never replaced it, so the libraries in common use call undocumented endpoints with no agreement behind them. Their maintainers state plainly that they are unaffiliated with Yahoo and intended for research and educational use. That is a licensing problem rather than a technical one, which means reliability engineering does not solve it. Anything commercial needs a provider that actually sells you a licence.
What is survivorship bias in a financial dataset?
It is the distortion left behind when a dataset contains only securities that still exist. Build a universe from today's tickers, pull history for each, and every company that failed during the period has quietly dropped out. The scale is easy to underestimate: CRSP's survivor-bias-free fund database holds more than 64,000 open-end funds and over 31,000 of them are delisted. A backtest run on survivors overstates return and understates risk, and nothing in the file warns you.
Do I need point-in-time data for a backtest?
For anything involving fundamentals, yes. Two things go wrong without it. Joining fundamentals on the fiscal period end rather than the filing date gives the model numbers weeks before they were public. Using current values rather than as-filed ones gives it restatements that nobody had at the time. Both inflate results in ways that look like skill. Commercial point-in-time products solve this for a price, and SEC EDGAR solves it for free in exchange for the engineering work of rebuilding as-filed series from the filings themselves.
Related articles
- Financial Data Providers. The vendor-level view of this market, comparing who sells the feeds rather than what is inside them.
- Top Alternative Data Vendors. The full Band D roster, compared on dataset class, compliance posture and delivery.
- Top Investment Intelligence Providers. Twenty platforms grouped by the evidence layer each one proves, for buy-side workflows.
- Alternative Data Guide. The foundational explainer on source categories, use cases and how teams evaluate them.
Sai is a data infrastructure enthusiast who has spent the past two to three years following the AI space closely, from the infrastructure layer to the fast-growing world of data for AI. He is genuinely curious about how modern data pipelines get built and where the data industry is heading, and he writes insightful pieces on the core topics that shape this niche.