Free stock market data, and where the free layer stops

The genuinely free financial data is published by regulators and central banks, not vendors. What that covers, and the first thing you have to pay for.

Most genuinely free financial data is published because a regulator or a central bank was required to publish it, not because a company is being generous, which is why it does not disappear. SEC EDGAR gives structured fundamentals with no key at all, FRED gives macro, GLEIF gives entity identifiers. What the free layer is missing it is missing for one reason. Somebody has to turn a public record into a comparable series, and that is what you pay for.

How it works

The free layer of financial data is not a marketing tier somebody may withdraw next quarter. Almost all of it exists because a statute or a central bank's mandate obliged an organisation to publish, and the publishing is a side effect of the obligation. That is why it is stable, and also why its shape is so strange: generous exactly where a regulator wanted disclosure, empty everywhere else.

The SEC publishes the fundamentals

data.sec.gov is the single most underused resource in this field. In the SEC's own words, the EDGAR APIs "do not require any authentication or API keys to access." Four endpoints matter:

  • submissions — an entity's filing history as metadata, including current and former names, exchanges and tickers.
  • companyfacts — every XBRL fact a company has ever tagged, in one JSON file.
  • companyconcept — one tag's full history for one company, with a separate array per unit of measure.
  • frames — the cross-section. Ask for one tag, one unit and one period and it returns that figure for every reporting entity at once, "last filed that most closely fits the calendrical period requested."

That last one is a free cross-sectional fundamentals dataset taken from the filings themselves rather than from a vendor's re-keying, and almost nobody uses it. The key everywhere is the ten-digit CIK with leading zeros, not the ticker — ticker-to-CIK mapping is a separate published file, and keying your store on CIK is the decision that saves you later, because symbols are reused and CIKs are not.

Two operational rules, from the SEC's own webmaster FAQ: the "current maximum access rate is 10 requests per second", and you must declare a User-Agent header carrying a name and a contact address, or requests come back as an undeclared automated tool. For volume, don't crawl at all: companyfacts.zip and submissions.zip are recompiled nightly at around 3:00 a.m. ET, and the quarterly Financial Statement Data Sets flatten the numeric face financials of every filing into ZIPs going back to 2009.

The same archive carries 13F institutional holdings, insider Forms 3, 4 and 5, and full-text search across filings. Three cards are built directly on it — SEC EDGAR MCP puts filings and XBRL financials in front of a language model, while Quiver Quantitative and Capitol Trades package the disclosure end of it.

Central banks and agencies publish the macro

FRED, from the Federal Reserve Bank of St. Louis, is the default for macro series and needs a free key tied to a free account. Its terms of use set no fixed numeric request cap and reserve the right to impose one; they require applications to display the notice that the product uses the FRED API but is not endorsed or certified by the Bank. The clause people miss is the one about third-party series: FRED hosts data owned by others, some of it copyrighted, and the container being free does not make every series inside it redistributable.

The ECB Data Portal serves an SDMX 2.1 RESTful web service with no registration, and the ECB's copyright notice permits reproduction provided the ECB is cited as the source. The US Treasury's FiscalData API states outright that it requires no user account or token. The CFTC publishes the Commitments of Traders reports weekly, free, on a published release schedule. Other central banks and statistical agencies are worth checking one at a time, because the terms vary more than the data does.

Identifiers are free, but only some of them

GLEIF publishes the Legal Entity Identifier register under CC0 1.0 Universal, with bulk Golden Copy files three times a day at 02:00, 10:00 and 18:00 UTC in XML, CSV and JSON. OpenFIGI maps instruments for free, at 25 requests a minute and 10 jobs per request unkeyed, rising to 25 per six seconds and 100 jobs with a free key. What is not free is the identifier your counterparty probably uses: CUSIP and ISIN are licensed, and that is where the identifier layer stops being a public good.

Exchanges, issuers and the community

Exchanges publish delayed quotes on their own websites, and ETF issuers publish full daily holdings files as plain CSV — the cheapest way to see inside a fund that exists. Around all of this sits a layer of open-source projects that repackage public sources; OpenBB is the broadest, and the rest are on open source. What none of them changes is the licence on the data underneath, which is the recurring disappointment of that list.

Where the free layer stops

Every gap below has the same shape. The public record is a record of events — a filing, a notice, a rate publication. A usable dataset is a series, and somebody has to normalise one into the other. That work is the product being sold.

Corporate actions. Splits and dividends are the reason a free price series quietly goes wrong. Adjusted close is not a fact anybody observed; it is a computed opinion about how to fold distributions back through history, and providers differ. The same ticker over the same dates produces different returns depending on whose convention you took. There is no free, complete, dated corporate-actions feed across all listed US names — actions are announced one notice at a time by exchanges and by FINRA, and turning those notices into a clean adjustment factor per symbol per day is a full-time job somebody is already doing for money.

Point-in-time and restatements. EDGAR gives you what was filed, restatements included, which is a feature of a disclosure archive and a problem for a backtest. A strategy tested on the current view of 2019 earnings is tested on numbers nobody had in 2019. The frames API is explicit about this: it returns the fact last filed for a period, not the fact as first reported. Every fact does carry the date of the filing it came from, so reconstructing an as-known-then view is possible — and doing it across thousands of filers and a decade is precisely the work a fundamentals vendor charges for.

Real time. Nothing here is real-time and nothing free is. Live prices are licensed by the venues that produce them, usually per user and often per device, with professional status defined by the exchange rather than by you. Why real-time stock data is so expensive works through the fee schedules behind that, and real-time data narrows the catalogue to the cards serving a live feed.

Index membership. Which companies were in an index on a date is licensed intellectual property, not a public record, and historical membership is the expensive half — historical constituents and survivorship bias is the long version. This is also the quiet reason free backtests flatter: a universe built from tickers that exist today excludes everything that went bankrupt, merged or was delisted.

Non-US coverage. The most important limitation on this page, and the one least often stated. The free layer is overwhelmingly American because the SEC requires machine-readable tagged filings and most regulators either do not, or do not publish them in one place. The EU does mandate markup — under ESEF, listed issuers tag IFRS consolidated statements in Inline XBRL, and ESMA made the 2025 taxonomy mandatory for financial years starting on or after 1 January 2026 — but the documents land with each member state's appointed storage mechanism rather than in one queryable archive. ESMA's published timetable has the European Single Access Point open to the public from July 2027. Until something like it exists, non-US fundamentals are a purchase, not a download.

Uptime, support and terms. Free means no SLA, no support queue and no recourse. The worked example is Yahoo Finance: endpoints a website calls to render its own pages, read by a large ecosystem, governed by nothing that grants you the data, and changing shape without notice. Even the SEC's endpoints, which are far more stable, ask you to identify yourself and stay under a rate limit. On free infrastructure you are a guest.

Scraping against a licensed API. The distinction is not technical. An endpoint that a site calls for itself is not an interface published for you, and a site's terms of service, not its robots file, is where the question actually sits. Read them, and read the licence on the data separately from the licence on the code — they are different documents with different answers.

What it costs

The first paid tier is smaller than people expect, because the boundary is narrow. End-of-day prices worldwide with splits and dividends applied start at 19.99 dollars a month on EODHD; Twelve Data is 29 and Tiingo 30 for personal and internal use, with commercial terms priced above that. Alpha Vantage stays free at 25 requests a day and jumps to 49.99 for delayed US data at usable volume. The survivorship problem is the expensive one: Norgate Data sells delisted securities and historical index membership from 630 dollars a year, routinely the largest line in a serious backtest budget. Full consolidated real-time US data starts around 99 dollars a month. Every figure is the vendor's own published price, carried on its card.

What you can do about it

Start with EDGAR and FRED, and key everything on CIK. This covers more than most people expect, costs nothing, and has no account to lose. Declare a real User-Agent, stay under 10 requests a second, and pull the nightly bulk ZIPs rather than crawling. Take identifiers early too — an LEI from GLEIF and a FIGI from OpenFIGI, both free — because retrofitting an identifier onto a store keyed on tickers is the migration nobody schedules.

Add one free-tier price API and treat its rate limit as a design constraint. The cap tells you in the first afternoon what your real call volume is, which is worth knowing before you choose a paid plan. The options are on market data APIs.

Pay at the boundary, not before it. There are three triggers and they are all structural: you need corporate actions handled correctly, you need non-US coverage, or you need real time. Each is a wall rather than a gradient. The first invoice belongs at whichever one you hit first, and it is 20 to 30 dollars a month for end-of-day worldwide, several hundred a year for delisted securities and index membership, and roughly 99 a month upwards for live consolidated US prices.

Ask four questions before that invoice. Which adjustment convention does the adjusted series use, and can I get unadjusted prices alongside it? Is the fundamental history point-in-time or restated? Do you carry delisted securities? May I show this data to my own users, and at what price? The fourth is the one that most often turns a working prototype into a product that cannot ship, and the answer is a licensing one rather than a technical one.

If none of the three boundaries applies to you, stop. A US-only, end-of-day, research-scale project can run permanently on EDGAR, FRED and a free key, and the honest version of this page says so rather than selling you the upgrade.

Tools this bears on

Cards in the catalogue where what is above changes the decision.

  • SEC EDGAR MCP

    SEC filings and XBRL financials as MCP tools, under AGPL or a paid commercial licence.

    FreeFree tierOpen source

  • OpenBB

    One Python API, REST app and MCP server over thirty other people's data feeds.

    $500/yrFree tierOpen source

  • EODHD

    End-of-day and fundamentals for 60+ exchanges worldwide, at a hobbyist price.

    $19.99/moFree tier

  • Norgate Data

    Survivorship-bias-free end-of-day history with delisted stocks and index constituents.

    $150/yr

FAQ

What is the best free stock market data source?

For fundamentals it is not an API vendor at all — it is the SEC's own XBRL APIs on data.sec.gov, which return every tagged figure from every filing, need no key and no account, and cannot be withdrawn because a filing requirement sits behind them. For macro it is FRED. For prices there is no equivalent, because prices are licensed by the venues that produce them and filings are not.

Does SEC EDGAR data cost anything, and can I use it commercially?

The APIs are free and unauthenticated, and filings are public records rather than licensed content. What the SEC asks for is operational — a maximum of 10 requests per second and a User-Agent header naming you with a contact address, or requests are refused as an undeclared automated tool. There is no plan, no invoice and no account to lose.

Why do two free price series give different backtest results?

Because adjusted close is computed rather than observed. Each provider applies its own convention for folding splits and dividends back through the history, and the same ticker over the same dates will produce different returns depending on whose convention you took. Rerun a result you already trust before believing a number from a new source.

Is there a European equivalent of EDGAR?

Not yet as one free machine-readable archive. EU-listed issuers do file annual reports marked up in Inline XBRL under ESEF, but the documents sit with each member state's appointed storage mechanism rather than in one queryable place. ESMA's published timetable has the European Single Access Point available to the public from July 2027.

What is the first thing worth paying for?

Corporate actions handled correctly, if you work on prices; non-US coverage, if you work outside the United States. Both are boundaries rather than upgrades — no amount of care with free sources crosses them, and the entry tiers that do start around 20 to 30 dollars a month.

Sources

  1. EDGAR Application Programming Interfaces U.S. Securities and Exchange Commission,
  2. Webmaster Frequently Asked Questions U.S. Securities and Exchange Commission,
  3. Financial Statement Data Sets U.S. Securities and Exchange Commission,
  4. Updated 2025 IFRS taxonomy introduced into the European Single Electronic Format European Securities and Markets Authority,
  5. European Single Access Point (ESAP) European Securities and Markets Authority, read
  6. FRED API Terms of Use Federal Reserve Bank of St. Louis, read
  7. SDMX – statistical data exchange model European Central Bank, read
  8. Disclaimer & copyright European Central Bank, read
  9. API Documentation U.S. Department of the Treasury, Bureau of the Fiscal Service, read
  10. Commitments of Traders U.S. Commodity Futures Trading Commission, read
  11. GLEIF Golden Copy and Delta Files GLEIF, read
  12. LEI Data Terms of Use GLEIF, read
  13. OpenFIGI API Overview OpenFIGI, read
  14. OpenFIGI API Documentation OpenFIGI, read

The catalogue next door

This page is background, not a listing. The products it bears on are in Stock Market Data APIs, each filled in against the same schema, with the fields to narrow it yourself.

Last updated . Corrected in place: this is a reference page, not a dated post.