PinnRadar API Review 2026
PinnRadar serves Pinnacle's live and pre-match board over REST and WebSocket and pushes dropping odds over SSE as they happen. A free key covers every sport at 100 requests a day, and paid plans start at $99 a month.
PinnRadar at a Glance
Streaming from: Drops, $99/mo (SSE dropping-odds stream); full odds WebSocket is a $99/mo add-on to REST ($99/mo)
Green = available ยท amber = unverified or varies by plan ยท crossed out = not available. Pricing: ๐ฒ โ $20/mo up to ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ = $1,000+/mo. From our directory research.
What PinnRadar Is
PinnRadar is a self-serve API for Pinnacle odds. It serves live and pre-match Pinnacle prices over REST, pushes every change over a WebSocket, and runs a separate stream of dropping odds over Server-Sent Events (SSE, a one-way HTTP push). A hosted MCP server and Python and Node clients round it out.
You don't need a Pinnacle account. PinnRadar calls itself an independent service with no tie to Pinnacle. Pinnacle closed its public API in July 2025, and PinnRadar is one of several feeds that filled the gap.
The angle here is line movement. Most Pinnacle feeds give you the current board; PinnRadar also flags the prices that just fell, with the old price, the new price, the drop in percent and a no-vig price for the side. If you bet or build tools around sharp moves, that stream is the reason to look.
Coverage and Markets
The feed carries 13 sports, each with a fixed id: soccer, tennis, basketball, hockey, American football, baseball, rugby, MMA, boxing, volleyball and handball, esports, golf and cricket. Golf is moneyline only.
Each event holds its markets by period, with num_0 for the full game and num_1 for the first half:
- Main markets: moneyline, spreads keyed by handicap and totals keyed by points, including Asian quarter lines.
- Team totals: every alternate line, not only the main one.
- Specials: player props, team props, exact scores and futures, which you ask for with
include_specials=1. - Limits and state: Pinnacle's max stake per market, plus the live score, clock, cards and corners for in-play games.
Prices come in decimal format. The docs show no historical odds or closing-line archive, so plan to store snapshots yourself if you track closing line value.
REST, WebSocket and the Drops Stream
REST is the base layer. GET /kit/v1/markets returns the live or pre-match board for one sport and hands back a last cursor. Pass it as since on the next call and you get only what changed, which keeps polling cheap.
The WebSocket at wss://pinnradar.com/ws/feed sends a snapshot, then add, update and delete frames for the sports and events you subscribe to. You subscribe within 5 seconds of connecting, with up to 32 sports and 200 events per stream, and the server pings every 30 seconds. One account holds one WebSocket at a time; a new connection replaces the old one.
The drops stream is the part that stands out. /odds-drop pushes each price that falls past your own threshold (5% by default, down to 1%), live or pre-match, with the market, side, line, old and new price and the no-vig price. GET /api/drops returns the same rows over REST if you would rather poll.
MCP Server for AI Assistants
PinnRadar runs an official MCP server at https://mcp.pinnradar.com/mcp, so Claude, ChatGPT and other assistants can read the board in plain language. It has 8 tools, among them find_matches, match_prices, price_moves and a docs search. Each tool call counts as one request on your plan, and the streams are not exposed over MCP. Our sports MCP servers guide lists the other odds feeds that do this.
PinnRadar Pricing and the Free Plan
The free key costs nothing, needs only an email and has no time limit. It gives live and pre-match REST for every sport at 20 requests a minute and 100 a day. That is enough to test the schema and build a prototype, not to run a live tool.
Paid plans, in US dollars a month:
- Drops, $99: the SSE drops stream with your own thresholds, with REST at the free limits.
- REST, $99: 10 requests a second with no volume cap, specials included.
- Edge, $149: REST at 10 a second plus the drops stream from 1% and live and pre-match alerts.
- Scale, $229: everything in Edge at 30 requests a second.
The full odds WebSocket is an add-on at $99 for 30 days, on top of a plan with REST access. Quarterly and six-month terms cut up to 24%. Cards go through Stripe, and crypto is a one-off payment that adds 5 bonus days per month bought. New accounts get a 3-day full demo with the streams.
Getting an API Key
Sign up on the site with an email address. No card and no Pinnacle account are needed, and the key works at once. Send it in the x-portal-apikey header; x-api-key and a ?key= query string also work, and the streams take the key in the URL. Paid plans attach to the same key.
A First Request in Python
This sample calls GET /kit/v1/markets for live basketball and prints the full-game moneyline of each event. It uses the response shape from the docs, checked November 2026; we have not run it with a key yet.
import os
import requests
resp = requests.get(
"https://pinnradar.com/kit/v1/markets",
params={"sport_id": 3, "event_type": "live"},
headers={"x-portal-apikey": os.environ["PINNRADAR_API_KEY"]},
timeout=10,
)
resp.raise_for_status()
data = resp.json()
print(data["sport_name"], len(data["events"]), "events")
for event in data["events"]:
full_game = event.get("periods", {}).get("num_0", {})
print(event["home"], "v", event["away"], full_game.get("money_line"))
next_cursor = data["last"] # pass as since= on the next call
Change event_type to prematch for the pre-match board. Sport ids are fixed: 1 soccer, 2 tennis, 3 basketball, 4 hockey, 5 American football, 6 baseball.
Rate Limits, Docs and SDKs
Free and Drops keys get 20 REST requests a minute and 100 a day. REST and Edge get 10 a second, and Scale gets 30, with no daily cap. Past a limit you get HTTP 429 with a Retry-After header and a body that names the limit and the window. Each account holds one SSE and one WebSocket connection at a time (checked November 2026).
The docs cover REST, the WebSocket protocol, the drops stream, sport ids and error codes. Official clients ship as pinnradar on PyPI and npm, both open source on GitHub. There is no status page, but GET /health reports the state of the live and pre-match feeds. Support runs through Telegram and email.
Who PinnRadar Is For
- Steam and line-move bettors who want Pinnacle drops pushed to them with their own threshold.
- Bot builders who need Pinnacle's live board over a WebSocket with per-event subscriptions.
- Developers testing an idea who want a free key with every sport and no card.
- AI tool builders who want Pinnacle prices inside an assistant through MCP.
If you need closing-line history or prices from many books at once, look at the full directory instead.
Verdict
A Pinnacle feed with a sharp focus: the board over REST and WebSocket, and a dropping-odds stream that most rivals don't offer as a product of its own. The free key covers every sport, the docs are thorough, and official SDKs and an MCP server save setup time. Budget $198 a month for REST plus the WebSocket add-on if you want the full live board pushed to you.
Last updated: ยท How providers get listed
Frequently Asked Questions
PinnRadar Alternatives
Similar providers from the directory worth shortlisting alongside PinnRadar.
Want Pinnacle prices and line drops in your code?
The free key takes an email address and no card. Pull the live and pre-match board over REST, then step up to the drops stream or the WebSocket when you need pushes.
Are You the Team Behind PinnRadar?
Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.