Free Financial Data APIs for Backtesting: An Honest Comparison
Free financial data can support serious backtesting—but only if the source matches the question.
A price-momentum test needs historical prices and corporate-action handling. A macro strategy needs revision-aware economic series. A fundamental strategy needs values as investors actually knew them on each historical date. Those are different data problems.
This guide compares SEC EDGAR, yfinance, Stooq, FRED, Alpha Vantage’s free tier, and Tradevo Data’s public proof pack. The goal is not to declare one winner. It is to show where each source may be useful, where it can fail, and whether it is point-in-time safe for the intended test.
The short answer
- SEC EDGAR: a free primary source for US filings, but substantial engineering is required to produce clean point-in-time panels.
- yfinance: convenient for exploration and price-data prototypes, but do not assume every historical or fundamental field is point-in-time safe.
- Stooq: potentially useful for accessible market-history research; validate adjustments, symbols, and coverage before relying on it.
- FRED: useful for macroeconomic research, with ALFRED often the better choice when historical revisions matter.
- Alpha Vantage free tier: convenient packaged APIs for prototypes; check current limits, history, adjustment rules, and PIT behavior in its documentation.
- Tradevo Data: an honest budget-tier option for research-grade point-in-time US equity fundamentals, with a free public proof pack and a paid API. It is not a broad market-data terminal and does not cover prices, non-US companies, or delisted companies.
Comparison table
| Source | Best for | Free access | Point-in-time-safe? | Main caveat |
|---|---|---|---|---|
| SEC EDGAR | Primary US filing data | Yes | Potentially, if modeled by public filing date | Raw filings, amendments, tags, units, fiscal periods, and issuer history require careful processing |
| yfinance | Fast price-data exploration and notebooks | Yes | Not automatically | A convenient interface does not itself prove that historical fundamentals were available on the simulated date |
| Stooq | Downloadable market history and prototyping | Yes | Depends on field and methodology | Verify corporate-action adjustments, survivorship, identifiers, and coverage |
| FRED / ALFRED | Macroeconomic and rate series | Yes | FRED latest values: not necessarily; ALFRED vintages: potentially suitable | Release lags and revisions must be modeled explicitly |
| Alpha Vantage | Packaged market and fundamental APIs | Free tier available | Do not assume | Check current limits, output history, adjustment methods, and filing-time semantics |
| Tradevo Data proof pack | Inspecting PIT US fundamentals and methodology | Yes | Designed for PIT research | Small proof pack: 5 companies, latest 3 fiscal years, and 225 rows |
| Tradevo Data API | Budget-tier PIT US equity fundamentals | Card-backed 7-day trial; renews at $29/mo unless canceled | Uses first_filed <= as_of |
No prices, TTM, non-US, delisted, or Parquet coverage |
“Point-in-time-safe” is not a permanent badge attached to a vendor. It depends on the field, timestamp, revision policy, universe construction, and how your backtest queries the data.
1. SEC EDGAR: a free primary source
SEC EDGAR is a primary source when you need US company disclosures. The underlying filing data is public domain, and publication information can be used to determine when facts became public.
That does not make an EDGAR download immediately backtest-ready.
You still need to handle:
- original filings and amendments;
- company and ticker identity changes;
- XBRL concepts that vary across issuers;
- duplicate facts, units, dimensions, and contexts;
- annual, quarterly, year-to-date, and instant-period distinctions;
- fiscal calendars and restatements;
- publication-time cutoffs;
- QA and reproducible snapshots.
EDGAR can support point-in-time research because publication events are available. Your resulting database is PIT-safe only if your transformation preserves and models them correctly.
When EDGAR wins
Build directly from EDGAR when you need custom tags, filing text, footnotes, dimensions, forms outside a standardized dataset, or complete control over methodology. It may also win when cash cost matters more than engineering time.
For background, see point-in-time fundamentals data.
2. yfinance: convenient, with limited guarantees
yfinance is popular because it makes exploratory work easy. It can be useful for pulling historical prices, testing notebook logic, checking symbols, or building a first-pass prototype.
The risk is treating interface convenience as evidence of point-in-time correctness.
For price backtests, inspect whether you use adjusted or unadjusted prices and how dividends and splits are represented. For fundamental backtests, ask whether a field is today’s reconstructed history or the value actually available on the simulated date. If the source does not expose publication timestamps and revision vintages, do not infer PIT behavior.
When yfinance wins
It may win when speed and accessibility matter more than contractual or PIT guarantees: teaching, exploratory analysis, rough price-based prototypes, and sanity checks. If your strategy does not depend on historical accounting vintages, a specialized PIT fundamentals product may be unnecessary.
3. Stooq: practical market history with validation required
Stooq offers accessible historical market data and may be useful for research prototypes. Its downloads can be attractive when you want to get a price-based test running without building an ingestion system.
As with any market-history source, validate the exact dataset you consume. Questions include:
- Are prices adjusted, and for which corporate actions?
- Are delisted securities represented?
- How stable are symbols and identifiers?
- What are the timezone and session conventions?
- Does your universe introduce survivorship bias?
Historical prices avoid some accounting-publication issues, but they do not automatically solve corporate-action, delisting, or universe bias.
When Stooq wins
It may win for low-cost price research, cross-checking, and prototypes where its available markets and conventions fit your design. Review its documentation and test known events before committing to a production pipeline.
4. FRED and ALFRED: consider vintages for macro backtests
FRED is a widely used free source for economic and financial series. It can support research involving rates, inflation, labor, production, and other macro variables.
The central backtesting trap is revision history. Today’s value for a historical month may not equal the value investors saw at the time. Economic releases can be revised repeatedly.
ALFRED preserves vintages for many series, making it potentially more appropriate when a strategy responds to what was known on a historical date. You must still model release timing. A value labeled for one month may have been published later.
When FRED or ALFRED wins
They may win for macro signals rather than equity-fundamentals research. Consider ALFRED vintages where revisions could affect the result; standard FRED data may be sufficient when latest-revised history is explicitly what you want.
5. Alpha Vantage: packaged APIs for quick prototypes
Alpha Vantage packages multiple categories of financial data behind documented endpoints and offers a free tier. That may reduce setup work compared with normalizing multiple sources.
Before using it in a backtest, see its pricing page and documentation. Confirm current request limits, historical depth, corporate-action treatment, field definitions, and whether fundamental values are tied to filing-availability dates.
A reported fiscal-period end is not an availability date. Joining a December year-end value to December prices can leak information from a filing published later.
When Alpha Vantage wins
It may win when you want one packaged interface, modest prototype volume, or data categories outside a narrow PIT fundamentals product. Evaluate each endpoint separately rather than assuming one methodology applies across the service.
6. Tradevo Data: inspect the free PIT proof pack first
Tradevo Data provides point-in-time US equity fundamentals from SEC EDGAR public-domain data. The public GitHub proof pack contains 5 companies, their latest 3 fiscal years, 225 rows, and the full methodology, with no signup.
Each row includes:
first_filed: the date the value became public;original_value: the first-reported PIT-safe value;latest_value: the current revision;- a restatement flag for changes greater than 0.5% on the same tag, including amendments;
qa_status.
The annual dataset contains 632,466 point-in-time rows across 5,168 US companies, 16 annual concepts, up to 12 fiscal years, and 37,804 labeled restatements. The concepts are Revenue, NetIncome, Assets, StockholdersEquity, OperatingCashFlow, EPSDiluted, DilutedShares, GrossProfit, OperatingIncome, PretaxIncome, IncomeTaxExpense, CapitalExpenditures, CashAndCashEquivalents, CurrentAssets, CurrentLiabilities, and NetPPE.
Quarterly coverage includes 1,089,635 rows across 5,382 companies and 7 quarterly concepts. Q4 is reported where tagged or derived and labeled where supported. Derived Q4 EPS and shares are not provided.
The JSON endpoint is:
/v1/fundamentals?ticker&as_of[&concept][&period=annual|quarterly]
Annual is the default period. The server applies first_filed <= as_of, inclusive on the date. This addresses one common form of lookahead bias in fundamental backtests, but users must still handle matters such as trading-session timing and universe construction.
The card-backed 7-day free trial covers 10 companies, a rolling 3-year history, and 100 requests per day, with no bulk. It renews at $29/mo unless canceled. Pro provides complete available history, 5,000 requests per day, and bulk access through /v1/download and /v1/snapshot?as_of, each with period=annual|quarterly. Parquet is not included.
This is intentionally narrower than many alternatives: no price data, TTM, non-US companies, or delisted-company coverage.
Review the free proof pack before considering the API:
https://github.com/christianpichichero-max/pit-fundamentals
https://tradevodata.com/?utm_content=blog-free-financial-data-apis-for-backtesting
Documentation: https://tradevodata.com/docs?utm_content=blog-free-financial-data-apis-for-backtesting
When Tradevo Data wins
It may win when you want standardized point-in-time US equity fundamentals, server-side historical-date filtering, restatement fields, and JSON bulk access without building an EDGAR normalization pipeline. It does not win when you need prices, filing text, custom XBRL tags, TTM metrics, non-US or delisted coverage, Parquet, or a broader multi-asset platform.
Point-in-time safety checklist
Whatever source you choose, ask:
- What was known? Is the value original, latest-restated, or unspecified?
- When was it known? Use a publication or filing date, not merely a fiscal-period end.
- Was the date available intraday? Daily backtests may need a next-session rule.
- Was the security in the universe then? A current constituent list creates survivorship bias.
- How were prices adjusted? Splits, dividends, and symbol changes can alter results.
- Are revisions preserved? This matters for both company fundamentals and macro data.
- Can you reproduce a snapshot? Save raw responses, query dates, documentation versions, and code.
When to build it yourself
Build your own pipeline when your research requires data no standardized product exposes, when you need auditable transformation control, or when ongoing engineering is part of your process.
For EDGAR fundamentals, expect work involving taxonomy mapping, amendment handling, fiscal-period inference, duplicate resolution, QA, identity history, and refresh monitoring. “Free data” means no license fee; it does not mean zero cost.
Do not assume that easy ingestion makes a dataset PIT-safe. The difficult work is establishing that every historical row was available when your simulation says it was.
A practical selection rule
Choose the narrowest source that answers your research question honestly:
- price prototype: yfinance or Stooq may be enough;
- macro strategy: consider FRED, or ALFRED when revisions matter;
- custom US filing research: build from SEC EDGAR;
- packaged multi-category prototype: evaluate Alpha Vantage endpoint by endpoint;
- standardized PIT US fundamentals: inspect Tradevo Data’s free proof pack, then compare its API with credible alternatives such as Sharadar, Tiingo, and QuantConnect. See each provider’s pricing page and documentation.
No vendor removes the need for validation. A defensible backtest starts with explicit assumptions about availability, revisions, adjustments, and universe membership—not with the prettiest API response.
Not investment advice. Verify current competitor features, documentation, and pricing on each provider’s website.