Blog
Notes from the odds desk
Integration how-tos, line-movement write-ups and API walkthroughs, by the people who look after the feed.
REST polling vs WebSocket vs SSE for sports odds: which one fits your use case
Trade-offs between REST snapshots, SSE drop alerts and a raw WebSocket odds feed: what each carries, what it costs, and a decision table by use case.
GuidesBuilding a Pinnacle odds bot with Claude or Cursor using MCP
Connect Claude, Cursor, VS Code or Codex to PinnRadar's MCP server, learn its eight odds tools and their quota cost, and script it with the Claude API.
API & DataHow to get Pinnacle odds from an API in Python
Get a free key, list sports and events, read one event's odds, and poll Pinnacle prices in Python within rate limits, handling 429 and stale data.
GuidesPinnacle odds API pricing explained: choosing between Free, Drops, REST, Edge and Scale
Every PinnRadar plan with exact prices and limits: Free, Drops, REST, Edge, Scale, longer terms, the WebSocket add-on, card and crypto billing.
Odds DropsDetecting dropping odds in real time with Server-Sent Events
How PinnRadar's /odds-drop SSE streams work: drop definition, min_drop and recheck, plus Python and Node.js clients with reconnect, backoff and sport filters.
GuidesClosing line value (CLV): what it is and how to track it with live odds data
What closing line value means, how to remove the margin from the closing price, and how to record your own closing lines from prematch odds data.