Pinnacle-Quoten in Echtzeit, per WebSocket
PinnFeed ist eine Pinnacle-Quoten-API für alle, die programmieren: ein einziger WebSocket, der zuerst einen Snapshot schickt und danach nur noch, was sich geändert hat. Du filterst serverseitig nach Sportart, Liga und Markt, jede Linie kommt mit ihrer fairen Quote ohne Marge, und die Schlussquote wird archiviert. Ein Pinnacle-Konto brauchst du nicht.
Der WebSocket-Plan ist Builder, 99 €/Monat (inkl. MwSt.): Echtzeit-Push, alle 13 Sportarten, alle Märkte und Schlussquoten. Jeder bezahlte Plan startet mit 3 Tagen kostenlos (Karte erforderlich; Abbuchung am vierten Tag, sofern du nicht kündigst).
Gebaut für den Bot, nicht für den Browser#
Alles, was du sonst selbst schreiben müsstest (Reconnects, Merge-Regeln, Quotenumrechnung, Margenentfernung, Erkennung des Anpfiffs), erledigen wir einmal auf unserer Seite. Bei dir kommt sauberes JSON an.
- Push statt Polling. Einmal abonnieren, dann kommen Deltas. Ein ruhiger Markt kostet dich nichts.
- Serverseitige Filter. Nach Sportart, Liga, Event, Markttyp sowie Live oder Pre-Match. Du bekommst nur, was du anforderst.
- Faire Quoten und Schlussquoten. Jeder Markt trägt seine Marge und eine faire Dezimalquote pro Ausgang. Beim Anpfiff wird der letzte Pre-Match-Preis als Schlussquote gespeichert.
- Stabiles Schema. Events und Märkte mit stabilen ids, Dezimal- und amerikanische Quoten, Linien, Perioden, Maximaleinsatz und Cutoff-Zeit.
- Gehostetes MCP. Ein MCP-Server unter
/mcplässt Claude, Cursor, Copilot und ChatGPT mit deinem Key Live-Quoten, Dropping Odds und Schlussquoten lesen. - Keys in Selbstbedienung. Keys anlegen, umbenennen und widerrufen, Nutzung pro Key ansehen und den Plan im Dashboard wechseln.
Die 13 Sportarten: Fußball, Tennis, Basketball, Eishockey, American Football, Baseball, Rugby, MMA, Boxen, Volleyball und Handball, E-Sport, Golf und Cricket.
Ein Client, der funktioniert#
Verbinden, Live-Fußball abonnieren und jede Bewegung sehen. Es ist ein normaler WebSocket mit JSON: Python, Node oder jede andere Sprache.
# pip install websockets
import asyncio, json, os, websockets
async def main():
async with websockets.connect("wss://pinnfeed.io/v1/stream",
additional_headers={"x-api-key": os.environ["PINNFEED_KEY"]}) as ws:
await ws.send(json.dumps({"type": "subscribe", "sports": ["soccer"], "live": True, "markets": ["moneyline"], "main": True}))
async for raw in ws:
msg = json.loads(raw)
if msg["type"] == "ping":
await ws.send('{"type":"pong"}') # auf den Heartbeat antworten, sonst schließt der Server
elif msg["type"] == "delta":
print(len(msg["changes"]), "changes")
asyncio.run(main())
Den vollständigen Client mit Quotenbuch im Speicher und Reconnect findest du in der Python- und Node-Anleitung.
Erst der Snapshot, dann nur Änderungen#
- Snapshot und Deltas. Beim Abonnieren ein Snapshot in mehreren Teilen, danach nur die Märkte, die sich ändern, gebündelt pro Update.
- Entfernungen sind explizit. Gesperrte oder abgerechnete Märkte kommen als
op: "remove", damit dein Quotenbuch nie veraltete Preise zeigt. - REST spiegelt den Socket. Dieselben Objekte liefert
GET /v1/oddsfür Cronjobs und Backfills.
Push gegen Polling: die Rechnung#
Ein Client, der pollt, sieht eine Änderung erst bei seiner nächsten Anfrage: im Schnitt ein halbes Intervall zu spät, im schlimmsten Fall ein ganzes, plus die Round Trip Time. Ein WebSocket hat kein Intervall. Das ist Arithmetik, kein Benchmark, du kannst es selbst nachrechnen.
| Kennzahl | WebSocket-Push | REST alle 5 s | REST alle 30 s | REST alle 60 s |
|---|---|---|---|---|
| Wann du eine Änderung siehst | Sobald sie passiert | Beim nächsten Poll | Beim nächsten Poll | Beim nächsten Poll |
| Durchschnittliche Zusatzverzögerung | Keine | 2,5 s | 15 s | 30 s |
| Maximale Zusatzverzögerung | Keine | 5 s | 30 s | 60 s |
| Anfragen pro Stunde, ein Endpoint | 1 Verbindung | 720 | 120 | 60 |
Netzwerklaufzeit und Verarbeitung betreffen beide Varianten und sind nicht eingerechnet. Unser REST im Free-Plan ist absichtlich um 30 s verzögert; REST in Hobby und alle WebSocket-Pläne laufen in Echtzeit.
Preise#
| Plan | Preis (EUR, inkl. MwSt.) | Was drin ist |
|---|---|---|
| Free | 0 € | REST mit 30 s Verzögerung, 2 Sportarten, 1 Req/s, 1.000 Anfragen/Tag, ohne Karte |
| Hobby | 29 €/Monat | REST in Echtzeit, 3 Sportarten, 2 Req/s, kein WebSocket |
| Builder | 99 €/Monat | Der WebSocket-Plan: 3 Verbindungen, alle 13 Sportarten, alle Märkte und Props, REST 10 Req/s, Schlussquoten |
| Pro | 199 €/Monat | 10 WebSocket-Verbindungen, 30 Req/s, Raw Frames |
| Enterprise | Individuell | Exporte des Schlussquoten-Archivs, SLA und kommerzielle Lizenz |
Der WebSocket-Preis mit seiner Einschränkung: Stand 9. November 2026 war Builder der niedrigste veröffentlichte Monatspreis, den wir für einen Pinnacle-Quoten-WebSocket für Live und Pre-Match gefunden haben. Zahlen, Quellen und Vorbehalte stehen auf der Preisseite zum WebSocket. Alle Limits ansehen.
Häufige Fragen#
Gibt es noch eine öffentliche Pinnacle-API?#
Pinnacle hat seine öffentliche API im Juli 2025 für die meisten Nutzer geschlossen. PinnFeed ist ein unabhängiger Dienst, der Pinnacle-Preise über einen normalisierten WebSocket und eine REST-API an Entwickler liefert. Ein Pinnacle-Konto brauchst du nicht.
Warum ein WebSocket statt Polling einer REST-API?#
Ein Client, der pollt, sieht eine Änderung erst bei der nächsten Anfrage, im Schnitt also ein halbes Intervall zu spät. Über den WebSocket pusht PinnFeed jede Änderung, sobald sie bei unserem Server ankommt, gefiltert auf dein Abo und mit fairen Quoten. Builder (99 €/Monat) ist der WebSocket-Plan.
Was ist eine faire Quote (ohne Marge)?#
Pinnacles Preise enthalten eine Marge. Wir entfernen sie mit der multiplikativen Methode und liefern für jeden Ausgang die faire Wahrscheinlichkeit und die faire Dezimalquote. So vergleichst du jeden Buchmacher ohne eigene Rechnung mit der schärfsten Linie.
Gibt es einen kostenlosen Plan?#
Ja. Free gibt REST-Zugriff auf zwei Sportarten mit 30 Sekunden Verzögerung und 1.000 Anfragen pro Tag, ohne Karte. Hobby (29 €/Monat) macht REST in Echtzeit; Builder (99 €/Monat) bringt den Echtzeit-WebSocket dazu.
Kann ich jederzeit kündigen?#
Ja. Jeder bezahlte Plan startet mit 3 Tagen kostenlos (Karte erforderlich, Abbuchung am vierten Tag, sofern du nicht kündigst) und läuft monatlich über Stripe; Kündigung oder Planwechsel mit einem Klick im Dashboard. Krypto-Pläne werden für 1, 3 oder 12 Monate vorausbezahlt und verlängern sich nie automatisch.
Sind die Inhalte nur für Erwachsene?#
Ja. PinnFeed ist ein Daten-Tool, und die Inhalte dienen der Bildung, für Erwachsene ab 18 Jahren. Nichts hier ist ein Tipp oder ein Gewinnversprechen. Spiele verantwortungsvoll und nur dort, wo es legal ist.