Recipes
Pinnacle odds recipes: alerts, storage, bots
Complete, runnable programs built on the pinnodds feed, each one a real deployment rather than a snippet. Every recipe reads its key from PINNODDS_KEY, handles rate limits, and says which plan it needs. The four quickstarts underneath cover the individual calls the recipes are made of.
Recipes
End-to-end
Odds-drop alerts to Telegram
Stream drops, filter by sport, threshold and time to kickoff, dedupe by market, rate-limit your own sends, and run it as a service.
Node · REST · node:sqliteStore Pinnacle odds in SQLite
Poll the prematch board with since cursors at your plan’s rate limit, upsert events and prices, keep a history table and query closing-line value.
Quickstarts
Building blocks
Python quickstart
pip install pinnodds, live board, prematch lines, deltas, drops, errors, raw requests.
Node.js quickstart
npm install pinnodds, TypeScript types, async iterators, AbortController, raw fetch.
Raw WebSocket feed
Every upstream frame verbatim. Subscribe, pong, reconnect, keep your own board.
SSE drop stream
Push alerts, filters, drop_pct maths, REST backfill, one connection per key.
Plans
Before you run anything
A free trial key covers every REST call in these recipes (20 requests a minute, 100 a day). The SSE stream used by the Telegram recipe needs a plan with streaming enabled or the 3-day full demo. Plans are compared on pinnacleapi.net; the API reference is at pinnodds.com/docs.
Disclosure: pinnacleapi.dev is an independent publication. Links to pinnodds marked as referral links may earn us a commission at no extra cost to you. It does not change what we recommend. How we work.