回答 · Python · REST
Pythonでピナクルのオッズを取得する(REST)
回答: pip install requestsを実行し、PINNFEED_KEYを設定して、x-api-keyヘッダー付きでGET https://pinnfeed.io/v1/oddsを呼び出します。無料プランならすぐに動きます(30秒遅延、2競技)。Builderでメモリ上にライブの板を持ちたい場合は、WebSocketクライアント(PythonとNodeのガイド)を使ってください。
約15行でスナップショットを取得#
import os, requests
KEY = os.environ["PINNFEED_KEY"]
r = requests.get(
"https://pinnfeed.io/v1/odds",
params={"sport": "soccer", "market": "moneyline", "main": "true", "limit": 20},
headers={"x-api-key": KEY},
timeout=15,
)
r.raise_for_status()
for ev in r.json().get("events", []):
m = next((x for x in ev["markets"] if x["type"] == "moneyline"), None)
if not m:
continue
prices = {o["name"]: (o["decimal"], o["fair"]) for o in m["outcomes"]}
print(ev["home"], "v", ev["away"], prices)
ほかに便利なエンドポイント:/v1/sports、/v1/events、/v1/drops、/v1/closing/{id}(Builder以上)。リファレンス:RESTドキュメント。
WebSocketを選ぶべきとき#
| 用途 | 使うもの |
|---|---|
| スプレッドシート、cron、分析用のデータ取得 | REST(このページ) |
| スチーム検知ボット、ライブの板、Telegram通知 | WebSocket(ガイド) |
データの次のステップ:pandasのDataFrameにオッズを入れる。
プラン#
無料キー · プッシュ配信はBuilder(月額99ユーロ)。3日間のトライアルがあります。カード登録が必要で、解約しない場合は3日目の後に課金されます。
18歳以上の方を対象とした教育目的のコンテンツです。予想や利益の約束ではありません。日本では刑法により賭博は原則として禁止されています。
よくある質問#
無料プランでWebSocketは必要ですか?#
いいえ。無料プランは意図的にRESTのみです。
ページネーションはどこにありますか?#
一覧系エンドポイントのlimitとoffsetです。RESTドキュメントを参照してください。