Yahoo Finance CLI
A Python CLI for fetching comprehensive stock data from Yahoo Finance using yfinance.
Requirements
Python 3.11+
uv (for inline script dependencies)
Installing uv
The script requires uv - an extremely fast Python package manager. Check if it's installed:
uv --version
If not installed, install it using one of these methods:
macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
macOS (Homebrew)
brew install uv
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
pip (any platform)
pip install uv
After installation, restart your terminal or run:
source ~/.bashrc # or ~/.zshrc on macOS
Installation
The yf script uses PEP 723 inline script metadata - dependencies are auto-installed on first run.
# Make executable
chmod +x /path/to/skills/yahoo-finance/yf
# Optionally symlink to PATH for global access
ln -sf /path/to/skills/yahoo-finance/yf /usr/local/bin/yf
First run will install dependencies (yfinance, rich) to uv's cache. Subsequent runs are instant.
Commands
Price (quick check)
yf AAPL # shorthand for price
yf price AAPL
Quote (detailed)
yf quote MSFT
Fundamentals
yf fundamentals NVDA
Shows: PE ratios, EPS, market cap, margins, ROE/ROA, analyst targets.
Earnings
yf earnings TSLA
Shows: Next earnings date, EPS estimates, earnings history with surprises.
Company Profile
yf profile GOOGL
Shows: Sector, industry, employees, website, address, business description.
Dividends
yf dividends KO
Shows: Dividend rate/yield, ex-date, payout ratio, recent dividend history.
Analyst Ratings
yf ratings AAPL
Shows: Buy/hold/sell distribution, mean rating, recent upgrades/downgrades.
Options Chain
yf options SPY
Shows: Near-the-money calls and puts with strike, bid/ask, volume, OI, IV.
History
yf history GOOGL 1mo # 1 month history
yf history TSLA 1y # 1 year
yf history BTC-USD 5d # 5 days
Ranges: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
Compare
yf compare AAPL,MSFT,GOOGL
yf compare RELIANCE.NS,TCS.NS,INFY.NS
Side-by-side comparison with price, change, 52W range, market cap.
Search
yf search "reliance industries"
yf search "bitcoin"
yf search "s&p 500 etf"
Symbol Format
US stocks: AAPL, MSFT, GOOGL, TSLA
Indian NSE: RELIANCE.NS, TCS.NS, INFY.NS
Indian BSE: RELIANCE.BO, TCS.BO
Crypto: BTC-USD, ETH-USD
Forex: EURUSD=X, GBPUSD=X
ETFs: SPY, QQQ, VOO
Examples
# Quick price check
yf AAPL
# Get valuation metrics
yf fundamentals NVDA
# Next earnings date + history
yf earnings TSLA
# Options chain for SPY
yf options SPY
# Compare tech giants
yf compare AAPL,MSFT,GOOGL,META,AMZN
# Find Indian stocks
yf search "infosys"
# Dividend info for Coca-Cola
yf dividends KO
# Analyst ratings for Apple
yf ratings AAPL
Troubleshooting
"command not found: uv"
Install uv using the instructions above.
Rate limiting / connection errors
Yahoo Finance may rate limit excessive requests. Wait a few minutes and try again.
"No data" for a symbol
Verify the symbol exists:
yf search "company name"Some data (options, dividends) isn't available for all securities
Technical Notes
Uses PEP 723 inline script metadata for uv dependencies
Rich library provides colored, formatted tables
First run installs deps to uv cache (~5 seconds)
Subsequent runs are instant (cached environment)
Handles NaN/None values gracefully with fallbacks