Pinnacle odds API
Pinnacle prices, limits and in-play lines in one JSON shape across all 46 books. One key, one request.
The Pinnacle odds API from OddsLink delivers live Pinnacle sportsbook odds as clean JSON: moneylines, spreads, totals and more, pre-match and in-play. Add the bookmaker key pinnacle to any odds request.
Every Pinnacle price arrives in the same schema as all 46 books, with stable event ids and American or decimal odds. Compare Pinnacle with DraftKings, FanDuel, bet365 and the rest of the market in one call, and start on the free plan.
curl -H "X-API-Key: $ODDSLINK_KEY" \
"https://oddslink.app/v1/sports/nfl/odds?bookmakers=pinnacle&markets=h2h,spreads,totals"import os, requests
r = requests.get(
"https://oddslink.app/v1/sports/nfl/odds",
params={"bookmakers": "pinnacle", "markets": "h2h,spreads,totals"},
headers={"X-API-Key": os.environ["ODDSLINK_KEY"]},
)
r.raise_for_status()
for game in r.json():
print(game["away_team"], "at", game["home_team"])[{
"id": "nfl:jacksonvillejaguars-philadelphiaeagles:2026-10-11",
"commence_time": "2026-10-11T13:30:00Z",
"home_team": "Jacksonville Jaguars",
"away_team": "Philadelphia Eagles",
"bookmakers": [{
"key": "pinnacle",
"link": "https://www.pinnacle.com/en/football/nfl/jacksonville-jaguars-vs-philadelphia-eagles/1637432181/",
"markets": [
{ "key": "h2h", "outcomes": [
{ "name": "Philadelphia Eagles", "price": 304 },
{ "name": "Jacksonville Jaguars", "price": -375 } ] },
{ "key": "spreads", "outcomes": [
{ "name": "Philadelphia Eagles", "price": -102, "point": 7.5,
"size": { "kind": "posted_limit", "amount": 30000 } }
] }
]
}]
}]A real Pinnacle response from 10 Oct 2026, trimmed.
More than the main line
Moneyline, spread, total
Every sport, plus games and set spreads in tennis.
Alternate lines
Every spread and total Pinnacle posts, not just the main one.
Team totals
Football, basketball, hockey, baseball and soccer.
Halves, quarters, periods
Halves and quarters in football and basketball, periods in hockey, first 5 innings in baseball, halves in soccer, each set in tennis.
Limits
Pinnacle's posted limit comes with each price, as size.
In-play
Live Pinnacle prices while the game is on.
Sports
| Sport | Markets | Periods | Team totals | In-play |
|---|---|---|---|---|
| NFL | Moneyline, spread, total | Halves, quarters | Yes | Yes |
| College football | Moneyline, spread, total | Halves, quarters | Yes | Yes |
| NBA | Moneyline, spread, total | Halves, quarters | Yes | Yes |
| WNBA | Moneyline, spread, total | Halves, quarters | Yes | Yes |
| NHL | Moneyline, puck line, total | Periods | Yes | Yes |
| MLB | Moneyline, run line, total | First 5 innings, 1st inning | Yes | Yes |
| Soccer | Moneyline, spread, total | Halves | Yes | Yes |
| Tennis | Moneyline, games spread, set spread, total games, total sets | Each set | None | Yes |
| MMA | Moneyline, total | None | None | Yes |
All 46 books. One schema.
37 sportsbooks
6 exchanges
3 prediction markets
Every book on every plan
| Plan | Per month | Requests a month | In-play and props | History |
|---|---|---|---|---|
| Free | $0 | 1,000 | No | No |
| Starter | $24 | 20,000 | No | No |
| Growth | $49 | 100,000 | Yes | No |
| Scale | $99 | 500,000 | Yes | 2 years |
| Business | $199 | 5,000,000 | Yes | All of it |
Questions
What is Pinnacle's key in the API?
pinnacle. Pass it in the bookmakers filter, or leave the filter off to get all 46 books at once.
Can I use Pinnacle on the free plan?
Yes. Every book is on every plan, Pinnacle included. Paid plans add more requests, in-play prices and history.
Do you send Pinnacle's limits?
Yes. Each Pinnacle price carries its posted limit in size, with kind set to posted_limit.
Do I get in-play Pinnacle prices?
Yes, on Growth and above, from the live odds route.
Can I line Pinnacle up against other books?
Yes. Ask for several keys, for example bookmakers=pinnacle,draftkings,fanduel. Every book sits under the same fixture id, so there is no team name matching to do.
Do you have Pinnacle openers and closing prices?
Yes, for finished games, on the plans that include history.