Real-time Pinnacle odds API

Catch the drop the instant it happens.

Live Pinnacle odds and drop alerts, pushed to your bot in milliseconds over REST, SSE, and WebSocket. When the sharpest line in the world moves, you're on the soft book before it follows.

Event-driven push Sharp reference price Live + prematch No-vig prices
pinnapi · live terminal LIVE
Pinnacle detect your bot
Pinnacle detect your bot
18 ms frame → your bot
drop stream0 caught today
Illustrative live demo · only sub-1% moves shown here · your key streams the real Pinnacle drops
Why milliseconds matter

On Pinnacle, the price is gone in milliseconds.

Pinnacle is the sharpest book in the world — when its line breaks, the soft books haven't moved yet, and that gap is your bet. Most odds APIs poll on a timer, so you only hear about the move on their next request — by then the window is closing. We push the instant the line breaks, so you're on it while it's still open.

pinnapi · push
polling API · 1s
You caught it earlier
~536ms How far a 1-second poller trails the market — plenty of time for the sharp price to move and the soft books to start following.
First to the move Pinnacle is the reference price. We push the instant it breaks, so you're on the soft book before the line corrects.
Latency is the edge A slower feed means a worse number — or no bet, because the gap already closed. Milliseconds are the margin.
Why pinnapi

Arbing is a race. We make sure you win it.

The value lives in the gap between Pinnacle moving and the soft book following. Here's how we put you on the right side of it.

Two enemies. We kill one.

Arbing has two problems: getting limited, and being too slow.

We can't stop a book from limiting you — but we make sure you're never the slow one: on the value before the line corrects, every time.

10
sports covered
2
pipelines · live + prematch
3
delivery modes · REST · SSE · WS
0
polling — fully event-driven
Built for steam

Everything you need to trade on Pinnacle moves.

One feed for sharp prices. We watch every market on Pinnacle and surface the move the moment the line breaks.

Event-driven drop detection

No tick timers, no polling. Every price change is checked the instant it lands — MQTT push for in-play, version-diffed REST for prematch — so an alert fires the moment a market actually moves.

Live + prematch

In-play push and pre-game polling run side by side, sharing the same detection engine.

No-vig fair prices

Margin-stripped probabilities and handicap-aware comparison on every leg.

Drop-in compatible

Same response schema as the engine you already run. Swap the base URL and go.

Stream it your way

REST kit endpoints for snapshots, a Server-Sent-Events stream for drop alerts, and a raw WebSocket passthrough of every Pinnacle frame. Pick the surface that fits your stack — they all read from the same store.

How it works

From line break to your bot in milliseconds.

1

Grab your key

Sign up, get an API key instantly, and authenticate every request with a single header.

2

We watch the board

We hold a live mirror of every Pinnacle market — in-play and prematch — and diff every update as it arrives.

3

You get the drop

The instant a price falls past your threshold, the alert hits your SSE stream, WebSocket, or REST poll.

Developer-first

A few lines to live odds.

Plain HTTP and a token. No SDK lock-in, no ceremony.

snapshot · REST
# live markets for soccer
curl https://pinnapi.com/kit/v1/markets \
  -H "x-portal-apikey: $KEY" \
  --data-urlencode "sport_id=1" \
  --data-urlencode "event_type=live"

# → array of events with all markets + periods
drop alert · SSE
const es = new EventSource(
  "https://pinnapi.com/odds-drop?token=$TOKEN");

es.onmessage = (e) => {
  const drops = JSON.parse(e.data);
  // { market, from_price, to_price, drop_pct… }
  drops.forEach(bet => trade(bet));
};
SoccerTennisBasketballHockeyFootballBaseballRugbyEsportsGolfSoccerTennisBasketballHockeyFootballBaseballRugbyEsportsGolf
Pricing

Start free. Scale when the edge pays for it.

Monthly pricing below — quarterly and semi-annual terms save up to 24%. Full matrix in the dashboard.

Trial
Kick the tires
$0
  • REST snapshots
  • 100 requests / day
  • All 10 sports
Stream
SSE drop alerts
$99/mo
  • /odds-drop SSE stream
  • Live + prematch drops
  • Custom drop thresholds
Most popular
Pro + SSE
REST speed + alerts
$149/mo
  • 10 requests / second
  • SSE drops included
  • WebSocket add-on ready
Scale
High-volume desks
$229/mo
  • 30 requests / second
  • SSE drops included
  • Priority throughput

Stop refreshing. Start catching.

Spin up a key and have live Pinnacle drops streaming into your stack in minutes.