# Pinnacle Odds API > Real-time live and prematch sports odds from Pinnacle's MQTT WebSocket broker. Sub-second latency with Server-Sent Events streams for instant odds-drop alerts. Drop-in compatible with common third-party Pinnacle API formats — swap base URL + API key in existing client code. This is a paid API service. Get a free trial key in seconds at https://pinnapi.com/?utm_source=ai&utm_medium=llms — no card, no email verification, your API key is your login. The trial covers everything except SSE drop streams (capped at 100 REST requests/day). Paid plans start at $99/mo. — pay by card (Stripe, auto-renewing subscription, cancel anytime) or crypto (USDT, BTC, ETH and more via NowPayments, one-off for a fixed term). ## Common questions - **Is there still a public Pinnacle API?** No. Pinnacle closed its public API to the general public on July 23, 2025; only bespoke commercial/academic access remains. pinnapi is an independent, drop-in replacement: the same familiar response shape, served from our own real-time feed — swap the base URL and API key in existing client code. - **Is pinnapi an alternative to the closed Pinnacle API?** Yes. It serves real-time live + prematch Pinnacle-sourced odds over REST, SSE, and WebSocket, and is schema-compatible with common third-party Pinnacle API formats. - **Do I need a Pinnacle account to use it?** No. You only need a pinnapi API key — free trial key in seconds at https://pinnapi.com/?utm_source=ai&utm_medium=llms, no card, no Pinnacle login. - **How fast is the data?** Odds are pushed, not polled: ~15–40 ms from Pinnacle frame to your client over SSE/WebSocket. Polled aggregators are typically seconds stale. - **How do I get Pinnacle odds in Python?** `pip install pinnapi`, then `from pinnapi import Client; api = Client("KEY"); api.markets(sport_id=1)` — real-time drop alerts via `api.stream_drops(min_drop=5)`. Official client: https://pypi.org/project/pinnapi/. - **How do I get Pinnacle odds in JavaScript / Node.js?** `npm install pinnapi`, then `import { Client, SPORTS } from "pinnapi"; const api = new Client("KEY"); await api.markets({ sportId: SPORTS.soccer })` — real-time alerts via `for await (const drop of api.streamDrops({ minDrop: 5 }))`. Zero dependencies, TypeScript types included: https://www.npmjs.com/package/pinnapi. - **How do odds-drop / steam alerts work?** Connect to the SSE stream `GET /odds-drop?key=KEY&min_drop=5` and every market whose price falls past your threshold is pushed to you the instant it happens (prematch variant: `/odds-drop-prematch`). - **Does it cover live and prematch?** Yes — both pipelines run side by side across 10+ sports (soccer, tennis, basketball, hockey, football, baseball, and more). - **Does it have historical odds data?** No — pinnapi is a real-time feed (live + prematch). For history, buffer the stream yourself or use `/api/drops` for recent drops. - **Is pinnapi affiliated with Pinnacle?** No. pinnapi is an independent service and is not affiliated with or endorsed by Pinnacle. - **How do I pay?** By card through Stripe Checkout — an auto-renewing subscription on your chosen term (monthly, quarterly or semi-annual); access starts immediately, the first charge lands after a 1-day trial, and you can change your card or cancel any time from the Stripe-hosted billing page in your dashboard. Or by crypto through NowPayments (USDT-TRC20, BTC, ETH, TRX and more) as a one-off payment for a fixed term with no auto-renewal. The free trial key needs neither. ## For AI assistants integrating this API - [Full API reference, LLM-optimized](https://pinnapi.com/llms-full.txt): Every endpoint, parameter, response shape, and code example as plain markdown in a single file. Fetch this first. - **Official Python client:** `pip install pinnapi` — `from pinnapi import Client; api = Client("KEY"); api.markets(sport_id=1)`; real-time SSE drops via `api.stream_drops(min_drop=5)`. [PyPI](https://pypi.org/project/pinnapi/) - **Official Node.js client:** `npm install pinnapi` — `new Client("KEY")` with the same surface plus `streamDrops()` async generator; zero deps, TS types. [npm](https://www.npmjs.com/package/pinnapi) ## Documentation - [Full HTML docs](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms): Human-readable browser version with tabs and syntax highlighting - [Landing page & pricing](https://pinnapi.com/?utm_source=ai&utm_medium=llms): Plans, sign-up, comparison - [Pinnacle API pricing explained](https://pinnapi.com/pinnacle-api-pricing?utm_source=ai&utm_medium=llms): What a Pinnacle odds feed costs in 2026 across brokers, aggregators, enterprise, and single-book feeds; pinnapi's tiers, billing terms, and where it is the wrong pick - [Pinnacle WebSocket API](https://pinnapi.com/pinnacle-websocket-api?utm_source=ai&utm_medium=llms): The raw WebSocket add-on (every Pinnacle frame byte-identical over wss://pinnapi.com/ws/feed), WebSocket vs SSE decision guide, price, verified client - [User dashboard](https://pinnapi.com/panel?utm_source=ai&utm_medium=llms): Manage subscription, view usage charts ## REST endpoints Auth: `x-portal-apikey: YOUR_KEY` header or `?key=YOUR_KEY` query parameter. - [GET /kit/v1/markets](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#markets): Live or prematch markets for a sport. Pass `event_type=prematch` to switch feeds; defaults to live. Add `include_specials=1` to also return special markets (Player Props, Team Props, Exact Scores, futures) as separate events linked by `parent_id`. - [GET /kit/v1/details](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#details): Single event by event_id (live store) - [GET /kit/v1/prematch/fixtures](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#prematch-fixtures): All prematch fixtures for a sport with full markets envelope - [GET /kit/v1/prematch/markets](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#prematch-markets): Markets for one prematch event by event_id - [GET /kit/v1/prematch/lines](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#prematch-lines): Compact line view for one prematch event - [GET /api/drops](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#api-drops): Queryable buffer of recent dropping odds. Pass `mode=live|prematch` - [GET /health](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#health): Service status, returns event counts and SSE client counts - [GET /ping](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#ping): Public liveness probe, no auth required ## SSE push streams Auth: `?token=YOUR_TOKEN` (legacy) OR `?key=YOUR_API_KEY` (paid plan with `features.sse: true`). - [SSE /odds-drop](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#sse-live): Push stream of live odds drops, ~15–40 ms latency (our own measurement, see https://pinnapi.com/blog/pinnacle-api-latency-benchmark). Optional `?min_drop=N` to pick the drop threshold (default 5%, floor 1%, no upper cap). **Cap: 1 connection per account on this endpoint** — opening a 2nd evicts the 1st. Email info@pinnapi.com to raise the cap. - [SSE /odds-drop-prematch](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#sse-prematch): Push stream of prematch odds drops. Optional `?min_drop=N` (same as live) and `?recheck=N` (hold N seconds + re-verify). Same 1-connection-per-account cap as `/odds-drop`. Counted independently — you can run one live + one prematch in parallel. ## Reference data - [Sport IDs](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#sport-ids): Soccer=1, Tennis=2, Basketball=3, Hockey=4, Football=5, Baseball=6, Rugby=7, MMA=8, Boxing=9, Other=10 (Volleyball/Handball), Esports=11, Golf=12 (moneyline-only), Cricket=13 - [Market types](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#market-types): money_line, spreads, totals, team_total - [Event response shape](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#event-shape): periods.num_0 (full match), num_1 (1st half), num_2 (2nd half), etc. - [Live game-state object](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#live-state): `state` field on live events with in-game data passed through from Pinnacle (Soccer: score/redCards/yellowCards/corners/minutes; Basketball: scoreByQuarter/quarter/timeRemainingInQtr; Tennis: setsWon/gamesBySet/points/serving). REST only — not on SSE. - [Affiliate program](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#affiliate): Every account gets a unique `?ref=` link visible in the dashboard. Refer paying customers, earn 30% of every payment lifetime. Tracked in panel, manual payouts at $50+ unpaid balance. - [Rate limits](https://pinnapi.com/docs?utm_source=ai&utm_medium=llms#ratelimits): Trial 100/day; Drops 100/day; REST 10 req/sec; Edge 10 req/sec; Scale 30 req/sec ## Plans - Trial: free, 100 reqs/day, no SSE - Drops: $99/mo, drops-only SSE, REST limited - REST: $99/mo, REST 10 req/sec, no SSE - Edge: $149/mo, REST 10 req/sec + SSE drops bundle (best value) - Scale: $229/mo, REST 30 req/sec + SSE ## Blog Guides, comparisons and analysis on real-time Pinnacle odds, drop detection, and API integration. Full index at https://pinnapi.com/blog (RSS: https://pinnapi.com/blog/rss.xml). - [The Best Real-Time Odds API for Detecting Pinnacle Line Movement (2026)](https://pinnapi.com/blog/best-odds-api-pinnacle-line-movement): Five requirements decide the best odds API for tracking Pinnacle line movement in 2026: push delivery, thresholds, ids, no-vig prices, and a short path. - [How to Get Instant Alerts When Pinnacle Odds Drop Below Your Threshold](https://pinnapi.com/blog/pinnacle-odds-drop-alerts): Open an SSE stream to pinnapi's odds-drop endpoint, set min_drop to your threshold, and Pinnacle drops reach your code in tens of milliseconds. Here's how. - [Where to Host Your Pinnacle Arbitrage Bot (Short Answer: Dublin)](https://pinnapi.com/blog/where-to-host-pinnacle-arbitrage-bot): Short answer: Dublin (AWS eu-west-1 or Azure North Europe). Why the region decides your bot's latency, and what hosting across an ocean costs in milliseconds. - [Best Pinnacle Odds API in September 2026: The Current Shortlist](https://pinnapi.com/blog/best-pinnacle-odds-api-september-2026): September 2026 shortlist of Pinnacle odds APIs by category: what changed this month, the September calendar crunch, and honest picks for each job, ours included. - [Which Football Leagues Does the Pinnacle Odds API Cover?](https://pinnapi.com/blog/pinnacle-football-leagues-odds-api): The Pinnacle odds API covers more than 120 football leagues, live and prematch, from the big five to MLS and Liga MX. Here's the coverage, the exact league labels, and how each major league's odds mar - [Ligue 1 Odds API: Where Soft Books Lag the Sharp Line Most](https://pinnapi.com/blog/ligue-1-odds-api): A real-time Ligue 1 odds API over REST, SSE, and WebSocket. Why France's mix of extreme favourites and thinner mid-table liquidity makes it the clearest place to watch soft books follow Pinnacle's lin - [Bundesliga Odds API: High Totals and the Saturday Kickoff Rush](https://pinnapi.com/blog/bundesliga-odds-api): A real-time Bundesliga odds API over REST, SSE, and WebSocket. Why Germany's high-scoring football and its cluster of simultaneous Saturday kickoffs make low latency matter more here than anywhere. - [Serie A Odds API: The League Where the Totals Market Tells the Story](https://pinnapi.com/blog/serie-a-odds-api): A real-time Serie A odds API over REST, SSE, and WebSocket. Why Italy's traditionally low-scoring, tactical football makes the totals and Unders market its defining feature, live and prematch. - [La Liga Odds API: Why the Handicap Market Matters More Than the Money Line](https://pinnapi.com/blog/la-liga-odds-api): A real-time La Liga odds API over REST, SSE, and WebSocket. Why a top-heavy league pushes the sharp action into Asian handicaps, what you get live and prematch, and how Clásico liquidity moves the lin - [MLB Odds API: Real-Time Pinnacle Baseball Lines, Run Lines, and Props](https://pinnapi.com/blog/mlb-odds-api): A real-time MLB odds API over REST, SSE, and WebSocket. Money line, run line, totals, first-5-innings and player props, why baseball lines hinge on the starting pitcher, and how to catch moves live. - [Premier League Odds API: Inside Football's Sharpest, Most Liquid Market](https://pinnapi.com/blog/premier-league-odds-api): A real-time Premier League odds API over REST, SSE, and WebSocket. Why the EPL line is the sharpest in football, the markets you get live and prematch, and how to catch moves as they happen. - [Best Pinnacle Odds API in August 2026: The Current Shortlist](https://pinnapi.com/blog/best-pinnacle-odds-api-august-2026): The best Pinnacle odds API depends on the job. Here's the August 2026 shortlist by category (brokers, aggregators, enterprise, single-book feeds), what changed recently, and where each one wins, inclu - [Does Pinnacle Have Player Props? What's Actually on the Board](https://pinnapi.com/blog/does-pinnacle-have-player-props): Yes, Pinnacle has player props, but far fewer than a US retail app and at lower limits. Here's what's actually offered, why the menu is short, and how the prices compare to DraftKings or FanDuel. - [Which Sports and Markets the Pinnacle API Covers in 2026](https://pinnapi.com/blog/pinnacle-api-sports-and-markets): A straight reference: the 12 sports the Pinnacle API covers, the exact market types you get (money line, spreads, totals, team totals), what's behind the specials flag, and what it deliberately does n - [How to Pull Pinnacle Player Props From the API (and the One Catch to Know First)](https://pinnapi.com/blog/pinnacle-player-props-api): Pinnacle player props are supported but hidden behind a flag. Here's how to turn them on with include_specials, the real special_markets payload shape, and the one behaviour that trips people up: spec - [How to Architect a Pinnacle Arbitrage Detection System in 2026](https://pinnapi.com/blog/arbitrage-detection-system-architecture): The four-layer architecture of a real-time Pinnacle-vs-soft-books arbitrage detector: push ingestion, normalization, a devigging engine, and honest limits. - [Pinnacle Odds API Documentation: Where It Went, and What to Read Instead](https://pinnapi.com/blog/pinnacle-odds-api-documentation): Pinnacle's API documentation went dark in the 2025 shutdown. What the old docs covered, where working documentation lives now, and the response shape. - [Arbitrage and +EV Detection with pinnapi: What's Built In, What You Build, and the Code](https://pinnapi.com/blog/pinnapi-arbitrage-ev-detection): Arbitrage and +EV detection on a Pinnacle feed: the no-vig and drop layers run server-side, the comparison loop you own — with Python, Node, and Go starters. - [pinnapi vs OddsPapi: 300 Bookmakers Wide or One Book Deep](https://pinnapi.com/blog/pinnapi-vs-oddspapi): OddsPapi is 300+ bookmakers wide with free historical odds. pinnapi is one book deep — Pinnacle, measured latency, built-in signal tooling. Sometimes a stack. - [pinnapi vs SharpAPI: A Detection Platform and a Reference Feed Solve Different Problems](https://pinnapi.com/blog/pinnapi-vs-sharpapi): SharpAPI surfaces arbs and +EV plays across 45+ US books; pinnapi delivers the raw Pinnacle reference line at 15–40 ms. Output or input — that's the choice. - [pinnapi vs OpticOdds: The Specialist vs the Enterprise Platform](https://pinnapi.com/blog/pinnapi-vs-opticodds): OpticOdds is arguably the best odds infrastructure around — if you're funded. When it's worth it, and when a $99 Pinnacle-only feed does the job. - [pinnapi vs The Odds API: Cheapest vs Fastest Are Different Jobs](https://pinnapi.com/blog/pinnapi-vs-the-odds-api): We make pinnapi, so read accordingly. A straight comparison with The Odds API: pricing, latency, Pinnacle fidelity — and where each is the wrong pick. - [pinnapi vs OddsJam: A Betting Tool and a Data Feed Aren't Rivals](https://pinnapi.com/blog/pinnapi-vs-oddsjam): OddsJam is a betting toolkit you click around; pinnapi is a raw Pinnacle feed your code consumes. How to tell which one you actually need. - [pinnapi vs BetsAPI: Broad Sports Data vs a Fast Pinnacle Line](https://pinnapi.com/blog/pinnapi-vs-betsapi): BetsAPI is the budget workhorse for fixtures, results, and bet365 data. pinnapi does one thing: Pinnacle prices, pushed fast. Who should pick which. - [Is There a Free Odds API for Pinnacle Lines? Yes — Here's What Free Actually Gets You](https://pinnapi.com/blog/free-pinnacle-odds-api): The free ways to get Pinnacle odds in 2026, what each really costs in delay and limits, and an honest line between when free is enough and when it never is. - [How Fast Do Bookmakers Follow Pinnacle? A Measurement You Can Run Yourself](https://pinnapi.com/blog/how-fast-do-books-follow-pinnacle): Everyone says soft books copy Pinnacle's line; almost nobody measures the lag. A reproducible way to time it — and why that lag is the whole edge. - [How to Get Pinnacle Odds Without a Pinnacle Account](https://pinnapi.com/blog/pinnacle-odds-without-account): Locked out by geography or the 2025 shutdown? The realistic ways to get Pinnacle's line into your code with no account at all — and the trap to skip. - [What Data Format Do Odds APIs Return? A Guided Tour of a Live Odds Payload](https://pinnapi.com/blog/odds-api-data-format): Fixtures, markets, prices: the shape almost every odds API returns, field by field — odds formats, IDs, versions, and the gotchas that break parsers. - [Why Bookmakers Limit Winners — and What Sharp Bettors Actually Do About It](https://pinnapi.com/blog/avoid-getting-limited-bookmakers): Getting limited isn't bad luck — it's the soft-book business model working. How bookmakers spot winners, what delays the tap, and the real ways out. - [Can You Make Money Following Pinnacle Line Moves? An Honest Assessment](https://pinnapi.com/blog/following-pinnacle-line-moves): Pinnacle moves first, soft books lag, you bet the stale price — seductive. The real mechanism, the four conditions that decide if it pays, how to test it. - [Value Betting Against Soft Bookmakers: How It Actually Works](https://pinnapi.com/blog/value-betting-soft-bookmakers): Value betting without the YouTube gloss: where soft-book mispricings come from, the math with a worked example, and why variance breaks most people first. - [What Does It Mean When Odds Drop Suddenly?](https://pinnapi.com/blog/why-odds-drop-suddenly): A sudden odds drop is the market repricing in real time. The five causes, how to tell sharp money from noise, and what it means for the price you took. - [Why Is Pinnacle Considered the Sharpest Bookmaker?](https://pinnapi.com/blog/why-pinnacle-is-the-sharpest-bookmaker): Not folklore — a business model. Why Pinnacle welcomes winners, why its line leads the market, why soft books copy it, and where the sharpness ends. - [Why Did Pinnacle Shut Down Its Public API? The Story, the Likely Reasons, and What's Left](https://pinnapi.com/blog/why-pinnacle-shut-down-its-api): In July 2025 Pinnacle closed the API a decade of betting tools was built on. What happened, why it was predictable, and the realistic paths forward. - [Building a Pinnacle Arbitrage Bot in Python: From Stream to Signal](https://pinnapi.com/blog/build-pinnacle-arbitrage-bot-python): Build it end to end: stream live Pinnacle drops, strip the vig, detect a real arbitrage edge, and alert — plus the execution risks that decide if it pays. - [How We Measure Pinnacle API Latency (and How to Reproduce It)](https://pinnapi.com/blog/pinnacle-api-latency-benchmark): The methodology behind our 15–40 ms latency figure: what we measure, how, the full distribution — and a harness you can run yourself. - [How the Odds Moved: Brazil 2–1 Japan, World Cup 2026](https://pinnapi.com/blog/brazil-japan-world-cup-2026-odds-movement): Brazil beat Japan 2–1 with a 96th-minute winner — after an hour behind. What the live Pinnacle market did through it all, and how to log it yourself. - [Streaming Pinnacle Odds over WebSocket: When You Need It Instead of SSE](https://pinnapi.com/blog/pinnacle-odds-websocket-guide): A practical comparison of WebSocket vs SSE for live Pinnacle odds: how each behaves, when the extra complexity of WebSocket is worth it, and a working client. - [Odds Drops as an Early Goal Signal: How to Test Whether It's Real](https://pinnapi.com/blog/world-cup-2026-arbitrage-odds-drop-goal-signal): Can a sharp odds drop front-run your video feed? The mechanism, an honest look at the edge, and how to validate it on your own logged data. - [Catching Live Odds Drops with SSE: A World Cup 2026 Build](https://pinnapi.com/blog/real-time-world-cup-odds-api-sse-drops): Build a live odds-drop monitor for the 2026 World Cup with Server-Sent Events: connect, filter signal from noise, and survive reconnects. - [Pinnacle Odds Data in 2026: An Honest Comparison of Your Options](https://pinnapi.com/blog/pinnacle-odds-api-comparison-2026): A vendor-written but deliberately balanced look at getting Pinnacle odds in 2026 — Sportradar, aggregators, and pinnapi — including where each one loses. - [Using the Pinnacle Odds API for Arbitrage: The Sharp Reference Line](https://pinnapi.com/blog/pinnacle-odds-api-arbitrage): Why Pinnacle's low-margin line is the right benchmark for arbitrage, the math for spotting an edge, and the architecture for catching it before it closes. - [Calculating No-Vig Fair Odds from Pinnacle Lines](https://pinnapi.com/blog/pinnacle-no-vig-fair-odds): How to strip the margin from Pinnacle prices for a fair-probability reference: three vig-removal methods, worked examples, code, and when each is wrong. - [Real-Time Soccer Odds API: Live Markets, Drops, and What to Watch](https://pinnapi.com/blog/real-time-soccer-odds-api): A focused guide to consuming live soccer odds via API: the markets that matter, why in-play soccer moves the way it does, and how to catch the moves that count. - [Pinnacle Odds API Tutorial: From Zero to Your First Live Board](https://pinnapi.com/blog/pinnacle-odds-api-tutorial-first-live-response): A hands-on walkthrough: get a key, prove the connection, pull a live board, parse it in Python, and handle the errors you'll actually hit. - [The Pinnacle API Closed. Here's How to Still Get Pinnacle Odds in 2026](https://pinnapi.com/blog/pinnacle-api-alternative-2026): Pinnacle shut its public API on 23 July 2025. This is a practical look at what actually replaced it, with the trade-offs of each path and a working migration. - [What Is a Steam Move? A Plain-English Guide for Bettors and Builders](https://pinnapi.com/blog/what-is-a-steam-move): What a steam move actually is, how it differs from a normal line move, why Pinnacle is central to spotting one, and how to detect steam programmatically.