finance-datareader
Financial data reader (price, stock list of markets)
What it is and what it does
FinanceDataReader is a financial data crawler that retrieves stock prices, market indices, exchange rates, and cryptocurrency data from global exchanges—KRX (Korean), NASDAQ, NYSE, S&P 500, Shanghai, Shenzhen, Hong Kong, Tokyo, and Ho Chi Minh exchanges. It wraps web scraping and API calls behind a simple pandas-centric interface, returning time-series data as DataFrames. The package includes both a Python library (via `fdr.DataReader()`) and a CLI tool (`fdr` command) for terminal-based queries.
It depends on beautifulsoup4, lxml, pandas, requests, and plotly to parse HTML, fetch data, and structure results. The library handles symbol resolution across markets (e.g., 'AAPL' for US stocks, '005930' for Samsung, 'KS11' for KOSPI index) and supports date-range filtering. It is production-stable, actively maintained, and requires Python 3.9 or later.
Use it for:
- Backtest trading strategies by fetching historical stock prices for multiple symbols and date ranges.
- Build financial dashboards that display real-time or recent index values (KOSPI, NASDAQ, S&P 500) and exchange rates.
- Analyze cryptocurrency price trends by retrieving BTC/KRW, ETH/USD, and other crypto pairs over time.
- Screen Korean stocks by listing all KRX symbols and fetching their price history for fundamental analysis.
- Monitor delisted or administratively suspended Korean stocks via KRX-DELISTING and KRX-ADMIN listings.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Fetches historical and current financial data—stock prices, indices, exchange rates, and cryptocurrency—from multiple global exchanges and returns it as pandas DataFrames.
Yes. Low install friction, no security vulnerabilities, active maintenance, and permissive MIT license. Install if you need to fetch financial time-series data from multiple global exchanges into pandas DataFrames. Caveat: reliability depends on upstream data sources (web scraping); verify data accuracy for production use.
Install
finance-datareader on PyPI
pip
pip install finance-datareaderuv
uv add finance-datareaderpoetry
poetry add finance-datareaderInstalling finance-datareader
Before you install
Low friction: pure Python wheel with no compiled dependencies. Active maintenance—last commit 2026-05-13, 1531 GitHub stars. Supports Python 3.9 through 3.12.
License in practice
MIT License (permissive): you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install finance-datareader
import FinanceDataReader as fdr
df = fdr.DataReader('AAPL', '2024') # Apple stock, 2024 to present
df = fdr.DataReader('KS11', '2024') # KOSPI index
df = fdr.DataReader('USD/KRW') # USD/KRW exchange rate
Verify before relying
- Reliability and latency of data sources (web scraping may be fragile across market APIs).
- Whether all listed exchanges (SSE, SZSE, HKEX, TSE, HOSE) are consistently available.
- Rate limiting or throttling policies from upstream data providers.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — beautifulsoup4, lxml, pandas, plotly, requests-file, requests, tabulate, tqdm |
| Maintenance | actively maintained — 93 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 265,271/month — #8,327 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: finance_datareader-0.9.202-py3-none-any.whl
Keywords: data, finance
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
efinanceFetches historical and real-time stock, fund,…
permissive · top 15,000 on PyPI
investor-agentProvides financial research tools as an MCP…
permissive · top 15,000 on PyPI
pykrxScrapes Korean stock and bond market data from…
permissive · top 15,000 on PyPI
fear-and-greedFetches CNN's Fear & Greed Index from their…
permissive · top 15,000 on PyPI
alpha-vantageFetches real-time and historical stock,…
permissive · top 15,000 on PyPI
yahooqueryRetrieves financial data from Yahoo Finance…
permissive · top 15,000 on PyPI
tushareFetches historical and real-time Chinese stock…
permissive · top 15,000 on PyPI
pandas-datareaderFetches macroeconomic and factor data from…
permissive · top 5,000 on PyPI
Nasdaq-Data-LinkProvides Python access to Nasdaq Data Link's…
permissive · top 15,000 on PyPI
stockstatsAdds technical analysis indicators and…
permissive · top 15,000 on PyPI