langchain-finzdata
FinzData tools for LangChain and LangGraph agents in one line.
Why
Agents answering market questions need point-in-time, survivorship-free data. FinzData includes delisted stocks, macro as known on a date, and server-side backtests so the agent doesn't pull raw bars. The MCP server exposes 34 tools and works with no key for the last 6 months, or with a Bearer key for more history.
Coverage
16,000+ US stocks that have traded on NYSE and Nasdaq since January 2000, delisted included, point in time. 231 ETFs. 139 futures markets with every contract since 2007. GEX for single stocks, ETFs and the major indexes. COT since 1986. 13F. SEC fundamentals as filed. 18,000+ macro series with every vintage kept. Crypto since 2015.
Install
pip install langchain-finzdata
Free start
No key required for the last 6 months. Free key, email only, 12 months: https://finzdata.com/account?ref=langchain Set FINZDATA_API_KEY in your environment. Full history from $19 per ticker, yours to keep: https://finzdata.com/shop?ref=langchain
LangGraph example
from langgraph.prebuilt import create_react_agent from langchain_finzdata import load_finzdata_tools
tools = load_finzdata_tools() agent = create_react_agent("anthropic:claude-sonnet-4-5", tools) agent.invoke({"messages": [("user", "Backtest 12-1 momentum on US stocks since 2010, survivorship-free")]})
Any chat model works.
Async and filtering
In async code (FastAPI, notebooks with a running loop), await the tools directly, and pick only the tools you need:
from langchain_finzdata import get_finzdata_tools
tools = await get_finzdata_tools(include=["get_bars", "run_backtest", "get_macro_vintage"])
Pass api_key="..." (or set FINZDATA_API_KEY) to go beyond the keyless 6-month preview.
Main tools
| Tool | Description |
|---|---|
| get_bars | OHLCV bars point-in-time |
| get_futures | Futures continuous and contracts |
| get_crypto | Crypto OHLCV |
| get_gex | Gamma exposure |
| get_cot | Commitments of Traders |
| get_13f | 13F filings |
| get_fundamentals_pit | Fundamentals as filed |
| get_macro_vintage | Macro with vintage |
| run_backtest | Server-side backtest |
| survivorship_audit | Survivorship audit |
| get_bars | Price bars with survivorship handling |
| get_fundamentals_pit | Point-in-time fundamentals |
| get_macro_vintage | Macro series by vintage date |
Other frameworks
LlamaIndex
BasicMCPClient("https://api.finzdata.com/mcp") McpToolSpec
CrewAI
MCPServerAdapter({"url": "https://api.finzdata.com/mcp", "transport": "streamable-http"})
OpenAI Agents SDK
MCPServerStreamableHttp(params={"url": "https://api.finzdata.com/mcp"})
MIT
FinzData is not affiliated with LangChain, LlamaIndex, CrewAI or OpenAI.
Support: info@finzdata.com
FinzData: built for AI, quants, data scientists and financial analysts who backtest. Clean data. Real insights. Real alpha.
Metadata
Release files for langchain-finzdata 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| langchain_finzdata-0.1.0.tar.gz | 4.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_finzdata-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.9 kB
Release files / langchain_finzdata-0.1.0.tar.gz
| Download URL | langchain_finzdata-0.1.0.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a7e1cdd624442ff1e0d44d8acb1461ca9150eb824c8aedfa1869d77efa7da07
|
|
BLAKE2b-256 checksum How to use checksums |
8a2c31b99e82d1ef802cd56794d45442a7b42483360e3425fdde597518920335
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / langchain_finzdata-0.1.0-py3-none-any.whl
| Download URL | langchain_finzdata-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0831677c5d45d35e739dc83b83d1ad6c45a0a9b2d80402520f0ee615fdc8964
|
|
BLAKE2b-256 checksum How to use checksums |
f932e474f4d07f897ae55fe234af0f41f0e8ff0914024cce4192039b78e2be86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for langchain-finzdata 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.