google-finance について
google-financeは、Google Financeの非公開内部RPCエンドポイントから認証なしで金融データを取得するスキル兼CLIです。多様な市場・企業データを扱い、位置依存レスポンスのリスクや厳しいレート制限も説明しており、調査や試作向けです。
主な機能
- 01株価と日中・履歴OHLC
- 02企業財務、決算、プロフィール
- 03アナリスト見解、ニュース、同業銘柄
- 04世界の指数とセクターのヒートマップ
- 05CLIモードとRPCカタログ
- 06注意事項とトラブルシューティング
活用シーン
- 01個人調査用に1分足データを取得
- 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 経由データ
リバースエンジニアリングで発見された 内部 RPC エンドポイント batchexecute 経由で、Google Finance からデータを取得するスキルです — API キー不要、認証不要です。
quote、過去の OHLC(intraday 1-min / 5-min / daily / 6-meses)、大量の financials、earnings、個別の意見(Goldman など)を含む analyst recommendations、住所と従業員数を含む企業概要、peers、サムネイル付き news、世界の indices(Dow/S&P/NASDAQ/VIX/DAX/FTSE/Nikkei)、sectors heatmap に対応しています。
⚠️ 重大な警告 — まずお読みください
このスキルを本番環境で使用する前に、必ず
references/LIMITATIONS_TROUBLESHOOTING.mdをお読みください。
主な4つの警告の概要
- 🚨 非公式 API — Google は予告なく RPC 名の変更、レイアウトの変更、認証の追加、またはエンドポイントの停止を行う可能性があります。
- 🚨 キーのないレイアウト — レスポンスは位置ベースの配列です。Google がフィールドを並べ替えると、エラーが表示されないまま誤ったデータを読み取ることになります。
- 🚨 非常に厳しいレート制限 — 5 req/s を超えると、IP が数時間ブロックされる可能性があります。リクエスト間に ≥ 0.5s の sleep を入れることを推奨します。
- 🚨 継続性の保証なし — 重要なものを構築する場合は、別のプロバイダー(Yahoo Finance、TradingView、Finnhub)によるフォールバックを用意してください。
このスキルを使用しない場合
- 重要な判断を伴う本番環境での取引(公式フィードを使用してください)。
- ユーザーにデータを提供する公開アプリケーション。
- 1 日あたり 10k requests を超える場合(IP が恒久的にブロックされるリスクがあります)。
- データを自分のものとして再配布する場合(Google の利用規約に抵触します)。
このスキルを使用する場合
- 個人的な調査やプロトタイプ。
- ローカルキャッシュを使ったバックテスト。
- 他のプロバイダーとのクロス比較分析。
- Google 独自のデータが重要となるケース(無料の intraday 1-min、個別の analyst opinions の詳細)。
🚀 クイックスタート
# 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 | Quote + 業種 + 時価総額 + 出来高 | dlNq8b |
description SYM | 概要 + 住所 + 従業員数 + 比率 + URL | JL8oKc |
peers SYM | 関連銘柄(デフォルトは4件、--peers-count で変更可能) | SICF5d |
analysts SYM | 推奨の概要 + 個別の意見 | YTM9q |
earnings SYM | 複数期間の earnings 履歴 | XxQsbd |
technicals SYM | テクニカル評価(TradingView Recommend.* に類似) | gXxkFd |
financials SYM | 複数期間の Income + Balance + Cashflow(約22 KB) | Pr8h2e |
intraday-1min SYM | 当日の OHLC 1-min(約30 KB) | c2u4wc |
intraday-5min SYM | 完全な OHLC を含む OHLC 5-min(約5 KB) | c2u4wc |
daily SYM | 直近1か月の日次 OHLC(約22日分) | c2u4wc |
daily-6m SYM | 過去約6か月の日次 OHLC | c2u4wc |
news SYM | シンボル固有の news | kA4MVd |
news-related SYM | 関連シンボルを含む、クエリに関するグローバルな news | kA4MVd |
グローバル(シンボルなし)
| モード | データ | RPC ID |
|---|---|---|
indices | 世界の indices:Dow、S&P、NASDAQ、VIX、DAX、FTSE、Nikkei など | hgueg |
sectors | 株式セクターの heatmap(Health Care、Tech など) | vNewwe |
ローカルカタログ(HTTP 不使用)
| モード | データ |
|---|---|
rpcs | 引数テンプレートと説明を含む RPC ID のカタログ |
layouts | ネストされた配列の位置ベースのレイアウト |
cookies | 同意画面をバイパスするための Cookie |
組み合わせ
| モード | データ |
|---|---|
all SYM | quote + description + analysts + financials + daily + news(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です。
このリポジトリの他のスキルとの独自の差別化ポイント
| 特徴 | Google Finance | TradingView | Yahoo | Finnhub |
|---|---|---|---|---|
| 認証不要 | ✅ | ✅ | ✅ | フリーミアム |
| 無料公開の OHLC 1 分足イントラデイデータ | ✅ 唯一 | ❌(有料) | ⚠️ 制限あり | ⚠️ 有料 |
| 完全な OHLC 5 分足データ | ✅ | ❌ | ⚠️ | ⚠️ |
| 1 回の呼び出しでグローバル指数を取得(Dow+S&P+NASDAQ+VIX+DAX+FTSE+Nikkei...) | ✅ 唯一 | ⚠️ 個別に取得 | ⚠️ | ⚠️ |
| アナリストの意見の個別詳細(氏名、企業、目標価格、日付) | ✅ 唯一 | ⚠️ 集計のみ | ⚠️ | ✅ |
| セクターのヒートマップ | ✅ | ⚠️ | ❌ | ❌ |
| 企業の説明(所在地住所+従業員数) | ✅ 唯一 | ⚠️ | ⚠️ | ✅ |
| 遅延株価情報 | ✅ | ✅ | ✅ | ✅ |
| 財務情報 | ✅(約 22 KB) | ✅ | ✅ | ✅ |
| サムネイル付きニュース | ✅ | ✅ | ✅ | ✅ |
Google Finance を TradingView より優先して使う場合
- 無料で OHLC の 1 分足イントラデイデータが必要な場合。
- アナリストの意見について、担当者、目標価格、日付を含む個別の詳細が必要な場合。
- アルゼンチン企業の所在地住所が必要な場合。
- 1 回の呼び出しでグローバル指数(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 = {
"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/...",
}
バイパス用 Cookie
スクリプトが自動的に渡します:
COOKIES = {
"CONSENT": "PENDING+999",
"SOCS": "CAESHAgBEhJnd3NfMjAyNTAxMjMtMF9SQzMaAmVuIAEaBgiAvLW8Bg",
}
機能しなくなった場合は、LIMITATIONS_TROUBLESHOOTING.md のセクション 6を参照して、新しい Cookie を取得してください。
レスポンス形式(wrb.fr)
レスポンスでは Google の wrb.fr プロトコル(XSSI プレフィックス+二重にシリアライズされた JSON)が使われます。スクリプトにはこれを処理する parse_wrbfr() が用意されています。
詳細は RESPONSE_FORMAT.md を参照してください。
レート制限
⚠️ 厳格です。次の設定を推奨します:
- リクエスト間に 0.5 秒以上のスリープを入れます。
- IP ブロックを引き起こさないよう、1 日あたり 1,000 リクエスト未満にします。
- CI からは予防措置なしで使用しないでください(クラウド IP はブラックリストに登録されています)。
出力
- デフォルト:stdout に JSON を出力します。
-o archivo.json:ファイルに保存します(UTF-8、ensure_ascii=False)。-q:サイレントモード(INFO ログなし)。--raw:wrb.fr 配列から抽出せず、生のレスポンスを返します。
エラー処理
スクリプトは requests.HTTPError を捕捉し、デバッグ用に本文を表示します。
エンドポイントが機能しなくなった場合は、LIMITATIONS_TROUBLESHOOTING.md を参照するよう案内します。
よくあるケース — クイックレシピ
完全なレシピ 25 件は COOKBOOK.md を参照してください。
# 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 | ⚠️ 警告、デバッグ、代替プロバイダーを使ったプラン B |
references/COOKBOOK.md | コピー&ペーストですぐに使える 25 のレシピ |
assets/rpc_ids.json | 引数のテンプレートと説明を含む RPC カタログ |
assets/chunk_layouts.json | 各配列の位置レイアウト(どのインデックスがどのフィールドか) |
assets/consent_cookies.json | 同意画面を回避するための Cookie |
着想とクレジット
このスキルは、google.com/finance/beta/quote/GGAL:NASDAQ の HTML を調査し、
「Wiz」システム(Search、Maps、
Translate でも使われている)を備えた AF_initDataCallback チャンクを特定して作成されました。wrb.fr プロトコルは公開されており、コミュニティによって十分に文書化されています(Google によるものではありません)。
他の言語での類似実装:
google-finance-quotes(Node.js) — 同じエンドポイントを使用mfinance(Python、異なるアプローチ)- finance.google.com をスクレイピングする複数の OSS プロジェクト
このスキルの特徴:
- 異なる 14 件以上の RPC ID に対応する 24 の CLI モード。
- 警告とプラン B を網羅したドキュメント。
- RPC と位置レイアウトをまとめた構造化カタログを assets に収録。
- すべてのエッジケースに対応する、堅牢な wrb.fr パーサー。