关于 google-finance
google-finance 是通过 Google Finance 未公开的内部 RPC 端点获取金融数据的 skill 和命令行工具,无需身份验证。它提供多类市场与公司数据,并说明了位置式响应的风险和严格的速率限制,适用于研究与原型开发。
主要功能
- 01报价及日内或历史 OHLC
- 02公司财务、财报与简介
- 03分析师观点、新闻与同行
- 04全球指数与行业热力图
- 05命令行模式与 RPC 目录
- 06风险提示与故障排查指南
适用场景
- 01获取分钟级数据用于个人研究
- 02比较不同公司的分析师观点
- 03查看全球指数和行业表现
- 04使用缓存数据制作分析原型
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gauss314/ skills --skill google-finance安装后在 Claude Code 中输入/google-finance确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/chunk_layouts.jsonconsent_cookies.jsonrpc_ids.jsonreferences/COOKBOOK.mdLIMITATIONS_TROUBLESHOOTING.mdREFERENCE.mdRESPONSE_FORMAT.mdRPC_IDS.mdscripts/fetch_gfinance.py详细介绍
Google Finance — 通过无认证的内部 API 获取数据
用于从 Google Finance 提取数据的技能,
通过逆向工程发现的 内部 RPC 端点 batchexecute 获取数据——无需 API key,无需认证。
涵盖报价、历史 OHLC(盘中 1 分钟/5 分钟/每日/6 个月)、 批量财务数据、财报、包含个人意见(如 Goldman)的分析师建议、 包含地址和员工人数的公司简介、同行公司、新闻(含缩略图)、 全球指数(Dow/S&P/NASDAQ/VIX/DAX/FTSE/Nikkei) 以及行业热力图。
⚠️ 关键警告——请先阅读
在任何生产场景中使用此技能之前,必须先阅读
references/LIMITATIONS_TROUBLESHOOTING.md。
四项主要警告速览
- 🚨 非官方 API——Google 可能会重命名 RPC、修改布局、 添加认证,或在不事先通知的情况下关闭端点。
- 🚨 布局没有键——响应是位置数组。如果 Google 重新排列字段,你可能会在没有明显错误的情况下读取错误数据。
- 🚨 限流非常严格——请求速率超过 5 req/s 可能导致 IP 被封锁数小时。 建议:请求之间 sleep ≥ 0.5s。
- 🚨 不保证持续可用——如果要构建重要应用, 请准备其他数据提供商作为备用(Yahoo Finance、TradingView、Finnhub)。
不要使用此技能的场景
- 在生产环境中进行涉及关键决策的交易(应使用官方数据源)。
- 向用户提供数据的公开应用。
- 请求量超过 10k requests/día(存在 IP 被永久封锁的风险)。
- 将数据作为自己的数据重新分发(违反 Google 的使用条款)。
适合使用此技能的场景
- 个人研究和原型开发。
- 使用本地缓存进行回测。
- 与其他数据提供商进行交叉比较分析。
- 需要 Google 独有数据的场景(免费的盘中 1 分钟数据、 分析师个人意见的详细信息)。
🚀 快速开始
# Quote basico
py scripts/fetch_gfinance.py quote GGAL:NASDAQ
py scripts/fetch_gfinance.py quote AAPL:NASDAQ
py scripts/fetch_gfinance.py quote GGAL:BCBA # mercado argentino
# Intraday del dia actual
py scripts/fetch_gfinance.py intraday-5min AAPL:NASDAQ
py scripts/fetch_gfinance.py intraday-1min GGAL:NASDAQ
# Daily historico
py scripts/fetch_gfinance.py daily-6m AAPL:NASDAQ
# Indices globales (Dow, S&P, NASDAQ, VIX, DAX, FTSE, Nikkei...)
py scripts/fetch_gfinance.py indices
# Analyst recommendations + opinions individuales
py scripts/fetch_gfinance.py analysts NVDA:NASDAQ
# Todo en uno (6 requests pipelinadas)
py scripts/fetch_gfinance.py all GGAL:NASDAQ
技能结构
skills/google-finance/
├── SKILL.md # Este archivo
├── references/ # 5 documentos
│ ├── REFERENCE.md # Overview general + batchexecute
│ ├── RPC_IDS.md # Catalogo de los 14+ RPC IDs
│ ├── RESPONSE_FORMAT.md # Parser deep dive del wrb.fr protocol
│ ├── LIMITATIONS_TROUBLESHOOTING.md # ⚠️ Warnings, plan B, debugging
│ └── COOKBOOK.md # 25 recetas listas
├── assets/ # 3 archivos JSON
│ ├── rpc_ids.json # Catalogo estructurado de RPCs + args
│ ├── chunk_layouts.json # Layouts posicionales de los arrays
│ └── consent_cookies.json # Cookies de bypass del consent
└── scripts/
└── fetch_gfinance.py # Script principal — 19 modos CLI
提供 19 种 CLI 模式
按标的代码查询
| 模式 | 数据 | RPC ID |
|---|---|---|
quote SYM | 价格 + 涨跌 + 货币 + 市场交易时段 | gCvqoe |
quote-full SYM | 报价 + 行业 + 市值 + 成交量 | dlNq8b |
description SYM | 简介 + 地址 + 员工人数 + 比率 + URL | JL8oKc |
peers SYM | 相关股票(默认 4 个,可通过 --peers-count 控制) | SICF5d |
analysts SYM | 建议摘要 + 分析师个人意见 | YTM9q |
earnings SYM | 多周期财报历史 | XxQsbd |
technicals SYM | 技术评级(类似 TradingView Recommend.*) | gXxkFd |
financials SYM | 损益表 + 资产负债表 + 现金流,约 22 KB,多周期 | Pr8h2e |
intraday-1min SYM | 当日 1 分钟 OHLC(约 30 KB) | c2u4wc |
intraday-5min SYM | 5 分钟 OHLC,包含完整 OHLC 数据(约 5 KB) | c2u4wc |
daily SYM | 最近一个月的每日 OHLC(约 22 天) | c2u4wc |
daily-6m SYM | 最近约 6 个月的每日 OHLC | c2u4wc |
news SYM | 标的专属新闻 | kA4MVd |
news-related SYM | 全球新闻(包含查询中的相关标的代码) | kA4MVd |
全局数据(无需标的代码)
| 模式 | 数据 | RPC ID |
|---|---|---|
indices | 全球指数:Dow、S&P、NASDAQ、VIX、DAX、FTSE、Nikkei 等 | hgueg |
sectors | 股票行业热力图(医疗保健、科技等) | vNewwe |
本地目录(无需 HTTP)
| 模式 | 数据 |
|---|---|
rpcs | RPC ID 目录,含参数模板和说明 |
layouts | 嵌套数组的位置布局 |
cookies | 用于绕过同意页面的 Cookie |
组合模式
| 模式 | 数据 |
|---|---|
all SYM | 报价 + 简介 + 分析师 + 财务数据 + 每日数据 + 新闻(6 次请求) |
符号格式
| 位置 | 格式 | 示例 |
|---|---|---|
| 美股代码 | TICKER:NASDAQ 或 TICKER:NYSE | AAPL:NASDAQ、JPM:NYSE |
| 阿根廷 ADR | TICKER:NASDAQ 或 TICKER:NYSE | GGAL:NASDAQ、BBAR:NYSE |
| BCBA 代码(阿根廷本地) | TICKER:BCBA | GGAL:BCBA、YPFD:BCBA |
| 巴西 B3 | TICKER:BMFBOVESPA | PETR4:BMFBOVESPA |
| 西班牙 BME | TICKER:BME | SAN:BME |
| 德国 Xetra | TICKER:XETR | SAP:XETR |
| 指数 | IDX:INDEXSP/DJX/NASDAQ/CBOE | .INX:INDEXSP、.DJI:INDEXDJX |
脚本也接受反向顺序(
NASDAQ:GGAL)——会自动检测 交易所。但 Google 的标准格式是TICKER:EXCHANGE。
相较于仓库中其他 skills 的独特优势
| 功能 | Google Finance | TradingView | Yahoo | Finnhub |
|---|---|---|---|---|
| 无需认证 | ✅ | ✅ | ✅ | 免费增值 |
| 公开免费的 1 分钟 OHLC 日内数据 | ✅ 唯一 | ❌(付费) | ⚠️ 有限 | ⚠️ 付费 |
| 完整的 5 分钟 OHLC 数据 | ✅ | ❌ | ⚠️ | ⚠️ |
| 一次调用获取全球指数(Dow+S&P+NASDAQ+VIX+DAX+FTSE+Nikkei...) | ✅ 唯一 | ⚠️ 逐个获取 | ⚠️ | ⚠️ |
| 单个分析师观点详情(姓名、公司、目标价、日期) | ✅ 唯一 | ⚠️ 仅汇总 | ⚠️ | ✅ |
| 板块热力图 | ✅ | ⚠️ | ❌ | ❌ |
| 公司描述,含实际地址和员工人数 | ✅ 唯一 | ⚠️ | ⚠️ | ✅ |
| 延迟报价 | ✅ | ✅ | ✅ | ✅ |
| 财务数据 | ✅(约 22 KB) | ✅ | ✅ | ✅ |
| 带缩略图的新闻 | ✅ | ✅ | ✅ | ✅ |
何时选择 Google Finance 而非 TradingView
- 需要免费的 1 分钟 OHLC 日内数据。
- 需要包含分析师姓名、公司、目标价和日期的单个分析师观点详情。
- 需要获取阿根廷公司的实际地址。
- 需要通过一次调用获取全球指数(Dow+S&P+NASDAQ+VIX+DAX+FTSE+Nikkei)。
何时选择 TradingView 而非 Google Finance
- 需要使用类似 SQL 的筛选条件进行大规模筛选。
- 需要获取符号的 ISIN/CUSIP/CIK(Symbol Search v3)。
- 需要预先计算的技术指标(RSI/MACD/EMAs/枢轴点)。
- 需要稳定性——TV 比 Google Finance 稳定得多。
技术注意事项
端点
POST https://www.google.com/finance/beta/_/FinHubUi/data/batchexecute?rpcids={RPC_ID}
必需的 Headers
已在脚本中配置:
HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"X-Same-Domain": "1", # CRITICO
"Origin": "https://www.google.com",
"Referer": "https://www.google.com/finance/...",
}
绕过限制所需的 Cookies
脚本会自动传递:
COOKIES = {
"CONSENT": "PENDING+999",
"SOCS": "CAESHAgBEhJnd3NfMjAyNTAxMjMtMF9SQzMaAmVuIAEaBgiAvLW8Bg",
}
如果失效,请参阅 LIMITATIONS_TROUBLESHOOTING.md 第 6 节, 以获取新的 Cookies。
响应格式(wrb.fr)
响应使用 Google 的 wrb.fr 协议(XSSI 前缀 + 双重序列化的 JSON)。
脚本包含用于处理该格式的 parse_wrbfr()。
详情请参阅 RESPONSE_FORMAT.md。
速率限制
⚠️ 限制严格。建议:
- 请求间隔至少 0.5 秒。
- 每天少于 1k 次请求,以免触发 IP 封锁。
- 未采取预防措施时,不要在 CI 中使用(云 IP 已列入黑名单)。
输出
- 默认:将 JSON 输出到 stdout。
-o archivo.json:保存到文件(UTF-8,ensure_ascii=False)。-q:静默模式(不输出 INFO 日志)。--raw:返回原始响应,不从 wrb.fr 数组中提取内容。
错误处理
脚本会捕获 requests.HTTPError 并显示响应正文以供调试。
如果端点停止工作,会提示你查看 LIMITATIONS_TROUBLESHOOTING.md。
常见用例——快速示例
COOKBOOK.md 中有 25 个完整示例。
# Quote rapido
py scripts/fetch_gfinance.py quote GGAL:NASDAQ -q
# Stock argentino BCBA
py scripts/fetch_gfinance.py quote GGAL:BCBA -q
# Indices globales del dia
py scripts/fetch_gfinance.py indices -q
# Intraday 5-min con OHLC completo
py scripts/fetch_gfinance.py intraday-5min AAPL:NASDAQ -o aapl_5min.json
# Daily ultimos 6 meses
py scripts/fetch_gfinance.py daily-6m AAPL:NASDAQ -o aapl_6m.json
# Analyst recommendations + opinions individuales
py scripts/fetch_gfinance.py analysts NVDA:NASDAQ -q
# Comparar empresa con peers
py scripts/fetch_gfinance.py peers GGAL:NASDAQ --peers-count 5 -q
# Todo-en-uno (snapshot completo)
py scripts/fetch_gfinance.py all GGAL:NASDAQ -o ggal_complete.json
完整文档
| 文档 | 内容 |
|---|---|
references/REFERENCE.md | 总览 + batchexecute 深入解析 |
references/RPC_IDS.md | 14+ 个 RPC ID 的详细目录,包含参数和输出 |
references/RESPONSE_FORMAT.md | wrb.fr 解析器深入解析(XSSI、双重 JSON、边缘情况) |
references/LIMITATIONS_TROUBLESHOOTING.md | ⚠️ 警告、调试,以及使用替代服务提供商的备用方案 |
references/COOKBOOK.md | 25 个可直接复制粘贴的示例 |
assets/rpc_ids.json | RPC 目录,包含参数模板和说明 |
assets/chunk_layouts.json | 每个数组的位置布局(哪个索引对应哪个字段) |
assets/consent_cookies.json | 用于绕过 consent screen 的 Cookie |
灵感与致谢
此 skill 基于对
google.com/finance/beta/quote/GGAL:NASDAQ HTML 的研究构建,
通过该研究识别出采用 “Wiz” 系统的 AF_initDataCallback 分块
(Search、Maps、Translate 也使用此系统)。wrb.fr 协议是公开的,且由社区(而非 Google)完善记录。
其他语言的类似实现:
google-finance-quotes(Node.js)—— 使用相同的端点mfinance(Python,采用不同的方法)- 多个用于抓取 finance.google.com 的 OSS 项目
此 skill 的特点:
- 24 种 CLI 模式,涵盖 14+ 个不同的 RPC ID。
- 详尽记录警告和备用方案。
- 结构化目录:RPC 及其位置布局均收录在 assets 中。
- 健壮的 wrb.fr 解析器,可处理所有边缘情况。