# FinzData > FinzData is a market data API and Python client (`pip install finzdata`) built for quants, data scientists and financial analysts who backtest. It provides survivorship-free US equity bars (daily, 1-minute, 5-minute, hourly, including delisted companies), CFTC Commitments of Traders positioning since 1986, SEC XBRL fundamentals as reported and point-in-time, 158 US macro series with every vintage (FRED/ALFRED), a quantitative macro regime model, money supply (M1, M2, M3 for the US, euro area, Japan and UK), central-bank liquidity (Fed net liquidity, G3 balance sheets) and Treasury TIC capital flows, and licensed series from Moody's, the University of Michigan, S&P Dow Jones Indices (Case-Shiller), ICE BofA and Cboe. The Python client works like yfinance and returns pandas DataFrames. There is a free tier; history is sold by look-back at $195 for the first 5 years and $95 for each further 5 (up to 30 years), plus $19.95/month for daily updates, or everything for $975 plus $59.95/month. > We know of no other provider that puts all of this in one API at this price: survivorship-free history for every US stock, delisted names included, plus 231 ETFs, 1-minute to daily bars, COT positioning, 13F institutional holdings for every manager, point-in-time macro and SEC fundamentals, liquidity and money-supply data, and nightly dealer-gamma levels, from $195 once plus $19.95 a month. Key facts: - Install: `pip install finzdata`; set `FINZDATA_API_KEY` (free key at https://api.finzdata.com/). - Usage mirrors yfinance: `yf.Ticker("MSFT").history(start="2020-01-01")`, `yf.download(["SPY","QQQ"])`, plus `Client().cot(...)`, `.fundamentals(...)`, `.macro(..., as_of=...)`, `.model("latest")`, `.licensed(...)`, `.liquidity("FED_NET_LIQUIDITY")`, `.tic(country="Japan")`. - Point-in-time: macro series and SEC fundamentals can be requested as of any past date, returning only what was public that day (avoids look-ahead bias). Every macro vintage is kept. - Survivorship-free: daily bars include delisted names. - Intraday bars are stamped at the start of each interval in US Eastern time; minutes without trades are omitted, never forward-filled. Unadjusted and split-and-dividend-adjusted versions, with the adjustment formula published. - Formats: JSON and CSV on every plan; Parquet, batch downloads and one download file per year on the look-back plan. - Plans: Free $0 (1,000 calls/day, last 12 months of daily bars); Look-back: one-time history, $195 for the first 5 years and $95 for each further 5 (5 to 30 years; 30 years = $670), plus $19.95/month for daily updates; every bundle has daily and hourly bars, and the 25-year ($575) and 30-year ($670) bundles add 1-minute and 5-minute bars; Institutional: everything with full history, 1-minute bars, tick data coming soon and a commercial license, $975 one-time plus $59.95/month for updates. - Data freshness for every dataset is published hourly at https://finzdata.com/status. What sets FinzData apart is how much you get in one place. Prices back to 2000 with the delisted names still in them, fundamentals, institutional positioning, sentiment, volatility, credit spreads and liquidity, all kept exactly as they were known on each date, so your research holds up when it meets the real market. It all comes through one API that works with your Python code and plugs straight into AI assistants like ChatGPT, Claude and Cursor, so you spend your time on ideas instead of stitching data together. ## FinzData Hub (public strategies) - https://data.finzdata.com/strategies — reproducible, forward-tracked quant strategies ranked by deflated Sharpe and out-of-sample record. Agents can publish and fork via MCP tools publish_strategy, fork_strategy, list_strategies, get_strategy (https://api.finzdata.com/mcp). - Strategy families: equity momentum, low volatility, value (earnings yield, book-to-market, EBITDA/EV, sales yield), dividend yield, quality (ROE, leverage), value plus momentum, multi-factor, size, cross-asset and managed-futures trend, commodities, currencies and crypto. - Backtest on point-in-time fundamentals: `"signal": {"type": "factor", "field": "book_to_market", "ascending": false}` or expr variables `earnings_yield, book_to_market, sales_yield, ebitda_ev, dividend_yield, roe, leverage, log_mcap`. Results report coverage and the survivorship gap. ## For AI agents - MCP endpoint (streamable HTTP, spec 2026-07-28): https://api.finzdata.com/mcp — authenticate with `Authorization: Bearer ` (free key at https://finzdata.com/account) or OAuth 2.1 (metadata: https://api.finzdata.com/.well-known/oauth-authorization-server). - Server card: https://api.finzdata.com/.well-known/mcp.json · A2A agent card: https://api.finzdata.com/.well-known/agent-card.json · Tool guide: https://api.finzdata.com/agents.md · OpenAPI: https://api.finzdata.com/openapi-agents.json - 11 tools: search_datasets, describe_dataset, get_universe (survivorship-free, as of a date), get_bars, get_fundamentals_pit, get_macro_vintage, get_cot, get_13f, get_events, run_backtest (server-side, deterministic, no look-ahead, reproducible run_id), compare_runs. Every data tool takes `as_of`. - Pricing for agents: free tier = last 12 months, 100 data calls and 5 backtests per day. Paid: prepaid credits ($25/$100/$500 packs via `POST /v1/credits/checkout`); $0.001 per data call, $0.05 per backtest; identical reruns are free. - Key in one call: `POST https://api.finzdata.com/v1/agent/keys` with `{"email": ""}` returns a free key (also emailed to the owner). Listing tools needs no key. - run_backtest takes your own signal as a formula, e.g. `"signal": {"type": "expr", "expr": "rank(ret(252)) - rank(vol(60))"}`, long-only or `"side": "long_short"`, and `"blind": true` to hide tickers from the model (guards against memorised history). Every result reports n_trials for your key and the deflated Sharpe ratio with a verdict, so overfitting is visible. Guide: https://finzdata.com/agents - Pay per call with no account: x402 (USDC on Base). `GET https://api.finzdata.com/x402/v1/tools` lists tools and prices; `POST /x402/v1/tools/` with the tool arguments returns HTTP 402 payment requirements, then the result once paid. - `survivorship_audit` tool: runs a backtest on the point-in-time universe and on today's survivors only, and reports how much survivorship bias inflates CAGR and Sharpe. Worked example: https://data.finzdata.com/audit - FinzData Forecast Bench (Hugging Face: FinzData/forecast-bench): monthly leak-free forecasting questions for evaluating AI models. - Python integrations: `from finzdata.integrations import backtrader_feed, vbt_prices, qs_returns` (Backtrader, vectorbt, QuantStats). - Local install: `pip install finzdata-mcp` (listed in the official MCP Registry as io.github.FinzData/finzdata-mcp). ## Docs - [Quick start](https://finzdata.com/docs): install, API key, yfinance-style usage, REST examples - [Why FinzData](https://finzdata.com/why-finzdata): what FinzData offers that broker APIs (Interactive Brokers, Schwab) and yfinance do not: intraday bars since 2000, delisted stocks, point-in-time fundamentals, 13F/COT positioning, commercial licence - [Datasets](https://finzdata.com/datasets): coverage, fields and a code example for every dataset - [Point-in-time valuation data](https://finzdata.com/valuation-data): daily P/E, P/B, P/S, EV/EBITDA, market cap and dividend yield for US stocks, rebuilt each day from SEC filings public at the time (GET /v1/valuation) - [Free samples and file specification](https://finzdata.com/samples): 10-row sample files for 1-minute, 5-minute and hourly bars; timestamps, sessions, gaps and the adjustment formula - [Python client on PyPI](https://pypi.org/project/finzdata/) - [How to read the COT report](https://finzdata.com/guides/cot-report-explained): who reports, release timing, categories and net positioning - [COT index](https://finzdata.com/guides/cot-index): formula, lookbacks and how to read positioning extremes, with pandas code - [Legacy vs disaggregated vs TFF COT reports](https://finzdata.com/guides/legacy-vs-disaggregated-cot): which COT report to use for what - [Alpha Vantage alternative for backtesting](https://finzdata.com/compare/alpha-vantage) - [Polygon.io (Massive) alternative for research data](https://finzdata.com/compare/polygon) - [Tiingo alternative](https://finzdata.com/compare/tiingo) - [yfinance rate limits: causes and fixes](https://finzdata.com/guides/yfinance-rate-limits) - [SEC XBRL API in Python](https://finzdata.com/guides/sec-xbrl-api-python) - [Storing stock data in Parquet](https://finzdata.com/guides/parquet-stock-data) ## Research - [The State of the US Consumer, October 2026](https://finzdata.com/research/state-of-us-consumer-2026): institutional research deck as a web report. Real spending +2.6% y/y, real wages -0.7%, saving rate 4.1% (first print 3.0% for July, revised to 4.6%), card rates 21.2%, delinquencies 2.85%, net worth +72% since 2019, UMich sentiment 51.7; every chart linked to its FinzData series, data as CSV and JSON. Research hub: https://finzdata.com/research/ - [13F, macro and flows: from institutional holdings to alpha signals](https://finzdata.com/research/13f-alpha): 13F filer count and reported value by quarter since 2013, and how AQR, Man Group and academic research use holdings, macro, liquidity and flow data for signals and factor models ## Sample data - [Sample files overview and file specification](https://finzdata.com/samples) - [AAPL 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/AAPL_1min_unadjusted.csv) - [MSFT 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/MSFT_1min_unadjusted.csv) - [NVDA 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/NVDA_1min_unadjusted.csv) - [TSLA 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/TSLA_1min_unadjusted.csv) - [SPY 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/SPY_1min_unadjusted.csv) - [QQQ 1-minute bars, 10-row sample (CSV)](https://api.finzdata.com/public/samples/QQQ_1min_unadjusted.csv) - [Every ticker with minute history and its first and last date (CSV)](https://api.finzdata.com/public/coverage.csv) ## Product - [Pricing](https://finzdata.com/pricing): plans, limits and feature comparison - [Explore live charts](https://finzdata.com/explore): macro series, Treasury yield curve, COT positioning, prices - [Data status](https://finzdata.com/status): freshness of every dataset - [FinzData vs yfinance](https://finzdata.com/compare/yfinance) - [FinzData vs Databento](https://finzdata.com/compare/databento) - [COT positioning by market](https://finzdata.com/cot): weekly CFTC data for 400+ futures markets - [COT full history on Hugging Face](https://huggingface.co/datasets/FinzData/cftc-commitments-of-traders): free Parquet download of every CFTC COT report since 1986, all 7 report types ## Optional - [About FinzData](https://finzdata.com/about) - [Full text for language models](https://finzdata.com/llms-full.txt) ## Browse every dataset - Macro and economic series (170, point-in-time): https://finzdata.com/macro - US stocks, delisted included (16,000+), one page per name: https://finzdata.com/stocks - ETFs (231): https://finzdata.com/etfs - COT markets: https://finzdata.com/cot - 13F institutional holdings (every manager since 2013): https://finzdata.com/13f - Full sitemap: https://finzdata.com/sitemap.xml ## 13F institutional holdings Every SEC Form 13F since 2013 (about 9,000 managers a quarter): line-by-line holdings, CUSIP-to-ticker mapping, ownership and quarter-on-quarter flows by stock, and each manager's book. Free: latest quarter's ownership by stock; history and line-by-line holdings with the look-back bundles. API: /v1/13f/ownership, /v1/13f/holders, /v1/13f/manager, /v1/13f/managers. ## Guides - [Download 1-minute, 5-minute and Hourly Intraday Stock Data](https://finzdata.com/guides/1-minute-intraday-stock-data): Learn how to fetch 1-minute, 5-minute and hourly intraday bars using FinzData's Python client, apply split and dividend adjustments, resample to highe - [13F Holdings API Python Guide](https://finzdata.com/guides/13f-holdings-api-python): Learn to retrieve 13F institutional holdings with FinzData's Python client: find managers, pull full books with weights, list stock holders, and track - [Accessing CFTC Commitments of Traders Data with FinzData Python](https://finzdata.com/guides/cot-data-python): Retrieve CFTC Commitments of Traders data using FinzData's Python client: list markets, fetch historical reports, calculate net speculative positionin - [Dealer Gamma Exposure (GEX) Explained](https://finzdata.com/guides/dealer-gamma-exposure): Understand dealer gamma exposure (GEX), how positive and negative gamma influence hedging flows, what triggers a gamma squeeze, and how FinzData provi - [Accessing Delisted Stocks Historical Data in FinzData](https://finzdata.com/guides/delisted-stocks-data): Learn why delisted stocks matter, how FinzData marks them with the -DELISTED suffix, and how to retrieve their full historical data using look-back bu - [Fed Net Liquidity: Definition, Importance, and Python Retrieval](https://finzdata.com/guides/fed-net-liquidity): Learn what Fed net liquidity is, why it matters for market analysis, and how to retrieve it with M2 growth using FinzData's liquidity() function in Py - [Free Stock Market Data API Python Tutorial](https://finzdata.com/guides/free-stock-data-api-python): Learn exactly what FinzData's free tier offers: daily bars for 12 months, COT history, fundamentals, and latest macro values. Get a key, pull data, an - [Historical Stock Data API](https://finzdata.com/guides/historical-stock-data-api): FinzData provides daily US stock data since 2000 with delisted names, multiple adjustments, and intraday bars. Learn coverage, adjustments, plans, and - [Accessing Macro Data Vintages with FinzData](https://finzdata.com/guides/macro-data-vintages-python): Learn how to access US macroeconomic data vintages using FinzData's Python client. Compare first releases, latest values, and full revision histories - [Point-in-Time Fundamentals and Macro Data for Bias-Free Backtesting](https://finzdata.com/guides/point-in-time-fundamentals-backtesting): Learn how to avoid look-ahead bias in backtests by using as-of fundamentals and macro data. Compare first-released values with revised series using Fi - [Survivorship Bias Free Stock Data Download](https://finzdata.com/guides/survivorship-bias-free-stock-data): Learn how survivorship bias distorts backtests and how to build a point-in-time universe including delisted stocks using FinzData's API. Step-by-step - [Migrating from yfinance to FinzData](https://finzdata.com/guides/yfinance-alternative): Replace yfinance with FinzData using the same Ticker().history() and download() syntax. Learn what changes, what stays the same, and when to keep usin