回答 · curl · OpenAPI
ピナクルオッズAPIのcurlレシピ集
回答: x-api-key: $PINNFEED_KEYヘッダーを付けてhttps://pinnfeed.ioにcurlを送ります。最新の仕様は/openapi.jsonです。Free(0ユーロ、30秒遅延、2競技)で、クロージングオッズ(Builder以上)を除く以下のすべてのパスを試せます。
準備#
export PINNFEED_KEY="ps_live_..."
alias pf='curl -sS -H "x-api-key: $PINNFEED_KEY" -H "accept: application/json"'
アカウントと競技#
pf https://pinnfeed.io/v1/account | jq .
pf https://pinnfeed.io/v1/sports | jq '.sports[] | {id,slug,inPlan,live,prematch}'
イベントとオッズ(ページング)#
# 今後のサッカーのマネーライン(メインライン)
pf "https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=20" | jq '.events | length'
# 次のページ
pf "https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=20&offset=20" | jq .
# 1チーム(ホーム、アウェイ、リーグ名の部分一致)
pf "https://pinnfeed.io/v1/odds?sport=soccer&q=kawasaki&main=true" | jq .
# 1イベントとその全マーケット
pf "https://pinnfeed.io/v1/events/EVENT_ID?main=true" | jq .
下落とクロージング#
# 直近15分で5%以上下がったオッズ
pf "https://pinnfeed.io/v1/drops?sport=soccer&minutes=15&min_pct=5&limit=50" | jq .
# UTCの1日分のクロージング(Builder以上)
pf "https://pinnfeed.io/v1/closing?date=2026-11-08&sport=soccer&main=true&limit=50" | jq .
よくあるエラー#
| HTTP | 意味 |
|---|---|
| 400 | invalid_filter:不明な競技やマーケット |
| 401 | x-api-keyがない、または無効 |
| 403 | プランに含まれないリソース(例:Freeで/v1/closing) |
| 429 | rate_limited(Retry-After付き)またはdaily_quota(Free:1日1,000回) |
ポーリングではなくプッシュにするなら、Builder(月額99ユーロ)でPythonのWebSocket例を。3日間の無料トライアルにはカード登録が必要で、解約しない場合は3日目の後に課金されます。18歳以上の方を対象とした教育目的のコンテンツです。
よくある質問#
Freeプランでcurlは使えますか?#
/v1/account、/v1/sports、/v1/events、/v1/odds、/v1/dropsは使えます(30秒遅延、2競技、1日1,000リクエスト)。クロージングはBuilderかProが必要です。
コマンドラインからWebSocketは?#
curlでは扱えません。wscatを使ってください:wscatの手順。
OpenAPIファイルはどこですか?#
https://pinnfeed.io/openapi.jsonです。Postman、Insomnia、openapi-generatorに読み込めます。