API Documentation

Pinnacle Odds API Documentation

Authentication, the odds endpoint and its parameters, response fields, and rate limits for pulling Pinnacle lines, with working code in TypeScript, Python, and cURL.

ByMike·Founder, SharpAPI

You can get Pinnacle odds via API by using an odds aggregation service like SharpAPI. Sign up for a free account and generate an API key. Then make a single REST call to get Pinnacle live odds, moneylines, point spreads, totals, and props. Covers 40+ 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, access to Pinnacle sharp lines, and multi-book coverage.

This page is the API reference and integration walkthrough: endpoint, authentication, parameters, response fields, and working code. For market coverage, update frequency, and plan pricing, see the Pinnacle odds API page.

Pinnacle Odds API Reference

SharpAPI serves Pinnacle odds from a single REST endpoint. Authenticate with a bearer token and filter to Pinnacle with the sportsbook parameter. Each row carries the raw American and decimal odds plus an implied probability. No-vig fair odds are a separate endpoint, GET /api/v1/opportunities/ev, which computes them from the Pinnacle line for you.

EndpointGET https://api.sharpapi.io/api/v1/odds
AuthenticationAuthorization: Bearer YOUR_API_KEY
Pinnacle filtersportsbook=pinnacle
Parameters (REST)sport, league, sportsbook, market_type (moneyline, point_spread, total_points)The SDKs name this one market — singular, no underscore — as the examples above use. Same Atlas ids either way.
Response rowsOne sportsbook, market, and selection per row: id, sportsbook, sport, league, event_id, home_team, away_team, market_type, selection, selection_type, odds_american, odds_decimal, probability, line, is_live, start_time, timestamp
No-vig fair oddsNot on /odds. Use GET /api/v1/opportunities/ev, which returns no_vig_odds, no_vig_probability, and fair_probability computed from the Pinnacle line.
SDKsnpm install @sharp-api/client or pip install sharpapi
Rate limitsRequests per minute by plan, starting at 12 on the free tier. See pricing for per-plan limits and Pinnacle availability.

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. Pinnacle's lines are shaped by professional syndicates, algorithmic traders, and the sharpest money in sports betting.

1-3%

Vig on major markets (vs. 5-10% at recreational books)

97+

Soccer leagues covered, more than any other sportsbook

No limits

On winning bettors, lines reflect true sharp money

Your Options for Getting Pinnacle Data

MethodRequirementsDataBest For
Pinnacle Partner APIFunded Pinnacle account, regional access, affiliate/partner approvalPinnacle onlyPinnacle affiliates
SharpAPIFree sign-up, no Pinnacle account neededPinnacle + 20 other booksDevelopers building betting tools
The Odds APIFree tier (500 credits/mo)Pinnacle + 40 other booksSimple REST access, basic comparison
Web scrapingProxy infrastructure, anti-bot bypass, ongoing maintenancePinnacle only (fragile)Not recommended

Recommendation: Using an aggregation API is the fastest path. You skip Pinnacle scraper maintenance, rate limit handling, and geo-restrictions. You also get multi-book data for cross-referencing.

Step-by-Step: Get Pinnacle Odds in 5 Minutes

1

Create a free SharpAPI account

Sign up at sharpapi.io, no credit card required. You get 12 requests/minute immediately across 2 sportsbooks. Pinnacle is not one of them: it is on the Sharp tier, which has a 3-day free trial, so you can pull Pinnacle lines without paying up front.

2

Generate an API key

Go to your API Keys dashboard and create a new key. Copy it for use in the Authorization header.

3

Install the SDK (optional)

npm install @sharp-api/client or pip install sharpapi. Or use plain HTTP with any language.

4

Request Pinnacle odds

Pass sportsbook=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/client'

const client = new SharpAPI(process.env.SHARPAPI_KEY)

// Fetch Pinnacle moneyline odds for the NBA
const odds = await client.odds.get({
  sportsbook: ['pinnacle'],
  league: 'NBA',
  market: 'moneyline',
})

for (const row of odds.data) {
  // flat rows: one sportsbook + market + selection per row
  console.log(row.home_team, 'vs', row.away_team, '-', row.market_type, row.selection, row.odds_american)
}

Python (SDK)

from sharpapi import SharpAPI

client = SharpAPI(api_key="YOUR_API_KEY")

# Fetch Pinnacle moneyline odds for the NBA
odds = client.odds.get(
    sportsbook=["pinnacle"],
    league="NBA",
    market="moneyline",
)

for row in odds.data:
    print(f"{row.home_team} vs {row.away_team} - {row.market_type}: {row.selection} {row.odds_american}")

cURL (any language)

curl -X GET "https://api.sharpapi.io/api/v1/odds?sportsbook=pinnacle&league=NBA&market_type=moneyline" \
  -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. The +EV endpoint returns pre-computed no-vig fair odds derived from Pinnacle lines, so arbitrage detection and live betting analysis do not require you to strip the vig yourself. No manual calculation needed.

Using Pinnacle Lines for +EV Detection

Once you have Pinnacle's fair odds, compare them against every other sportsbook. This reveals positive expected value (+EV) opportunities, also called value betting, where a sportsbook offers 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.

Frequently Asked Questions

Where is the Pinnacle API odds documentation?+
Pinnacle does not publish open API documentation. Its partner API requires a funded account and regional approval, and the reference is only shared with approved partners. The practical documented route is an aggregator: SharpAPI serves Pinnacle odds from GET https://api.sharpapi.io/api/v1/odds, authenticated with an Authorization: Bearer header, filtered with sportsbook=pinnacle, and scoped with the sport and market_type parameters (market types are Atlas ids such as moneyline, point_spread and total_points). The API reference section on this page lists the endpoint, parameters, and response fields, and the full SharpAPI reference is at docs.sharpapi.io.
How do I authenticate against the Pinnacle odds endpoint?+
Generate an API key in the SharpAPI dashboard and send it as a bearer token: Authorization: Bearer YOUR_API_KEY, with Accept: application/json. No Pinnacle account or partner agreement is needed because SharpAPI holds the upstream connection and normalizes the response.
What fields does the Pinnacle odds response return?+
SharpAPI returns flat rows, one sportsbook and market and selection per row. Each row includes id, sportsbook, sport, league, event_id, home_team, away_team, market_type, selection, selection_type, odds_american, odds_decimal, probability, line, is_live, start_time, and timestamp. No-vig fair odds are not on the /odds endpoint: call GET /api/v1/opportunities/ev, which returns no_vig_odds, no_vig_probability, and fair_probability computed from the Pinnacle line so you do not have to strip the vig yourself.
Can I get Pinnacle odds for free?+
Pinnacle is available on the Sharp tier ($399/mo). SharpAPI's free tier covers DraftKings and FanDuel only. To test Pinnacle data, start a 3-day Sharp free trial, no credit card required upfront.
Does Pinnacle have its own API?+
Pinnacle has a partner API, but it requires an active funded account and is restricted to certain regions. For most developers, using an odds aggregation API like SharpAPI is easier. You get Pinnacle odds alongside 40+ other sportsbooks through a single endpoint.
Why are Pinnacle odds considered the sharpest?+
Pinnacle operates a low-margin model (1-3% vig on major betting markets) and does not limit winning bettors. This means their sports betting odds are shaped by the sharpest money in the market. When the smart money moves, Pinnacle's lines adjust first, making them the closest approximation of true probability available.
How fast are Pinnacle odds updated?+
SharpAPI ingests Pinnacle over a real-time push feed, so line changes are typically detected in under a second. From there, SSE streaming delivers Pinnacle odds changes to your application with sub-89ms latency. The pipeline processes 121K+ game odds per cycle from Pinnacle alone.
What sports does Pinnacle cover?+
Pinnacle covers all major US sports (NFL, NBA, MLB, NHL, NCAAF, NCAAB), MMA/UFC, and 97+ soccer leagues worldwide. It is particularly strong on soccer with coverage of niche leagues that most other sportsbooks don't offer.
Can I use Pinnacle odds to calculate no-vig fair odds?+
Yes. Pinnacle's low vig makes them the ideal source for calculating fair odds. Remove the 1-3% vig mathematically and you get the closest estimate of true probability. SharpAPI does this for you on the GET /api/v1/opportunities/ev endpoint, which returns no_vig_odds, no_vig_probability, and fair_probability derived from the Pinnacle line. The /odds endpoint itself returns raw book prices and an implied probability. See the API docs for the full response schema.
What is vig removal and how does it work with Pinnacle?+
Vig (vigorish) is the bookmaker margin built into odds. To remove it: convert both sides to implied probabilities, sum them (which exceeds 100% by the vig amount), then divide each side by the total. Example: Pinnacle -115/+105 gives implied 53.5%/48.8% = 102.3% total. Fair probabilities: 52.3%/47.7%.
How do I compare Pinnacle odds with other sportsbooks?+
SharpAPI returns odds from all covered sportsbooks in the same response. Compare Pinnacle's line against DraftKings, FanDuel, BetMGM, etc. in a single API call. The +EV endpoint does this automatically, flagging any sportsbook offering better odds than Pinnacle's fair line.

Related Resources

Ready to Build?
Start free. Scale when you're ready. No credit card required.

No credit card required