finyahoo
English | 한국어
Read prices and fundamentals from Yahoo Finance.
Daily, weekly, and monthly open/high/low/close and volume, the adjusted close, dividends and splits, company fundamentals (sector, market cap, valuation, ...), live quotes, options, screeners, and news.
1. Install
pip install finyahoo
Requires Python 3.11+.
2. Quickstart
from finyahoo import YahooClient
yahoo = YahooClient()
history = yahoo.fetch_history("AAPL", start="2020-01-01")
latest = history.bars[-1]
print(latest.trade_date, latest.close, latest.adj_close, latest.volume)
print(len(history.splits), "splits,", len(history.dividends), "dividends")
profile = yahoo.fetch_profile("AAPL")
print(profile.sector, profile.market_cap, profile.trailing_pe)
Symbols are Yahoo tickers: a US stock is bare (AAPL), a Korean one carries the
market suffix (005930.KS KOSPI, .KQ KOSDAQ), an index is caret-prefixed
(^GSPC). A delisted or unknown ticker raises YahooRequestError, not an empty
result.
3. Client options
YahooClient takes two optional keyword-only settings:
| argument | default | what it does |
|---|---|---|
timeout |
30.0 |
per-request timeout, in seconds |
delay_seconds |
0.5 |
pause between consecutive requests; raise it if reading many symbols in a row runs into rate limits |
yahoo = YahooClient(timeout=10, delay_seconds=1.0)
4. Methods
| method | returns |
|---|---|
fetch_history(symbol, *, start, end, timeframe) |
PriceHistory — OHLCV bars + Split/Dividend events |
fetch_profile(symbol) |
Profile — current fundamentals snapshot for one symbol |
fetch_quotes(symbols) |
tuple[Quote] — live price snapshot per symbol |
fetch_search(query, *, quotes_count, news_count) |
Search — symbol matches + related news |
fetch_timeseries(symbol, metric_types, *, start, end) |
tuple[FinancialSeries] — dated financial line items |
fetch_spark(symbols, *, period, interval) |
tuple[Spark] — compact close series per symbol |
fetch_options(symbol, *, expiration) |
OptionChain — calls/puts for one expiration |
fetch_recommendations(symbol) |
tuple[Recommendation] — similar symbols |
fetch_insights(symbol) |
Insights — analyst target, valuation, outlooks, reports |
fetch_screener(screen_id, *, page_size) |
Screen — a predefined screen's members (as Quotes) |
The two core reads
fetch_history— aPriceHistory: OHLCV bars (closesplit-adjusted,adj_closealso dividend-adjusted), plus theSplitandDividendevents that fell in the same span, carried as data. Both bounds inclusive; both default to the widest window Yahoo has.fetch_profile— aProfile: one symbol's fundamentals (sector, size, valuation, growth, margins). A snapshot as of now, not history; every numeric field is optional and a missing one isNone, never0.
5. DataFrames
Every result record is a dataclass, so pandas or polars tabulates it directly:
import pandas as pd
prices = pd.DataFrame(history.bars).set_index("trade_date")
import polars as pl
prices = pl.DataFrame(history.bars)
The same works for history.splits, history.dividends, a screen's members, or a
fetch_quotes(...) result.
6. Command line
Installing the package puts a finyahoo command on PATH (also python -m finyahoo):
finyahoo history AAPL --start 2024-01-01 # OHLCV bars + split/dividend events
finyahoo history ^GSPC --timeframe week # weekly bars for an index
finyahoo profile AAPL # current fundamentals
finyahoo profile 005930.KS --json # full snapshot as JSON
finyahoo quote MU # live price snapshot for one symbol
finyahoo news MSFT # related news headlines for one symbol
finyahoo match Microsoft # Yahoo symbols matching a name or ticker
Each subcommand prints a readable summary by default and the full result with --json;
--help on any of them (finyahoo quote --help) lists the flags. quote takes one
symbol and prints its live price snapshot; profile prints that symbol's fundamentals;
news lists a symbol's related headlines and match resolves a name or ticker to Yahoo
symbols (both take -n/--count).
Example output
finyahoo history AAPL -- a one-line summary then the most recent bars:
AAPL 11498 bars (5 splits, 91 dividends)
2026-07-23 close 321.6600 adj 321.6600 vol 40,840,800
2026-07-24 close 333.0200 adj 333.0200 vol 47,489,400
2026-07-27 close 336.9100 adj 336.9100 vol 49,604,300
2026-07-28 close 340.0800 adj 340.0800 vol 51,859,000
2026-07-29 close 338.1900 adj 338.1900 vol 55,929,000
finyahoo profile AAPL -- the company fundamentals:
symbol AAPL
name Apple Inc.
sector Technology
industry Consumer Electronics
currency USD
market_cap 4967117094912
shares_outstanding 14687356000
trailing_pe 40.99273
forward_pe 35.059658
price_to_book 46.58264
trailing_eps 8.25
revenue_growth 0.166
earnings_growth 0.218
profit_margin 0.27152002
operating_margin 0.32275
return_on_equity 1.4147099
fifty_two_week_high 344.57
fifty_two_week_low 201.5
beta 1.097
finyahoo quote AAPL -- the live price snapshot:
symbol AAPL
name Apple Inc.
quote_type EQUITY
exchange NasdaqGS
currency USD
market_state PRE
price 338.19
previous_close 340.08
change -1.88998
change_percent -0.555747
day_open 339.69
day_high 344.5699
day_low 337.3501
volume 48852885
market_time 2026-07-29 20:00:01+00:00
pre_market_price 336.21
pre_market_change -1.980011
pre_market_change_percent -0.58547294
pre_market_time 2026-07-30 13:20:11+00:00
fifty_day_average 308.5888
two_hundred_day_average 277.21344
finyahoo news MSFT -- related headlines, most recent first (-n caps how many):
2026-07-30 17:30 (Yahoo Finance Video) Meta's & Microsoft's massive AI spending: Why only one is getting rewarded
https://finance.yahoo.com/video/metas-microsofts-massive-ai-spending-173000471.html
2026-07-30 17:29 (MT Newswires) OpenAI Reducing Price of GPT-5.6 Luna Model by 80%
https://finance.yahoo.com/technology/ai/articles/openai-reducing-price-gpt-5-172908415.html
2026-07-30 17:28 (MT Newswires) Sector Update: Tech Stocks Sharply Higher Thursday Afternoon
https://finance.yahoo.com/markets/stocks/articles/sector-tech-stocks-sharply-higher-172836223.html
finyahoo match Microsoft -- the Yahoo symbols a name or ticker resolves to, ranked:
MSFT EQUITY NASDAQ Technology Microsoft Corporation
MSF.DE EQUITY XETRA Technology MICROSOFT CORP. R
MSF.F EQUITY Frankfurt Technology MICROSOFT CORP. R
MSFTX-USD CRYPTOCURRENCY CCC None Microsoft tokenized stock (xStock) USD
MSFT34.SA EQUITY São Paulo Technology MICROSOFT DRN
MSFT01.BK EQUITY SET Technology MSFT01_DR MSFT#BLS
7. Use it from an AI coding agent
This repo doubles as a plugin marketplace for Claude Code and Codex, exposing
history, profile, and quote as skills that shell out to the finyahoo command —
so install the package first (above); no key or login is involved.
7.1. Claude Code
/plugin marketplace add seokhoonj/finyahoo
/plugin install finyahoo@finyahoo
Then ask in plain words ("show AAPL's profile", "what's MU trading at?"), or invoke a
skill explicitly — /finyahoo:history ^GSPC, /finyahoo:profile AAPL,
/finyahoo:quote MU.
7.2. Codex
codex plugin marketplace add seokhoonj/finyahoo
codex plugin add finyahoo@finyahoo
The history / profile / quote skills trigger on a symbol, or run
finyahoo quote <symbol> directly.
Prefer no plugin? Symlink a skill into your skills directory and call it bare (/history):
ln -s "$PWD/plugins/finyahoo/skills/history" ~/.claude/skills/history
8. License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finyahoo-0.3.0.tar.gz.
File metadata
- Download URL: finyahoo-0.3.0.tar.gz
- Upload date:
- Size: 63.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bc6ecafc0f2c412f6c77a93f7654256e9b7be011d7f1a959e50160ebe71d21d
|
|
| MD5 |
04fe4e3e5db345385e383d6076b39434
|
|
| BLAKE2b-256 |
c8131aef84de195bb9c87c42aefbd691ee013c0127bc0b39979763b49e8220e6
|
Provenance
The following attestation bundles were made for finyahoo-0.3.0.tar.gz:
Publisher:
publish.yml on seokhoonj/finyahoo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
finyahoo-0.3.0.tar.gz -
Subject digest:
5bc6ecafc0f2c412f6c77a93f7654256e9b7be011d7f1a959e50160ebe71d21d - Sigstore transparency entry: 2292565999
- Sigstore integration time:
-
Permalink:
seokhoonj/finyahoo@362f290de68ad44f8265e106dbf18dd843791a03 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/seokhoonj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@362f290de68ad44f8265e106dbf18dd843791a03 -
Trigger Event:
release
-
Statement type:
File details
Details for the file finyahoo-0.3.0-py3-none-any.whl.
File metadata
- Download URL: finyahoo-0.3.0-py3-none-any.whl
- Upload date:
- Size: 41.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6738dd822839768b52a52382f77e9a7807aff6e296a140e0e5924ddb6779fac7
|
|
| MD5 |
a6c8fac4b8aa8974ae73c8c4003e5e2f
|
|
| BLAKE2b-256 |
bb401fcbade01ef7b5ad13bf1b07d5ef129b88e594463f602b78bac5045d4043
|
Provenance
The following attestation bundles were made for finyahoo-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on seokhoonj/finyahoo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
finyahoo-0.3.0-py3-none-any.whl -
Subject digest:
6738dd822839768b52a52382f77e9a7807aff6e296a140e0e5924ddb6779fac7 - Sigstore transparency entry: 2292566044
- Sigstore integration time:
-
Permalink:
seokhoonj/finyahoo@362f290de68ad44f8265e106dbf18dd843791a03 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/seokhoonj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@362f290de68ad44f8265e106dbf18dd843791a03 -
Trigger Event:
release
-
Statement type: