Skip to content

OddsPush API Review 2026

OddsPush streams Pinnacle's live prices to your bot over one WebSocket, with a REST API for the current book. Plans start at $69 a month, paid in crypto, after a 7-day free trial.

OddsPush at a Glance

OddsPush Pinnacle Odds API Logo
OddsPush
๐Ÿ’ฒ๐Ÿ’ฒ
Free Tier
Pregame Live Bet365 Pinnacle Closing SGP Futures Deeplinks Settlement Stats Schedules Websocket MCP Discord

Streaming from: REST + WebSocket, $138/mo (the 7-day trial includes 1 WebSocket connection)

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 OddsPush Is

OddsPush is a live Pinnacle odds feed built for trading bots. Your client opens one WebSocket, and OddsPush pushes every Pinnacle price change down it. A small REST API returns the current book when you need to look something up. Everything comes from one book, so there is no aggregation layer to reason about.

The site puts the delay at about 30 ms from Pinnacle publishing a price to a bot hosted in Europe. That is OddsPush's own figure, and we haven't measured it yet. The service runs in Western Europe, so a bot farther away adds its own network time. You don't need a Pinnacle account or Pinnacle API access. OddsPush says it isn't affiliated with, endorsed by or sponsored by Pinnacle, and it describes itself as a relay that passes prices on as received.

The site went up in November 2026, so the public track record is short. We wrote this review from the docs and haven't tested a key yet.

Coverage and Markets

Every plan, the trial included, covers the same 13 sports: soccer, tennis, basketball, hockey, American football, baseball, rugby, MMA, boxing, volleyball and handball, esports, golf and cricket. Each one has a sport_id that you subscribe to.

Market depth changes by sport:

  • Soccer, tennis, basketball, hockey, American football, baseball, volleyball, handball and esports: moneyline, spreads, totals, team totals and lines by period (halves, sets, quarters, innings or maps, depending on the sport).
  • Rugby: moneyline, spreads, totals and lines by half.
  • MMA, boxing and cricket: moneyline and totals.
  • Golf: moneyline.

Prices arrive as American odds, the way Pinnacle quotes them. The feed centers on live markets. Some pre-match prices travel on the stream's pre channel, and OddsPush offers the full pre-match board on request. The docs don't mention closing lines or a price archive, so pair it with a historical odds source if you backtest.

The WebSocket Stream and Channels

The stream lives at wss://feed.oddspush.com/v1/stream. You send a login message with your key within 15 seconds, then a subscribe message with the sports you want. The server answers with a snapshot of the current book and then every change on top of it, so a bot that connects mid-game starts with full prices.

Prices travel on named channels:

  • ld: the displayed price and the source of truth.
  • both: displayed prices, often for events that aren't on ld.
  • dz: volatile "danger zone" moments, which the docs tell you to keep in a separate book.
  • pre: pre-match prices for some upcoming matchups.

A streaming plan gets one WebSocket connection, and a key works from one IP address at a time. A new IP takes over and closes the old connection, so run the client from one server. The docs also ask you to turn off per-message compression and to host near Ireland for the lowest delay. For more on push feeds and polling, see our live odds guide.

OddsPush Pricing and the Free Trial

There are two plans, and every sport comes with both:

  • REST: $69 a month, with no stream.
  • REST + WebSocket: $138 a month, with one stream connection.

Prepaying longer costs less. Three months is $186 on REST or $373 on REST + WebSocket, 10% off. Six months is $331 or $662, 20% off.

Payment is prepaid crypto (USDC, USDT, BTC and others) through an invoice from your account. There's no card option and no auto-renewal, and fees are non-refundable. That makes the trial the right first step: seven days of REST and WebSocket with no card, one per person. OddsPush switches it on by hand after you message @oddspush on Telegram.

Getting an API Key

Sign up on the OddsPush site with an email address, then open the link that arrives. It works once, for 30 minutes, and the page shows your key. Keys start with opk_ and run to 47 characters. There's one key per account, and it also logs you in to the account page.

The key does nothing until a trial or plan is active. To start the 7-day trial, message @oddspush on Telegram with your account email, and OddsPush switches it on by hand. The seven days count from then, and you don't need a card (checked November 2026). REST calls send the key in the x-token header. The WebSocket takes it in the first login message.

A First Request in Python

This sample calls GET /v1/events for soccer (sport_id 1) on the ld channel. The answer holds a count and one row per event, with the open market counts for each channel. It comes from the docs, checked November 2026, and we haven't run it, because we don't hold a key yet.

import os

import requests

BASE = "https://feed.oddspush.com/v1"
KEY = os.environ["ODDSPUSH_API_KEY"]

resp = requests.get(
    f"{BASE}/events",
    params={"sport_id": 1, "channel": "ld"},
    headers={"x-token": KEY},
    timeout=10,
)
resp.raise_for_status()
data = resp.json()

print(data["n"], "events")
for event in data["events"][:5]:
    print(event["event_id"], event["sport_id"], event["markets"])

Run it from the same machine as any open stream, because a request from a new IP takes over the key. For prices, call /v1/events/{event_id} and read merged, the price to show.

Rate Limits, Docs and SDKs

REST calls are rate limited per account, as a burst and then a steady rate per minute, but the docs publish no number. Past the limit you get HTTP 429 with rate_limited and a retry-after header that gives the seconds to wait. The stream's limits are public. The trial allows 1 connection, 6 snapshots and 200 MB of snapshots an hour, and 6 reconnects a minute. REST + WebSocket doubles those to 12 snapshots, 400 MB and 12 reconnects, still on 1 connection.

There's no official SDK. The docs include reference clients in Python and Node.js, and the integration guide puts the whole protocol in one Markdown file for coding agents. We found no changelog or status page, but GET /v1/health needs no key and returns {"ok": true} while the feed flows. Support runs through email and Telegram (@oddspush).

Who OddsPush Is For

OddsPush fits one job: a bot that has to react to Pinnacle's live prices as they move.

  • In-play trading bots that keep a live price book and act on each change.
  • Sharp-line models that use Pinnacle as the reference price during a game.
  • Crypto-first teams that like prepaid plans with no card and no renewal.

The terms cover personal use and your own internal operations. They bar republishing the data on a website, app or API, so a product for third parties needs a different feed. If you want prices from several books, pair OddsPush with an aggregator from the API directory.

Verdict

For a feed this new, the documentation is a pleasant surprise. The integration guide covers the full protocol, reconnection rules and close codes, with reference clients in Python and Node.js. The pricing fits on one line, and every sport comes with every plan.

The 30 ms figure is still OddsPush's own, and a week of real use will tell you more than any spec sheet. The trial costs nothing, so start one and time the stream from your own server before you pay.

Last updated: ยท How providers get listed

Frequently Asked Questions

OddsPush has a 7-day free trial, with no permanent free plan. The trial includes REST and WebSocket with no card, one per person. It starts when OddsPush switches it on after you message @oddspush on Telegram.
REST costs $69 a month and REST + WebSocket costs $138 a month. Three-month plans save 10% ($186 and $373) and six-month plans save 20% ($331 and $662). All plans are prepaid in crypto, with no card option and no auto-renewal.
OddsPush covers 13 sports: soccer, tennis, basketball, hockey, American football, baseball, rugby, MMA, boxing, volleyball and handball, esports, golf and cricket. Every plan includes all of them. Markets depend on the sport and include moneyline, spreads, totals, team totals and lines by period.
Partly. OddsPush centers on live markets. Some pre-match prices travel on the stream's pre channel, and the full pre-match board is available on request. If pre-match is your main need, ask OddsPush about it before you buy a plan.
No. OddsPush needs no Pinnacle account and no Pinnacle API access. You sign up with an email address and use an OddsPush key. OddsPush says it isn't affiliated with, endorsed by or sponsored by Pinnacle.
OddsPush states about 30 ms from Pinnacle publishing a price to a bot hosted in Europe. We haven't measured that figure yet. The service runs in Western Europe, so a bot farther away adds network time. The trial is a good way to time it from your own server.
Sign up on the OddsPush site with an email address and open the link that arrives. The page shows your key, which starts with opk_. Then message @oddspush on Telegram to switch on the 7-day trial, or pay for a plan from your account. The key does nothing until one of those is active.
REST is limited per account, and the docs publish no number. A 429 response carries a retry-after header. The stream allows 1 connection on every streaming plan. REST + WebSocket allows 12 snapshots and 400 MB of snapshots an hour and 12 reconnects a minute. The trial allows half of that.

OddsPush Alternatives

Similar providers from the directory worth shortlisting alongside OddsPush.

Want live Pinnacle prices in your bot?

The 7-day trial covers REST and WebSocket with no card. Connect a client, watch the stream, and time the delay from your own server before you pay.

Are You the Team Behind OddsPush?

Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.

Each of these works best on a reviews or "As cited on SportsAPIs.dev" page that your homepage links to, or in a testimonial strip on the homepage.

Badge

OddsPush is listed on SportsAPIs.dev
<a href="https://sportsapis.dev/apis/oddspush" title="OddsPush on SportsAPIs.dev">
  <img src="https://sportsapis.dev/assets/images/badges/listed-on-sportsapis.svg"
       alt="OddsPush is listed on SportsAPIs.dev" width="220" height="48">
</a>

Text link

<a href="https://sportsapis.dev/apis/oddspush">Read the OddsPush review on SportsAPIs.dev</a>

Review quote

<blockquote>
  Live Pinnacle odds pushed over one WebSocket, built for trading bots.
</blockquote>
<p><a href="https://sportsapis.dev/apis/oddspush">SportsAPIs.dev review</a></p>

Want a Featured Partner spot or to update your listing? Partner with us โ†’