Market data tools for quotes, history, news, screeners, and research
Project description
TVFinance
[!CAUTION] STOP: TradingView legal and data-use restrictions. TVFinance is an independent, unofficial project. It is not affiliated with, sponsored by, endorsed by, or vetted by TradingView. TradingView's terms describe market data as display-only and restrict non-display, automated, algorithmic, commercial, and redistribution uses, including third-party tools that enable restricted uses. TVFinance does not grant permission or a data license. Before using it, read the TradingView policy notice, the official TradingView terms, and the full disclaimer.
[!WARNING] This project was substantially generated with help from large language models. Its code, tests, documentation, and output may contain mistakes and require independent human review. Market data may be delayed, incomplete, or incorrect. Do not use this software as financial or investment advice. Read the AI disclosure before using or contributing.
TVFinance is a Python library for looking up market information. You can search for symbols, check current quotes, download price history, read company news, and explore financial data without assembling several different tools.
It works in regular and async Python programs, from the command line, and as an optional MCP server for AI applications. Python 3.10 through 3.14 are supported.
Features
- Find stocks, ETFs, bonds, indexes, futures, currencies, and cryptocurrencies.
- Check one quote or follow live price updates.
- Download historical prices at different time intervals.
- Filter markets with screeners and explore option chains.
- Read company profiles, financials, forecasts, filings, and news.
- View earnings, dividend, revenue, IPO, and economic calendars.
- Use a simple Python API, async API, command-line tool, or optional MCP server.
- Cache results in memory or in a local SQLite file.
Installation
pip install tvfinance
pip install "tvfinance[mcp]"
Install the MCP extra only when you need to connect TVFinance to an MCP client.
Quick start
import tvfinance
quote = tvfinance.quote("NASDAQ:AAPL")
bars = tvfinance.history("NASDAQ:AAPL", resolution="1D", count=30)
profile = tvfinance.profile("NASDAQ:AAPL")
For async applications, use tvfinance.aio:
from tvfinance import aio
quote = await aio.quote("NASDAQ:AAPL")
bars = await aio.history("NASDAQ:AAPL", count=30)
For several requests, reuse one client connection:
from tvfinance import AsyncClient
async with AsyncClient() as client:
quote = await client.quote("NASDAQ:AAPL")
news = await client.news("NASDAQ:AAPL", fetch_body=True)
Command-line and MCP entry points:
tvfinance --help
tvfinance history NASDAQ:AAPL --count 30
tvfinance-mcp
Development
uv sync --group dev
uv run ruff format .
uv run ruff check .
uv run mypy src tests
uv run pytest
uv build
Important information
Version 26.0.1 is the current stable release of the rebuilt package. Provider endpoints are unofficial and may change. This project is for research and does not provide financial advice.
Legal and provider notice
TradingView and related names and marks belong to their respective owners. TVFinance is not affiliated with, endorsed by, or vetted by TradingView. The software uses unofficial interfaces and provides no rights to provider content or market data.
Do not assume that research, educational, personal, internal, AI, or MCP use is automatically permitted. You must determine whether your exact access, display, storage, processing, and redistribution are authorized. If you need automated trading, algorithmic processing, commercial use, redistribution, or another non-display use, obtain explicit permission and a suitable licensed data feed. See TRADINGVIEW_POLICY.md for the provider-policy summary and links to the controlling terms.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tvfinance-26.0.1.tar.gz.
File metadata
- Download URL: tvfinance-26.0.1.tar.gz
- Upload date:
- Size: 218.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
733848e5c82e2283f012ccf113076479fe62ea7167735fe515cd464838004bfb
|
|
| MD5 |
10673dbe71239b8f3ec4a9a0811bcf88
|
|
| BLAKE2b-256 |
0f70cad282334d1e2b113f6e233e0ad136f2410e5f9e6709c7b91c12a664e817
|
File details
Details for the file tvfinance-26.0.1-py3-none-any.whl.
File metadata
- Download URL: tvfinance-26.0.1-py3-none-any.whl
- Upload date:
- Size: 38.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c17b4804bfd3b17034707aedcde090e6eb709fdd83e5351bf9e5d7b70ea15c75
|
|
| MD5 |
999c6615e410e349b2cfda1a44ff6a63
|
|
| BLAKE2b-256 |
fdbaaf338aa52f45329112882249eeb2b339ecf34bfb841a204033cc505fd28e
|