非官方 API,支援 CLI、MCP 與 Agent Skill
AI 翻譯
Unofficial API for Yahoo Finance with CLI, MCP and Agent Skill
開發工具HTML · TypeScriptGitHub @gadicc自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Unofficial API for Yahoo Finance with CLI, MCP and Agent Skill.
Copyright (c) 2021 by Gadi Cohen and Pilwon Huh. MIT licensed.
You are reading the docs for v4, the current major version published as
yahoo-finance2@latest. For the older v3 docs, click
here. Upgrading? See
UPGRADING.
Live Demo on CodeSandbox (Updated 2024-06-17; NextJS with both RSC and Hook-Relay examples)
NB: Recently the repo was renamed from node-yahoo-finance2 to
yahoo-finance2, and the following branches were named, master to main,
and devel to dev. See UPGRADING.md#dev for the
git commands to update your local installation.
nodejs_compat.This project is neither created nor endorsed by Yahoo Inc. Yahoo does not provide any official API to developers, nor makes any guarantees regarding service availability or API consistency. In practice however, the open source community has kept this project (and it's predecessor) working well since 2013.
Nevertheless, we make no guarantees and you use this package at your own risk. The developers (and obviously Yahoo) cannot be held responsible for any losses you may incur as a result of using this service. Use of this package is considered acknowledgement and acceptance of these terms and of its license.
CLI (Command line interface)
$ npx yahoo-finance2 --help
$ npx yahoo-finance2 search AMZN
$ npx yahoo-finance2 quoteSummary GOOGL
$ npx yahoo-finance2 quoteSummary NVDA '{"modules":["assetProfile", "secFilings"]}'
# or install it
$ npm install -g yahoo-finance2
$ yahoo-finance search MSFT '{ "someOption": true }'
See the CLI docs for stdout/stderr behavior and exit codes.
See the MCP docs to expose yahoo-finance2 tools to MCP clients such as Codex, Claude, Cursor, and VS Code.
Importing
// or: const YahooFinance = require("yahoo-finance2").default;
import YahooFinance from "yahoo-finance2";
const yahooFinance = new YahooFinance();
const results = await yahooFinance.search("Apple");
const quote = await yahooFinance.quote('AAPL');
const { regularMarketPrice as price, currency } = quote;
Available modules:
chart,
fundamentalsTimeSeries,
historical,
insights,
options,
quote,
quoteSummary
(submodules: assetProfile, balanceSheetHistory, balanceSheetHistoryQuarterly,
calendarEvents, cashflowStatementHistory, cashflowStatementHistoryQuarterly,
defaultKeyStatistics, earnings, earningsHistory, earningsTrend, financialData,
fundOwnership, fundPerformance, fundProfile, incomeStatementHistory,
incomeStatementHistoryQuarterly, indexTrend, industryTrend, insiderHolders,
insiderTransactions, institutionOwnership, majorDirectHolders,
majorHoldersBreakdown, netSharePurchaseActivity, price, quoteType,
recommendationTrend, secFilings, sectorTrend, summaryDetail, summaryProfile,
symbol, topHoldings, upgradeDowngradeHistory),
recommendationsBySymbol,
screener,
search,
trendingSymbols.
Extras:
quoteCombine.
See the Explanatatory Documentation and Full API Documentation.
Particularly, make sure to read the notes there on ERROR HANDLING. Be aware that if a stock gets delisted, Yahoo removes all related data, including historical (and chart) data from periods before the delisting occurred (i.e. queries that worked before will start failing, and there is no way to retrieve this data again).
This repo ships an Agent Skills-compatible skill at
skills/yahoo-finance2. Install it for
compatible agents with:
npx skills add gadicc/yahoo-finance2
The npm package also includes the skill under skills/yahoo-finance2 for tools
that sync skills from installed packages.
Working with yahoo-finance2 is a joy if you're using TypeScript (but you don't
have to), with type checking and auto completion:
Try it yourself on our Live CodeSandbox.
It's not possible to run this in the browser, due to CORS and cookie issues. You should execute calls on a server or in a serverless or edge function, and pass this data to the browser as required. See the CodeSandbox above for examples. Use React Server Components, trpc, or other strategies to maintain types.
📈 Ghostfolio - mature, open-source Wealth Management & longtime supporter.
🛠️ StockQuotes.MCP - AI MCP Server to fetch real time financial data.
⚡ live-quotes - Demo to showcase running yahoo-finance2 in cloudflare workers with live quotes.
🦊 Foliofox - Open-source portfolio tracker with an AI financial advisor.
Want your project listed? Open a PR to add it here.
Pull Requests welcome! Read CONTRIBUTING.md and join our list of heroes:
Massive thanks to @pilwon for the original node-yahoo-finance and for all our prior collaborations on this and other projects 🙏
Special mention goes out to pudgereyem and PythonCreator27 who made significant contributions in the very early days of this project.