On the wire · 04:34:19 UTC Live 547 · Prematch 14,368 · Markets 56,819 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Antwort · Node.js · WebSocket

Pinnacle-WebSocket-Snapshot und -Deltas in einer Node-Map anwenden

Aktualisiert am · PinnFeed · 1 Min. Lesezeit

Antwort: Nach subscribe wenden Sie die snapshot-Teile in einer Map mit Markt-id (eventId:key) an, danach jedes changes[] der Deltas (upsert / remove). Vollständiger Client: Python/Node-Guide. Braucht Builder (99 €/Monat).

Merge-Logik#

import WebSocket from "ws";

const markets = new Map(); // id -> market object
const KEY = process.env.PINNFEED_KEY;

function applyChange(ch) {
  if (ch.op === "upsert" || ch.type === "upsert") {
    const m = ch.market || ch.value;
    markets.set(m.id, m);
  } else if (ch.op === "remove" || ch.type === "remove") {
    markets.delete(ch.id || ch.marketId);
  }
}

const ws = new WebSocket("wss://pinnfeed.io/v1/stream", {
  headers: { "x-api-key": KEY },
  perMessageDeflate: true,
});

ws.on("open", () => {
  ws.send(JSON.stringify({
    type: "subscribe",
    sports: ["soccer"],
    markets: ["moneyline"],
    main: true,
  }));
});

ws.on("message", (buf) => {
  const msg = JSON.parse(buf.toString());
  if (msg.type === "ping") return ws.send(JSON.stringify({ type: "pong" }));
  if (msg.type === "snapshot" || msg.part != null) {
    for (const m of msg.markets || []) markets.set(m.id, m);
  }
  if (msg.type === "delta" && Array.isArray(msg.changes)) {
    for (const ch of msg.changes) applyChange(ch);
  }
});

Feldnamen folgen der WebSocket-Doku. Bezahlte Tarife: 3 Tage Testphase; eine Karte ist erforderlich und wird nach Tag 3 belastet, sofern Sie nicht kündigen.

Siehe auch: Snapshot und Delta · Node-Reconnect · Raw-Frames (Pro).

Bildungsinhalt für Erwachsene (18+). Keine Tipps, kein Gewinnversprechen. In Deutschland nur bei Anbietern auf der GGL-Whitelist wetten.

Häufige Fragen#

Werden Events genauso gemerged?#

Ja — halten Sie eine zweite Map für Events, wenn Sie Home/Away-Metadaten brauchen; Snapshot und Delta können beides tragen.

Warum Builder?#

Free/Hobby-Schlüssel erhalten 403 plan_lacks_ws am WebSocket. REST-Polling läuft auf Free; Push braucht Builder oder Pro.

Der WebSocket-Plan: Builder, 99 €/Monat.

Pinnacle-Quoten in Echtzeit über einen einzigen WebSocket: alle 13 Sportarten, alle Märkte, faire Quoten ohne Marge und Schlussquoten. 3 Tage kostenlos, mit einem Klick kündbar.

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.