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

Dropping odds alerts from a Pinnacle API

Updated · PinnFeed · 2 min read

Answer: treat alerts as a delivery layer on top of the feed, not as a separate product. Poll GET /v1/drops on a short interval, or detect steam on the Builder WebSocket, then send the same payload to whichever channel you already run — log, email, Slack, Discord, Telegram. This page is the cross-channel how-to. Endpoint fields live on dropping odds API; a Sheets-only recipe is email alerts from Google Sheets; a Telegram-oriented walkthrough is steam chasing alerts.

One payload, many channels#

import os, requests

KEY = os.environ["PINNFEED_KEY"]  # ps_live_...
r = requests.get(
    "https://pinnfeed.io/v1/drops",
    params={"sport": "soccer", "minutes": 10, "min_pct": 5},
    headers={"x-api-key": KEY}, timeout=10)
body = r.json()
rows = body.get("drops", body) if isinstance(body, dict) else body
for row in rows:
    text = f"{row.get('teams') or row.get('eventId')} {row.get('market')} {row.get('from')} → {row.get('to')} ({row.get('dropPct')}%)"
    # deliver(text)  # your email / Slack / Discord / Telegram hook
    print(text)

Deduplicate on (eventId, market, outcome, movedAt) so a 30-second poll does not repeat the same drop. Free keys follow the 30 s delay and 2-sport limit; Hobby is real-time REST; sub-second steam still needs Builder (€99/mo) and a rolling-window detector (steam moves, Node poller, Slack alert, WhatsApp picks bot).

A poller only sees a change on the next request, so on average it is half an interval late, plus round-trip. That is arithmetic, not a latency claim against any named vendor.

Honest limits#

  • Drops are Pinnacle-only. We do not alert on other books.
  • An alert is not a bet, and it is not a locked edge. Limits move and prices bounce.
  • Do not ship the API key to the browser, and do not redistribute the raw feed (acceptable use).

Try it#

Get a free delayed REST key to poll /v1/drops, or start a 3-day Builder trial (€99/mo, VAT incl. where applicable) for live push. 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.

Questions people ask#

Which channel does PinnFeed send alerts to?#

None by itself. The API returns drops; you post them to email, Slack, Discord, Telegram or a log.

Is this the same as the Sheets email alert page?#

No. That page is a no-code Sheets recipe. This one is the API pattern you can point at any channel.

Do I need the WebSocket to alert?#

Not for a /v1/drops poller. Use the WebSocket when you want to detect steam between REST snapshots.

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.