Pinnacle Odds API — Sharp Lines, Limits & Fair Odds
Pricing
from $1.40 / 1,000 odds rows
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
15 hours ago
Last modified
Categories
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.

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?
| Field | Example |
|---|---|
league, game, startTime, status | nfl · Baltimore Ravens at Indianapolis Colts · … |
market, line | moneyline / spread / total · −3.5 |
homePrice, awayPrice, drawPrice | −165 · +140 · (soccer only) |
overPrice, underPrice | −110 · −110 |
homeDecimal, awayDecimal, overDecimal, underDecimal | 1.606 · 2.40 · … |
homeImpliedProbability, awayImpliedProbability | 0.67 · 0.3623 — shares of 1, and they sum to more than 1 |
homeFairProbability, awayFairProbability | 0.649 · 0.351 — the same two with the margin removed, summing to 1 |
overround | 0.0323 — the book's margin on this market, here 3.2% |
limitUsd | 20,000 — the largest stake Pinnacle will take here |
favorite, sourceUrl | Indianapolis 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:
| Event | Price |
|---|---|
| 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.
| Job | Cost |
|---|---|
| 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
- Name your 🏆 Leagues —
nfl,nba,mlb,nhl,epl,ncaafand the rest. - Pick the 📈 Markets: moneyline, spread, total.
- Set 📅 Days ahead, or an explicit date range.
- Choose 💱 Odds format — American, decimal, fractional or Hong Kong.
- Click Start, then export as JSON, CSV or Excel, or read the dataset through the API.

⬇️ 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, notimpliedProbability. 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. limitUsdis how much Pinnacle will accept on that market — a confidence signal, not a price.linebelongs to spreads and totals; a moneyline row has none.drawPriceexists 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
oddsFormatrather 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
| Actor | What it does |
|---|---|
| Sports Betting Odds API | Several books at once, with arbitrage and value bets |
| DFS Player Props API | PrizePicks and Underdog lines side by side |
| Sports Injury Report API | Who is out, questionable or probable |
| Sports Scores & Schedules API | Live 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.