How to Get Pinnacle Odds via API
Pinnacle runs the sharpest lines in sports betting. Here's how to access them programmatically — with code examples and a free tier.
You can get Pinnacle odds via API by using an odds aggregation service like SharpAPI. Sign up for a free account, generate an API key, and make a single REST call to get Pinnacle moneylines, spreads, totals, and props alongside 20+ other sportsbooks. No Pinnacle account required. Pinnacle's own API exists but requires a funded account and regional access. Most developers use third-party aggregators for easier integration and multi-book coverage.
Why Pinnacle Odds Matter
Pinnacle is the benchmark for sharp sports betting lines. Unlike DraftKings, FanDuel, or BetMGM, Pinnacle doesn't limit winning bettors. This means their lines reflect true market sentiment from the most informed players in the world.
Pinnacle's business model is fundamentally different: low margins (1-3% vig on major markets), high volume, and no bet restrictions. When you see Pinnacle's line on an NBA game, that price has been shaped by professional syndicates, algorithmic traders, and the sharpest money in sports betting.
Vig on major markets (vs. 5-10% at recreational books)
Soccer leagues covered, more than any other sportsbook
On winning bettors — lines reflect true sharp money
Your Options for Getting Pinnacle Data
| Method | Requirements | Data | Best For |
|---|---|---|---|
| Pinnacle Partner API | Funded Pinnacle account, regional access, affiliate/partner approval | Pinnacle only | Pinnacle affiliates |
| SharpAPI | Free sign-up, no Pinnacle account needed | Pinnacle + 20 other books | Developers building betting tools |
| The Odds API | Free tier (500 credits/mo) | Pinnacle + 40 other books | Simple REST access, basic comparison |
| Web scraping | Proxy infrastructure, anti-bot bypass, ongoing maintenance | Pinnacle only (fragile) | Not recommended |
Recommendation: Using an aggregation API is the fastest path. You avoid the complexity of maintaining Pinnacle scrapers, handling rate limits, and dealing with geo-restrictions — and you get multi-book data for cross-referencing.
Step-by-Step: Get Pinnacle Odds in 5 Minutes
Create a free SharpAPI account
Sign up at sharpapi.io — no credit card required. You get 12 requests/minute immediately, including full Pinnacle coverage.
Generate an API key
Go to your API Keys dashboard and create a new key. Copy it for use in the Authorization header.
Install the SDK (optional)
npm install @sharp-api/sdk or pip install sharpapi. Or use plain HTTP with any language.
Request Pinnacle odds
Pass bookmakers=pinnacle to filter for Pinnacle data specifically, or omit it to get all sportsbooks at once.
Code Examples
TypeScript (SDK)
import SharpAPI from '@sharp-api/sdk'
const client = new SharpAPI({ apiKey: process.env.SHARPAPI_KEY })
// Fetch Pinnacle odds for NBA
const odds = await client.odds.list({
sport: 'basketball_nba',
bookmakers: ['pinnacle'],
markets: ['h2h', 'spreads', 'totals'],
})
for (const event of odds.data) {
console.log(event.home_team, 'vs', event.away_team)
for (const market of event.bookmakers[0].markets) {
console.log(` ${market.key}:`, market.outcomes)
}
}Python (SDK)
import sharpapi
client = sharpapi.Client(api_key="YOUR_API_KEY")
# Fetch Pinnacle odds for NBA
odds = client.odds.list(
sport="basketball_nba",
bookmakers=["pinnacle"],
markets=["h2h", "spreads", "totals"],
)
for event in odds.data:
print(f"{event.home_team} vs {event.away_team}")
for market in event.bookmakers[0].markets:
print(f" {market.key}: {market.outcomes}")cURL (any language)
curl -X GET "https://api.sharpapi.io/api/v1/odds?sport=basketball_nba&bookmakers=pinnacle&markets=h2h,spreads,totals" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Calculating No-Vig Fair Odds from Pinnacle
Pinnacle's low vig makes them the ideal source for computing fair odds (true probability without the sportsbook's margin). Here's the math:
Worked Example: Vig Removal
Pinnacle line: Team A -115 | Team B +105
Step 1: Convert to implied probability
Team A: 115 / (115 + 100) = 53.5%
Team B: 100 / (105 + 100) = 48.8%
Step 2: Sum implied probabilities
Total = 53.5% + 48.8% = 102.3% (2.3% is Pinnacle's vig)
Step 3: Divide each by total to get fair probability
Team A fair: 53.5% / 102.3% = 52.3%
Team B fair: 48.8% / 102.3% = 47.7%
Step 4: Convert back to American odds
Team A fair: -109.6 (was -115)
Team B fair: +109.6 (was +105)SharpAPI does this automatically. Every odds response includes pre-computed no-vig fair odds derived from Pinnacle lines. No manual calculation needed.
Using Pinnacle Lines for +EV Detection
Once you have Pinnacle's fair odds, you can compare them against every other sportsbook to find positive expected value (+EV) opportunities — bets where the sportsbook is offering better odds than the true probability suggests.
+EV Calculation Example
Pinnacle fair probability for Team A: 52.3%
DraftKings offers Team A at -105 (1.952 decimal)
EV% = (fair_probability x decimal_odds - 1) x 100
EV% = (0.523 x 1.952 - 1) x 100
EV% = (1.021 - 1) x 100
EV% = +2.1% <-- Positive EV! This is a value bet.SharpAPI's +EV endpoint computes this across all sportsbooks in real-time. You can also stream +EV alerts via SSE.