langchain-etfiq
LangChain tools for ETFIQ's free ETF data. No API key.
from langchain_etfiq import EtfiqToolkit
tools = {t.name: t for t in EtfiqToolkit().get_tools()}
tools["etfiq_profile"].invoke({"ticker": "JEPI"})
# {'ticker': 'JEPI', 'name': 'JPMorgan Equity Premium Income ETF', 'fee': 0.35, 'fee_asof': '2026-10-19',
# 'ret_1y': 9.95, 'yield_12m': 8.63, 'bench_gap_1y': -1.6, 'bench_gap_1y_ref': 'SPY', ...,
# 'as_of': '2026-11-02', 'source_url': 'https://etfiq.com/funds/jepi',
# 'attribution': 'Source: ETFIQ (etfiq.com), data as of 2026-11-02'}
Source: ETFIQ (etfiq.com), data as of the date in each record's as_of. Keep the record's attribution line when you reuse it.
Tools
| Tool | Does |
|---|---|
etfiq_search |
find ETFs by ticker or name |
etfiq_profile |
fee, size, returns, yield, IQ score, flows, benchmark gap, each dated |
etfiq_holdings |
issuer-published holdings, weights in percent, cash as its own row |
etfiq_flows |
money in and out, 1D to 1Y |
etfiq_compare |
two to five ETFs side by side |
etfiq_screen |
filter by category, issuer, fee, size, return, yield |
Give them to an agent:
from langchain.agents import create_agent
agent = create_agent("anthropic:claude-sonnet-4-5", EtfiqToolkit().get_tools())
Or use the MCP server
ETFIQ's MCP server (33 tools, including the committee, scorecards and model portfolios) works today through langchain-mcp-adapters:
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({"etfiq": {"url": "https://mcp.etfiq.com/mcp", "transport": "streamable_http"}})
tools = await client.get_tools() # 33 tools
Licence and terms
Code: MIT. ETFIQ's computed data is open with attribution, see https://etfiq.com/license/. Holdings are issuer-published and stay under the issuer's terms; each record says so. Requests are paced at 2 a second with User-Agent: etfiq-langchain/0.1.0 (data@etfiq.com).
Tests
pip install -e ".[test]" && pytest tests
Unit tests use langchain-tests. Integration tests read the live files at https://etfiq.com/data/.
Metadata
Release files for langchain-etfiq 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 | Actions |
|---|---|---|---|---|
| langchain_etfiq-0.1.0.tar.gz | 8.4 kB | With provenance | Details for langchain_etfiq-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| langchain_etfiq-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for langchain_etfiq-0.1.0-py3-none-any.whl |
Total release size: 17.0 kB
Release files / langchain_etfiq-0.1.0.tar.gz
| Download URL | langchain_etfiq-0.1.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0757bd5382d5d41d257632ea4f60985f58685759a61eef4c16067191a3744e8
|
|
BLAKE2b-256 checksum How to use checksums |
c229f1607038a8faf9185ef3923631b890904ad732c10404706d311ed6dffdfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.
Transparency logRelease files / langchain_etfiq-0.1.0-py3-none-any.whl
| Download URL | langchain_etfiq-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9fbafbd74281fbca5fc355f3879efe3136a91aff24d3c90e0e6bad5b891b601
|
|
BLAKE2b-256 checksum How to use checksums |
54974c9b608959b9461ad60c9d5b0440fffa2da8fcb00d80edca82991f32533d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.
Transparency logSecurity for langchain-etfiq 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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for langchain_etfiq-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.
Transparency logA 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.