goldyard 057bc4493e Add yfin CLI + tool catalog + CLAUDE.md
Wraps the entire yfinance public API behind a single binary `yfin` with
51 subcommands across 13 namespaces (ticker, download, tickers, search,
lookup, market, sector, industry, calendars, screen, live, auth, config).
Output renders as Rich tables on TTY, JSON when piped; --format / --out
support table | json | ndjson | csv | tsv | parquet | yaml.

Highlights:
- 1857 LOC across 18 Python files under cli/yfin/
- Typer + Rich, packaged via hatchling + uv
- Install globally: `cd cli && uv tool install -e .`
- ~/.yfin/config.toml for persistent proxy/cookies/locale defaults
- Friendly YFRateLimitError handler (exit 2, no Rich traceback)
- Validated end-to-end with 33 live tests against Yahoo from a
  residential exit (AAPL, MSFT, NVDA, options, screens, calendars,
  financials, news, holders, parquet round-trip)

yfinance-tools.yaml is the single source of truth:
- tools (49)       — every public yfinance entry point with parameters
- cli (13 groups)  — exact CLI invocations, mapped back to tool names
- outputSchemas (27) — actual return shapes captured from live calls
- learnings (19)   — IP rate-limit, crumb handshake, Typer gotchas,
                     screen-build wrapping rules, upstream stubs, etc.

CLAUDE.md documents the upstream codebase layout for future agents.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 23:36:56 +08:00
2026-05-28 21:01:28 +01:00
2025-06-25 21:10:21 +01:00
2021-12-30 15:36:11 +00:00
2026-05-25 21:55:38 +01:00
2026-05-28 21:01:28 +01:00
2023-11-26 13:08:54 +00:00
2019-04-17 00:16:22 +03:00
2017-05-21 13:21:55 +03:00
2026-05-28 21:01:28 +01:00
2024-09-19 11:32:57 -03:00
2019-10-27 19:21:47 +02:00

Download market data from Yahoo! Finance's API

Python version PyPi version PyPi status PyPi downloads Star this repo Follow me on twitter

ranaroussi%2Fyfinance | Trendshift

yfinance offers a Pythonic way to fetch financial & market data from Yahoo!Ⓡ finance.


Important

Yahoo!, Y!Finance, and Yahoo! finance are registered trademarks of Yahoo, Inc.

yfinance is not affiliated, endorsed, or vetted by Yahoo, Inc. It's an open-source tool that uses Yahoo's publicly available APIs, and is intended for research and educational purposes.

You should refer to Yahoo!'s terms of use (here, here, and here) **for details on your rights to use the actual data downloaded.

Remember - the Yahoo! finance API is intended for personal use only.**


Tip

THE NEW DOCUMENTATION WEBSITE IS NOW LIVE! 🤘

Visit ranaroussi.github.io/yfinance


Main components

  • Ticker: single ticker data
  • Tickers: multiple tickers' data
  • download: download market data for multiple tickers
  • Market: get information about a market
  • WebSocket and AsyncWebSocket: live streaming data
  • Search: quotes and news from search
  • Sector and Industry: sector and industry information
  • EquityQuery and Screener: build query to screen market

Installation

Install yfinance from PYPI using pip:

$ pip install yfinance

To install without curl_cffi for requests fallback, see Advanced ▸ Installation.

yfinance relies on the community to investigate bugs and contribute code. Here's how you can help.


Star History Chart


yfinance is distributed under the Apache Software License. See the LICENSE.txt file in the release for details.

AGAIN - yfinance is not affiliated, endorsed, or vetted by Yahoo, Inc. It's an open-source tool that uses Yahoo's publicly available APIs, and is intended for research and educational purposes. You should refer to Yahoo!'s terms of use (here, here, and here) for details on your rights to use the actual data downloaded.


P.S.

Please drop me a note with any feedback you have.

Ran Aroussi

S
Description
yfinance + yfin CLI (49-tool catalog, single-binary CLI, output schemas, learnings)
Readme 8.1 MiB
Languages
Python 100%