Guide
Pinnacle API alternative: Pinnacle odds for your bot, without API access
OddsPush is a Pinnacle API alternative for trading bots: it pushes every Pinnacle price change to your bot over WebSocket about 30 ms after Pinnacle publishes it (bots hosted in Europe), with a REST API for the current book. You only need an OddsPush key, not a Pinnacle account or Pinnacle API access.
Is the Pinnacle API still available?
Not for the general public. Pinnacle's API documentation on GitHub says:
“Access to Pinnacle API suite has been closed for the general public since July 23rd, 2025.”
The same README says Pinnacle now offers data to selected bettors, commercial partners and academic projects that apply to it.
If you are not in one of those groups and your bot needs Pinnacle's prices, OddsPush is the alternative: the prices arrive with an OddsPush key, on a plan you can start today.
What a bot needs from a Pinnacle odds source
A model that trades on Pinnacle's line needs more than a price list refreshed now and then:
- Every price change, not a sample. A move you miss is a move you trade against.
- Lines as well as prices. Spreads, totals and team totals carry their points, and the line moves too.
- Period markets. Halves, sets, quarters, periods or innings, depending on the sport, next to the full game.
- A version to order updates. Messages can arrive out of order; without a version you cannot tell a stale price from a new one.
- A snapshot to start from. A bot that connects mid-game needs the current book at once, then the changes on top of it.
How OddsPush delivers Pinnacle odds
-
Push, not polling. Your bot opens one WebSocket to
wss://feed.oddspush.com/v1/streamand every change is pushed to it, about 30 ms after Pinnacle publishes it for a bot hosted in Europe. Polling is only as fresh as your last request. -
A snapshot on connect. Subscribe and you get the current book first, then one
oddsmessage per change. -
American odds, lines and periods. Each market has a
key, aperiod(0is the full game), andpriceswithpricein American odds andpointsfor the line. -
Merge by version. Every market carries a
version. Apply a market only if its version is higher than the one you hold for thatkey, and skip it if it is lower or equal: the order messages arrive in stops mattering. -
REST for the current book.
GET https://feed.oddspush.com/v1/eventslists the events, and/events/{event_id}returns one event withmerged, the price to show.
13 sports, every live market. Message formats are in the docs, and the rules for a correct book in Keeping a correct book; the sports and their markets are on the coverage page.
What OddsPush is not
- Not a betting account. It is a data feed. It does not place or accept bets and does not hold funds.
- Not a Pinnacle account or Pinnacle API access. Your key works with OddsPush only.
- Not Pinnacle. OddsPush is not affiliated with, endorsed by or sponsored by Pinnacle.
Moving a polling bot over to OddsPush
If your bot used to poll Pinnacle's API, change one thing at a time. Start with REST: the same request-and-read
loop, pointed at https://feed.oddspush.com/v1 with your key in the x-token header.
$ curl -s -H "x-token: $ODDSPUSH_KEY" "https://feed.oddspush.com/v1/events?sport_id=1&channel=ld"
< {"n": 2, "events": [{"event_id": 1638780974, "sport_id": 1, "ld": 3, …}, …]}
When that works, add the WebSocket. Send login with your key, then subscribe to the
sports you want, and drop the polling loop: the snapshot replaces the first poll and the updates replace the
rest.
{"type": "login", "token": "opk_…"}
{"type": "subscribe", "sports": [1], "channels": ["ld", "both"], "snapshot": true}
The Python guide walks through a complete client, and the docs have full Python and Node.js examples with reconnection.
How much a Pinnacle odds API costs with OddsPush
REST is $69 a month: your bot asks for the book when it needs it. REST + WebSocket is $138 a month: every change pushed to you, with REST included. Both cover all 13 sports. Prepaid in crypto, with no card and nothing that renews on its own.
| Plan | 1 month | 3 months | 6 months |
|---|---|---|---|
| REST | $69 | $186 $62/mo · 10% less | $331 $55.17/mo · 20% less |
| REST + WebSocket | $138 | $373 $124.33/mo · 10% less | $662 $110.33/mo · 20% less |
Try it free for 7 days first, with REST and the live stream. Limits and details are on the pricing section.
Questions about switching from the Pinnacle API
- Do I need a Pinnacle account or Pinnacle API credentials?
- No. Your bot logs in with an OddsPush key, the one on your account page. You do not need Pinnacle API access, and you do not need a Pinnacle betting account to receive the prices.
- Can my bot place bets on Pinnacle through OddsPush?
- No. OddsPush only delivers prices. It does not accept or place bets and does not hold funds. If your strategy bets, it does that through whatever account you already use.
- Are the prices changed in any way before they reach my bot?
- No. Each message carries the record as Pinnacle publishes it: nothing rounded, renamed or held back. Prices are American odds, and every plan and the trial get the same prices at the same moment.
Run your bot on Pinnacle's prices
No card. Sign up, then we switch the trial on.
OddsPush is not affiliated with, endorsed by or sponsored by Pinnacle.