On the wire · 04:47:29 UTC Live 550 · Prematch 14,364 · Markets 57,016 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Antwort · Frontend · Sicherheit

Pinnacle-Quoten in Browser-JavaScript

Aktualisiert am · PinnFeed · 1 Min. Lesezeit

Antwort: /v1/*-REST-Antworten enthalten Access-Control-Allow-Origin: *, daher funktioniert fetch() ohne CORS-Fehler. Problem ist der Key: alles im Frontend ist sichtbar. Für öffentliche Seiten PinnFeed von einem kleinen Server (oder Serverless) mit PINNFEED_KEY aufrufen und nur das Nötige zurückgeben. Browser können keine Header auf WebSockets setzen; ein Browser-Socket bräuchte ?key= in der URL und würde den Key ebenso leaken.

Ok für einen privaten Test#

<script>
fetch('https://pinnfeed.io/v1/odds?sport=tennis&market=moneyline&main=true&limit=5', {
  headers: { 'x-api-key': 'ps_live_your_key' }   // visible to anyone who opens this page
}).then(r => r.json()).then(d => console.log(d.events));
</script>

Öffentliche Seite: Proxy-Muster#

// server.js (Node 18+), run with PINNFEED_KEY in the environment
import http from 'node:http';
http.createServer(async (req, res) => {
  if (!req.url.startsWith('/odds')) { res.writeHead(404).end(); return; }
  const r = await fetch('https://pinnfeed.io/v1/odds?sport=tennis&market=moneyline&main=true&limit=20', {
    headers: { 'x-api-key': process.env.PINNFEED_KEY },
  });
  res.writeHead(r.status, { 'content-type': 'application/json', 'cache-control': 'max-age=5' });
  res.end(await r.text());
}).listen(3000);

Kurzer Cache hält viele Besucher innerhalb des Rate-Limits (Free 1 req/s, Hobby 2, Builder 10, Pro 30). Fertige Proxies: FastAPI, Cloudflare Worker, Supabase Edge.

Live-Updates in der Seite#

WebSocket auf dem Server (Builder) halten und nur Änderungen per eigenem WS oder SSE an den Browser weitergeben. Node-Reconnect.

CTA#

Builder (99 €/Monat). 3 Tage Testphase; Karte erforderlich. REST gratis: Signup. Key geleakt? Rotieren.

Häufige Fragen#

Kann ich einen Key auf meine Domain beschränken?#

Keine Domain-Beschränkung — deshalb ist der Proxy das sichere Muster.

Sendet der WebSocket CORS-Header?#

CORS gilt nicht für WebSockets; das Problem ist der Key in der URL aus dem Browser.

Bildungsinhalt für Erwachsene?#

Ja (18+).

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

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.