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