Pinnacle odds API
Pinnacle prices as structured JSON through one REST API.
Pinnacle is a sportsbook with the bookmaker key pinnacle. SockOdds is independent and is not affiliated with or endorsed by Pinnacle.
Leagues
Pinnacle prices are delivered for 10 leagues as of 30 October 2026: Bundesliga, UEFA Champions League, English Premier League, La Liga, Ligue 1, MLS, NBA, NFL, NHL and Serie A.
Request Pinnacle prices
Filter any odds request to Pinnacle with bookmakers=pinnacle:
curl -sS "https://api.sockodds.com/v1/odds?league=champions_league&bookmakers=pinnacle&markets=result&limit=1&starts_after=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-H "Authorization: Bearer $SOCKODDS_API_KEY"const response = await fetch(`https://api.sockodds.com/v1/odds?league=champions_league&bookmakers=pinnacle&markets=result&limit=1&starts_after=${new Date().toISOString().slice(0, 19)}Z`, {
headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));import json, os, urllib.request
from datetime import datetime, timezone
request = urllib.request.Request(
f"https://api.sockodds.com/v1/odds?league=champions_league&bookmakers=pinnacle&markets=result&limit=1&starts_after={datetime.now(timezone.utc):%Y-%m-%dT%H:%M:%SZ}",
headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
print(json.dumps(json.load(response), indent=2))Response from a local copy of the API with invented test prices
{
"data": [
{
"id": "ev_000ckk0smee8",
"name": "AEK Athens v Arsenal",
"league": {
"key": "champions_league",
"name": "UEFA Champions League"
},
"scheduled_start": "2026-10-16T11:00:00.000Z",
"status": "scheduled",
"participants": [
{
"role": "away",
"identity": {
"key": "arsenal",
"name": "Arsenal"
}
},
{
"role": "home",
"identity": {
"key": "aek_athens",
"name": "AEK Athens"
}
}
],
"markets": [
{
"id": "mk_vjvmez58jfetd1be",
"key": "result",
"name": "Result (with the draw)",
"period": "full",
"subject": null,
"alternate": false,
"outcomes": [
{
"id": "oc_75k6atpa3cjb6f74",
"name": "AEK Athens",
"side": "home",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 2.11,
"implied_probability": 0.473934,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_x3qrjm8h7jjzfsrc",
"name": "Draw",
"side": "draw",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 3.5,
"implied_probability": 0.285714,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
},
{
"id": "oc_h4xvrq67kdmrm180",
"name": "Arsenal",
"side": "away",
"line": null,
"prices": [
{
"bookmaker": "pinnacle",
"decimal_odds": 3.71,
"implied_probability": 0.269542,
"available": true,
"observed_at": "2026-10-15T07:58:00.000Z"
}
]
}
]
}
]
}
],
"meta": {
"count": 1,
"cursor": null
},
"links": {
"next": null
}
}Plans
Pinnacle is included on Pro. See pricing for the bookmakers each plan includes.