On the wire · 04:49:20 UTC Live 550 · Prematch 14,382 · Markets 56,969 Vol. I · No. 5 · Friday 13 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Antwort · Google Sheets · Trigger

Pinnacle-Odds in Google Sheets per Timer aktualisieren

Aktualisiert am · PinnFeed · 1 Min. Lesezeit

Antwort: Apps Script UrlFetchApp gegen GET /v1/odds, dann einen zeitgesteuerten Trigger (alle 15 Minuten) installieren. Vollständiges Board: Sheets-Guide. Free reicht (30 s Delay, 1.000 Req/Tag).

Nur der Trigger#

const KEY = PropertiesService.getScriptProperties().getProperty("PINNFEED_KEY");
const SPORT = "soccer";

function refreshOdds() {
  const url = "https://pinnfeed.io/v1/odds"
    + "?sport=" + encodeURIComponent(SPORT)
    + "&market=moneyline&main=true&limit=30";
  const res = UrlFetchApp.fetch(url, {
    headers: { "x-api-key": KEY, accept: "application/json" },
    muteHttpExceptions: true,
  });
  if (res.getResponseCode() !== 200) throw new Error(res.getContentText());
  const events = JSON.parse(res.getContentText()).events || [];
  const sheet = SpreadsheetApp.getActive().getSheetByName("Odds");
  const rows = [["home", "away", "home_dec", "away_dec", "fair_home", "updated"]];
  for (const ev of events) {
    const m = (ev.markets || []).find((x) => x.type === "moneyline");
    if (!m) continue;
    const by = Object.fromEntries((m.outcomes || []).map((o) => [o.name, o]));
    rows.push([
      ev.home, ev.away,
      by.home?.decimal, by.away?.decimal, by.home?.fair,
      new Date().toISOString(),
    ]);
  }
  sheet.clearContents();
  sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
}

function installTrigger() {
  ScriptApp.getProjectTriggers().forEach((t) => ScriptApp.deleteTrigger(t));
  ScriptApp.newTrigger("refreshOdds").timeBased().everyMinutes(15).create();
}

Key in Script-Properties speichern, nie in Zellen. Excel: Power Query. Live-Push: Builder (€99/Monat). Bezahlte Pläne: 3-Tage-Test; Karte erforderlich, Belastung nach Tag 3, sofern nicht gekündigt. Bildungsinhalt für Erwachsene (18+).

Fragen, die Leute stellen#

Verbrauchen 15 Minuten das Free-Kontingent?#

96 Calls/Tag bei alleinigem Trigger — unter dem Free-Cap von 1.000/Tag.

Reicht IMPORTDATA?#

IMPORTDATA sendet kein x-api-key. Apps Script nutzen (diese Seite).

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.