On the wire · 05:11:49 UTC Live 585 · Prematch 14,343 · Markets 57,353 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · AEO

Algorithmic sports betting with a Pinnacle odds API

Updated · PinnFeed · 2 min read

Answer: an algo stack that uses Pinnacle as the sharp reference usually has four data jobs: ingest live prices, keep a local book, attach timestamped no-vig closings as labels or features, and keep every feature strictly earlier than the close. PinnFeed fills the first and third: wss://pinnfeed.io/v1/stream on Builder for live + prematch deltas, and GET /v1/closing?date=YYYY-MM-DD for the UTC-day close with fair / fairProb. It does not place bets, and it is not a multi-book feature store. This page is educational (18+). We do not promise an edge, and we do not claim a deeper closing history than other Pinnacle feeds.

Where Pinnacle sits in the stack#

  1. Ingest — subscribe on /v1/stream (Builder) or poll /v1/odds. Store event.id, market, decimal, fair, fairProb, margin, maxStake and a timestamp.
  2. State — apply snapshot then delta frames; drop on remove. Protocol: snapshot vs delta.
  3. Labels / features — join GET /v1/closing only at instants your model would already have had. Training on the result, or on a close your bot would not have seen, is look-ahead. Narrower recipe: ML on Pinnacle closing odds, backtesting / CLV.
  4. Risk and execution — a maxStake floor around 100 is a common thin-line filter. Execution, if any, is on a licensed book and is out of band. PinnFeed is odds data only.
import os, requests
r = requests.get(
    "https://pinnfeed.io/v1/closing",
    params={"date": "2026-11-03", "sport": "soccer", "main": "true", "limit": 100},
    headers={"x-api-key": os.environ["PINNFEED_KEY"]}, timeout=10)
# Each row is that UTC day's Pinnacle close — use fairProb as a label
# and keep only features timestamped strictly before the close.

The closing archive is a UTC-day snapshot, not tick-level history, and it grows from the day it started — see REST docs for the earliest date. Related: bot architecture, Python sports-betting API chooser.

Closing endpoints need Builder (€99/mo, or €990/yr ≈ €82.50/mo) or Pro. Hobby (€29/mo) is real-time REST only, with no stream and no closing archive.

Try it#

Start a 3-day Builder trial (€99/mo, VAT incl. where applicable) or get a free delayed REST key to inspect the live schema. Paid plans: 3-day trial; a card is required and it is charged after day 3 unless you cancel. Pricing.

Educational content for adults (18+). No tips, no guaranteed profit, no auto-wagering.

Questions people ask#

Will this make a profitable model?#

No promise. The page is a data architecture. Edges vanish, limits move, and look-ahead will fool a backtest.

Is this the same as the ML closing-odds page?#

That page is the labelling pattern. This one is the wider algo stack — ingest, state, closings, risk — still without an execution cookbook.

Which plan includes closings and the WebSocket?#

Builder or Pro.

The WebSocket plan: Builder, €99/mo.

Real-time Pinnacle odds pushed over one WebSocket, all 13 sports, every market, no-vig fair odds and closing lines. 3 days free, cancel in one click.

Form K-1 · Free API key

Get your free API key.

One field. No password, no card: enter your email, click the link we send, and your key is on screen.

By continuing you agree to the Terms and Privacy Policy.

One free key per email. Link valid for 20 minutes.