Get the FREE Ultimate OpenClaw Setup Guide →
s

Yahoo Finance CLI

Scanned

@stuhorsman

npx machina-cli add skill @stuhorsman/yahoo-finance-cli --openclaw
Files (1)
SKILL.md
4.1 KB

Yahoo Finance CLI

A Node.js CLI for fetching comprehensive stock data from Yahoo Finance using the yahoo-finance2 library.

Requirements

  • Node.js
  • yahoo-finance2 installed globally or available as yf
  • jq

Install

brew install jq
npm install yahoo-finance2
sudo ln -s /opt/homebrew/bin/yahoo-finance /usr/local/bin/yf

Usage

The tool is available as yf. It outputs JSON, which can be piped to jq for filtering.

yf <module> <symbol> [queryOptions]

Modules

Quote (Real-time Price & Data)

Get real-time price, change, and basic data.

yf quote AAPL
yf quote AAPL | jq '.regularMarketPrice'

Quote Summary (Fundamentals & More)

Get detailed modules like earnings, financial data, and profiles.

# Get specific sub-modules
yf quoteSummary AAPL '{"modules":["assetProfile", "financialData", "defaultKeyStatistics"]}'

# Common modules to request:
# - assetProfile (Company info, sector)
# - financialData (Target price, margins, cash)
# - defaultKeyStatistics (Enterprise value, float, shares)
# - calendarEvents (Earnings dates)
# - earnings (History and trend)
# - recommendationTrend (Analyst ratings)
# - upgradeDowngradeHistory

Insights

Get technical and fundamental insights (valuation, outlook).

yf insights AAPL

Search

Search for symbols.

yf search "Apple"
yf search "BTC-USD"

Historical Data (Deprecated)

Get historical OHLCV data. Note: historical is deprecated; use chart instead.

# Deprecated - use chart instead
yf historical AAPL '{"period1":"2024-01-01","period2":"2024-12-31"}'

# Recommended: use chart
yf chart AAPL '{"period1":"2024-01-01","period2":"2024-12-31"}'

Trending

See what's trending.

yf trendingSymbols US

Examples

Quick Price Check

# Full JSON then filter with jq
yf quote NVDA | jq '{symbol: .symbol, price: .regularMarketPrice, changePct: .regularMarketChangePercent}'

Next Earnings Date

# Use single quotes around the JSON option in zsh/bash
yf quoteSummary TSLA '{"modules":["calendarEvents"]}' | jq '.calendarEvents.earnings.earningsDate'

Analyst Recommendations

yf quoteSummary AAPL '{"modules":["recommendationTrend"]}'

Company Profile

yf quoteSummary MSFT '{"modules":["assetProfile"]}'

Historical OHLCV

# Using chart (recommended)
yf chart AAPL '{"period1":"2024-01-01","period2":"2024-12-31","interval":"1d"}' | jq '.quotes[0:5]'

# Using historical (deprecated, but still works)
yf historical AAPL '{"period1":"2024-01-01","period2":"2024-12-31","interval":"1d"}' | jq '.[0:5]'

Search for Symbols

yf search 'Apple'
yf search 'BTC-USD'

Trending Symbols (US)

yf trendingSymbols US

Insights (valuation, outlook)

yf insights AAPL

Troubleshooting

  • Cookies: The tool automatically handles cookies (stored in ~/.yf2-cookies.json). If you encounter issues, try deleting this file.
  • JSON Output: The output is pure JSON. Use jq to parse it for scripts or readability.

Additional tips:

  • If you see authentication or parsing errors, delete the cookie file and retry:
rm -f ~/.yf2-cookies.json
yf quote AAPL
  • On macOS with zsh, prefer single quotes around JSON option arguments and use double quotes inside (see examples above).
  • If you want a compact numeric value only (no jq), use a short jq filter, e.g.:
yf quote AAPL | jq -r '.regularMarketPrice'

Source

git clone https://clawhub.ai/stuhorsman/yahoo-finance-cliView on GitHub

Overview

Yahoo Finance CLI is a Node.js-based tool that fetches stock data from Yahoo Finance. It outputs pure JSON and can be piped to jq for scripting, making it easy to automate price checks, earnings lookups, and fundamental insights. It supports modules like quote for real-time data, quoteSummary for fundamentals, chart for historical data, search for symbols, trendingSymbols for market momentum, and insights for valuation.

How This Skill Works

Install the yahoo-finance2 package and jq CLI, then run yf <module> <symbol> [queryOptions] to fetch JSON data from Yahoo Finance. The tool prints JSON to stdout, which you can filter or map with jq. Modules include quote (real-time data), quoteSummary (fundamentals), insights (valuation), search (symbol lookup), and chart (historical data).

When to Use It

  • Get real-time price and change for a symbol with yf quote.
  • Look up earnings dates or detailed fundamentals via yf quoteSummary.
  • Search for symbols by company name with yf search.
  • See market momentum and valuation cues with yf trendingSymbols or yf insights.
  • Fetch historical OHLCV data using yf chart for specified periods.

Quick Start

  1. Step 1: Install dependencies — brew install jq; npm install yahoo-finance2; link the yf binary if necessary (e.g., sudo ln -s $(npm bin -g)/yahoo-finance /usr/local/bin/yf).
  2. Step 2: Run a sample command, e.g., yf quote AAPL.
  3. Step 3: Filter results with jq, e.g., yf quote AAPL | jq '.symbol, .regularMarketPrice, .regularMarketChangePercent'

Best Practices

  • Prefer yf chart for historical data over the deprecated historical command.
  • Pipe output to jq for scripts, dashboards, or automation.
  • When using quoteSummary, request assetProfile, financialData, and defaultKeyStatistics for a fuller fundamentals view.
  • Use single quotes around JSON options in shells to avoid escaping issues.
  • Ensure the yf binary is accessible in your PATH after installation (link if needed).

Example Use Cases

  • Quick Price Check: yf quote NVDA | jq '{symbol: .symbol, price: .regularMarketPrice, changePct: .regularMarketChangePercent}'
  • Next Earnings Date: yf quoteSummary TSLA '{"modules":["calendarEvents"]}' | jq '.calendarEvents.earnings.earningsDate'
  • Analyst Recommendations: yf quoteSummary AAPL '{"modules":["recommendationTrend"]}'
  • Company Profile: yf quoteSummary MSFT '{"modules":["assetProfile"]}'
  • Historical OHLCV: yf chart AAPL '{"period1":"2024-01-01","period2":"2024-12-31","interval":"1d"}' | jq '.quotes[0:5]'

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers