ピナクルのオッズをリアルタイムで、WebSocketで
PinnFeedは、プログラムを書く方のためのピナクル(Pinnacle)オッズAPIです。1本のWebSocketが最初にスナップショットを送り、その後は変化した部分だけを送ります。スポーツ・リーグ・マーケットでサーバー側で絞り込むことができ、各ラインにはマージンを除いたフェアオッズが付き、クロージング価格も保存されます。ピナクルのアカウントは不要です。
PinnFeedは、ピナクルのオッズをリアルタイムで提供するセルフサービス型のAPIです。正規化されたWebSocket(Builder 月額99ユーロ)とREST、マージンなしのフェアオッズ、クロージングオッズの履歴、13競技、ホスト型MCPサーバーをご利用いただけます。Free 0ユーロ(REST、30秒遅延)、Hobby 月額29ユーロ(RESTのみ)、Pro 月額199ユーロ。有料プランは3日間の無料トライアル付きです。2026年11月9日時点で、Builderは当社が確認した中で、ライブとプレマッチの両方に対応したピナクルオッズWebSocketとして月次または年次課金で最も低い公開料金でした(出典)。
- WebSocketプラン
- Builder · 月額99ユーロ · 接続3本 · ライブ+プレマッチ · 全13競技
- その他のプラン
- Free 0ユーロ · Hobby 月額29ユーロ(WSなし) · Pro 月額199ユーロ · Enterprise 個別見積もり
- トライアル
- Hobby、Builder、Proで3日間(カード登録が必要)
- 構成
- WebSocket+REST · マージンなしのフェアオッズ · クロージングオッズ · MCP
WebSocketプランはBuilderで、月額99ユーロ(VAT込み)です。リアルタイムのプッシュ、全13競技、全マーケット、クロージングオッズが含まれます。有料プランはすべて3日間の無料トライアルから始まります(カード登録が必要です。解約しない場合は3日目の後に課金されます)。
ブラウザではなく、ボットのために#
再接続、マージルール、オッズ形式の変換、マージンの除去、試合開始の検知など、本来ご自身で書く必要がある処理は当社側で一度だけ行い、きれいなJSONとしてお届けします。
- ポーリングではなくプッシュ。 一度購読すれば差分(デルタ)が届きます。動きのないマーケットにコストはかかりません。
- サーバー側フィルター。 スポーツ、リーグ、イベント、マーケットの種類、ライブかプレマッチかで絞り込めます。必要なものだけが届きます。
- フェアオッズとクロージング。 各マーケットにマージンと、結果ごとの小数フェアオッズが付きます。試合開始時には最後のプレマッチ価格がクロージングオッズとして保存されます。
- 安定したスキーマ。 固定IDのイベントとマーケット、小数・アメリカン形式のオッズ、ライン、ピリオド、最大賭け金、締め切り時刻。
- ホスト型MCP。
/mcpのMCPサーバーにより、Claude、Cursor、Copilot、ChatGPTがお客様のキーでライブオッズ、オッズの急落、クロージングオッズを読み取れます。 - セルフサービスのキー管理。 ダッシュボードからキーの作成・名前変更・無効化、キーごとの利用状況の確認、プラン変更ができます。
対応する13競技:サッカー、テニス、バスケットボール、アイスホッケー、アメリカンフットボール、野球、ラグビー、MMA、ボクシング、バレーボールとハンドボール、eスポーツ、ゴルフ、クリケット。
そのまま動くクライアント#
接続してライブのサッカーを購読すれば、すべての動きが見えます。JSONを使う一般的なWebSocketなので、Python、Node、その他どの言語でも使えます。
# pip install websockets
import asyncio, json, os, websockets
async def main():
async with websockets.connect("wss://pinnfeed.io/v1/stream",
additional_headers={"x-api-key": os.environ["PINNFEED_KEY"]}) as ws:
await ws.send(json.dumps({"type": "subscribe", "sports": ["soccer"], "live": True, "markets": ["moneyline"], "main": True}))
async for raw in ws:
msg = json.loads(raw)
if msg["type"] == "ping":
await ws.send('{"type":"pong"}') # ハートビートに応答しないとサーバーが切断します
elif msg["type"] == "delta":
print(len(msg["changes"]), "changes")
asyncio.run(main())
メモリ上のオッズブックと再接続処理を備えた完全なクライアントは、PythonとNodeのガイドにあります。
最初にスナップショット、その後は変化分だけ#
- スナップショットとデルタ。 購読時に分割されたスナップショットを送り、その後は変化したマーケットだけを更新単位でまとめて送ります。
- 削除は明示的に。 停止・確定したマーケットは
op: "remove"で届くため、古い価格が残ることはありません。 - RESTはソケットと同じ内容。 同じオブジェクトを
GET /v1/oddsで取得でき、cronジョブや過去データの取り込みに使えます。
プッシュとポーリング:計算で比べる#
ポーリングするクライアントは、次のリクエストまで変化に気づけません。平均で間隔の半分、最悪で間隔まるごと遅れ、さらに通信の往復時間が加わります。WebSocketには間隔がありません。これはベンチマークではなく単純な計算なので、ご自身で確かめられます。
| 項目 | WebSocketプッシュ | 5秒ごとのREST | 30秒ごとのREST | 60秒ごとのREST |
|---|---|---|---|---|
| 変化が見えるタイミング | 発生した時点で届く | 次のポーリング時 | 次のポーリング時 | 次のポーリング時 |
| 追加される平均遅延 | なし | 2.5秒 | 15秒 | 30秒 |
| 追加される最大遅延 | なし | 5秒 | 30秒 | 60秒 |
| 1エンドポイントあたりの1時間のリクエスト数 | 接続1本 | 720 | 120 | 60 |
ネットワーク転送と処理の時間は両方に共通のため、表には含めていません。FreeプランのRESTは意図的に30秒遅延させています。HobbyのRESTとすべてのWebSocketプランはリアルタイムです。
料金#
| プラン | 料金(ユーロ、VAT込み) | 内容 |
|---|---|---|
| Free | 0ユーロ | 30秒遅延のREST、2競技、1リクエスト/秒、1日1,000リクエスト、カード不要 |
| Hobby | 月額29ユーロ | リアルタイムREST、3競技、2リクエスト/秒、WebSocketなし |
| Builder | 月額99ユーロ | WebSocketプラン:接続3本、全13競技、全マーケットとプロップ、REST 10リクエスト/秒、クロージングオッズ |
| Pro | 月額199ユーロ | WebSocket接続10本、30リクエスト/秒、生フレーム |
| Enterprise | 個別見積もり | クロージングアーカイブのエクスポート、SLA、商用ライセンス |
WebSocketの価格についての注記:2026年11月9日時点で、Builderは当社が確認した中で、ピナクルのオッズをライブとプレマッチの両方で配信するWebSocketとして月次または年次課金で最も低い公開料金でした。数値、出典、注意点は料金の詳細ページをご覧ください。すべての上限を見る。
よくある質問#
ピナクルの公開APIはまだ利用できますか?#
ピナクルは2025年7月に、ほとんどのユーザー向けの公開APIを終了しました。PinnFeedは独立したサービスで、ピナクルの価格を正規化したWebSocketとREST APIで開発者に配信しています。ピナクルのアカウントは不要です。
REST APIをポーリングせずにWebSocketを使う理由は何ですか?#
ポーリングするクライアントは次のリクエストまで変化を受け取れないため、平均で間隔の半分だけ遅れます。WebSocketなら、PinnFeedは変化が当社サーバーに届いた時点で、購読内容に合わせて絞り込み、フェアオッズを付けて送信します。WebSocketプランはBuilder(月額99ユーロ)です。
フェアオッズ(マージンなしのオッズ)とは何ですか?#
ピナクルの価格にはマージンが含まれています。当社は乗法的な方法でこれを取り除き、各結果の公正な確率と小数のフェアオッズを返します。計算をしなくても、どのブックメーカーでも最もシャープなラインと比較できます。
無料プランはありますか?#
はい。Freeプランでは2競技のRESTを30秒遅延で、1日1,000リクエストまでカード不要でご利用いただけます。Hobby(月額29ユーロ)はRESTがリアルタイムになり、Builder(月額99ユーロ)ではリアルタイムのWebSocketが加わります。
いつでも解約できますか?#
はい。有料プランはすべて3日間の無料トライアルから始まり(カード登録が必要で、解約しない場合は3日目の後に課金されます)、Stripeによる月額払いです。解約やプラン変更はダッシュボードからワンクリックで行えます。暗号資産のプランは1・3・12か月分の前払いで、自動更新されることはありません。
成人向けのコンテンツですか?#
はい。PinnFeedはデータツールであり、内容は18歳以上の方を対象とした教育目的のものです。ここに予想や利益の約束は一切ありません。責任を持って、合法な地域でのみお楽しみください。