Pinnacle-Quoten in Browser-JavaScript
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.