Pinnacle Odds API — Sharp Lines, Limits & Fair Odds avatar

Pinnacle Odds API — Sharp Lines, Limits & Fair Odds

Pricing

from $1.40 / 1,000 odds rows

Go to Apify Store
Pinnacle Odds API — Sharp Lines, Limits & Fair Odds

Pinnacle Odds API — Sharp Lines, Limits & Fair Odds

Pinnacle's moneyline, spread and total for every game, with the maximum stake it will accept on each market and the fair probability with the bookmaker's margin removed. Pinnacle is the sharp reference the rest of the market prices against — no API key, no login.

Pricing

from $1.40 / 1,000 odds rows

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

15 hours ago

Last modified

Share

Pinnacle Odds API returns Pinnacle's moneyline, spread and total for every game it prices, with two numbers almost no other feed carries: the maximum stake Pinnacle will accept on that market, and the fair probability with the bookmaker's margin removed. No API key, no account, no browser.

One run of Pinnacle Odds API: moneyline and spread prices with fair probabilities and the stake limit.

Pinnacle is the sharp reference book. It runs on low margins and high limits and it does not restrict winning customers, so the rest of the market prices against it. Its number, stripped of margin, is the closest thing to a true probability that a betting market produces.

What is Pinnacle Odds API?

A clean feed of Pinnacle's own board: every game in the leagues you pick, every market on it, both sides priced, with the implied and the fair probability side by side. Two modes: odds (one row per game, market and side) and leagues (what is covered right now).

What makes it different

The limit is data. Pinnacle publishes the maximum it will accept on each market, and that figure says how much the book itself trusts its own number. A line with a low limit is one Pinnacle is unsure about; a full-limit line is one it will happily take money on. Feeds that only copy prices throw that away.

Fair probability, not implied. Both sides of a market always add up to more than 1: the surplus is the margin. Every row carries the raw impliedProbability, the overround, and the fairProbability with the margin split out — a share of 1, summing to 1, which is the number a model should actually consume.

Every price format. American, decimal, fractional and Hong Kong on the same row — set oddsFormat and read whichever your workflow speaks.

What data does it return?

FieldExample
league, game, startTime, statusnfl · Baltimore Ravens at Indianapolis Colts · …
market, linemoneyline / spread / total · −3.5
homePrice, awayPrice, drawPrice−165 · +140 · (soccer only)
overPrice, underPrice−110 · −110
homeDecimal, awayDecimal, overDecimal, underDecimal1.606 · 2.40 · …
homeImpliedProbability, awayImpliedProbability0.67 · 0.3623 — shares of 1, and they sum to more than 1
homeFairProbability, awayFairProbability0.649 · 0.351 — the same two with the margin removed, summing to 1
overround0.0323 — the book's margin on this market, here 3.2%
limitUsd20,000 — the largest stake Pinnacle will take here
favorite, sourceUrlIndianapolis Colts · link to the game

Alternate lines — the full ladder of spreads and totals, not just the main number — come back when you ask for them.

How much does it cost?

Pay per row, and only for rows you actually get:

EventPrice
Odds row$0.002
Game (nested output)$0.006
League row$0.0005

Error rows are never charged. No browser, no proxy — one public JSON API — so platform usage on top is negligible.

JobCost
An NFL Sunday, all three markets (≈500 rows)$1.00
Five leagues, moneyline only, once a day for a month$6.00
A single game's full ladder of alternate lines$0.20

How to use it

  1. Name your 🏆 Leaguesnfl, nba, mlb, nhl, epl, ncaaf and the rest.
  2. Pick the 📈 Markets: moneyline, spread, total.
  3. Set 📅 Days ahead, or an explicit date range.
  4. Choose 💱 Odds format — American, decimal, fractional or Hong Kong.
  5. Click Start, then export as JSON, CSV or Excel, or read the dataset through the API.

The input form of Pinnacle Odds API: leagues, markets, days ahead and odds format.

⬇️ Input

{
"mode": "odds",
"leagues": ["nfl", "nba"],
"markets": ["moneyline", "spread", "total"],
"daysAhead": 7,
"oddsFormat": "american"
}

One game with every alternate line

{ "mode": "odds", "leagues": ["nfl"], "includeAlternateLines": true, "maxItems": 500 }

One row per game instead of one per side

{ "mode": "odds", "leagues": ["epl"], "outputFormat": "nested" }

⬆️ Output

{
"type": "odds",
"league": "nfl",
"game": "Baltimore Ravens at Indianapolis Colts",
"startTime": "2026-09-13T17:00Z",
"market": "moneyline",
"homeTeam": "Indianapolis Colts",
"awayTeam": "Baltimore Ravens",
"homePrice": -203,
"awayPrice": 176,
"homeDecimal": 1.493,
"awayDecimal": 2.76,
"homeImpliedProbability": 0.67,
"awayImpliedProbability": 0.3623,
"homeFairProbability": 0.649,
"awayFairProbability": 0.351,
"overround": 0.0323,
"limitUsd": 20000,
"favorite": "Indianapolis Colts",
"sourceUrl": "https://www.pinnacle.com/en/football/nfl/matchups",
"scrapedAt": "2026-09-09T13:30:00.000Z"
}

A request that fails arrives as a type: "error" row with the reason, never as a silently short list.

Use cases

A reference price for your model

Fair probabilities from the sharpest book are the benchmark every other price is judged against.

Closing line value

Schedule the run and store the line at intervals; the closing number is the standard measure of whether a bet was good.

Comparing your book against the market

Put Pinnacle's fair probability next to whatever price you were offered elsewhere and see who is paying more than the risk deserves.

Limits as a signal

Track limitUsd through the week: limits rising into kick-off means the book has settled on its number.

AI agents

An agent asked "what are the real odds on this game" reads homeFairProbability straight off the row.

🤖 For AI Agents & LLM Apps

Compact reference for agents calling this Actor through the Apify MCP server or the Apify API (lergassy/pinnacle-odds-api).

Minimal input:

{ "leagues": ["nfl"], "markets": ["moneyline"], "daysAhead": 3 }

Behaviors an agent should know:

  • Quote fairProbability, not impliedProbability. Both are shares of 1. The implied numbers include the book's margin and sum to more than 1; the fair ones sum to exactly 1. Multiply by 100 before showing a percentage.
  • limitUsd is how much Pinnacle will accept on that market — a confidence signal, not a price.
  • line belongs to spreads and totals; a moneyline row has none.
  • drawPrice exists only where a draw is possible, which in practice means soccer.
  • Prices move constantly. Every row carries scrapedAt; treat a row as a snapshot, not a standing quote.
  • Set oddsFormat rather than converting prices yourself.
  • The Pinnacle guest API is public: no key, no account, no proxy.

Pinnacle API without a key

Pinnacle's own guest endpoints serve matchups and prices as JSON, split across two documents that have to be joined by matchup id — and the market list carries the limits that most feeds discard. This Actor does the join, keeps the limits, and returns one stable row shape per league.

❓ FAQ

Is this betting advice?

No. It reads public odds data and returns it as a table. It places no bets.

Why Pinnacle rather than a retail sportsbook?

Because its margin is small and it does not close winning accounts, so its price reflects what the market actually believes rather than what a book can get away with.

What is the overround?

The amount by which the two sides of a market exceed 1. It is the book's margin — 0.0323 means 3.2% — and removing it gives the fair probability.

Which leagues are covered?

The major US leagues and the main soccer competitions. Run the leagues mode to see the current list.

How fresh are the numbers?

Live at the moment of the run. Schedule the Actor if you want a line-movement history.

Can I use it with the Apify API or an MCP server?

Yes. It runs from the API and the official clients, and AI agents reach it through the Apify MCP server without extra setup.

Your feedback

Missing a league or a market? Open an issue on the Issues tab — every one gets answered.

You might also like

ActorWhat it does
Sports Betting Odds APISeveral books at once, with arbitrage and value bets
DFS Player Props APIPrizePicks and Underdog lines side by side
Sports Injury Report APIWho is out, questionable or probable
Sports Scores & Schedules APILive scores and schedules for 33 leagues

Also known as

People look for this Actor as a Pinnacle API, Pinnacle odds scraper, sharp odds data, closing line value data, fair odds, no-vig odds and betting limits data.