On the wire · 14:57:01 UTC Live 119 · Prematch 8,510 · Markets 34,179 Vol. I · No. 1 · Monday 9 November 2026 wss://pinnfeed.io/v1/stream
PinnFeed
Answer · Sheets · Excel

Pinnacle odds API for Google Sheets and Excel

Updated · PinnFeed · 2 min read

Answer: call PinnFeed REST GET /v1/odds with header x-api-key from Google Apps Script (UrlFetchApp) or from Excel (Power Query / Office Scripts / a small Python refresh). Free (€0, 30 s delay, 2 sports, 1,000 req/day) is enough for a board refreshed every 15 minutes. Full Apps Script walkthrough: Google Sheets guide.

Google Sheets (core call)#

Store the key in Script properties as PINNFEED_KEY, never in a cell:

// Example fragment — full script in the Sheets guide
function refreshOdds() {
  const key = PropertiesService.getScriptProperties().getProperty('PINNFEED_KEY');
  const url = 'https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=50';
  const res = UrlFetchApp.fetch(url, { headers: { 'x-api-key': key }, muteHttpExceptions: true });
  if (res.getResponseCode() !== 200) {
    console.warn(res.getContentText());
    return; // leave previous rows alone
  }
  const events = JSON.parse(res.getContentText()).events || [];
  // write Starts / League / Home / Away / 1 / X / 2 / fair columns into sheet "Odds"
}

Trigger: time-driven every 15 minutes ≈ 96 calls/day — inside Free's daily quota.

Excel#

Options that stay honest to the API:

  1. Power Query — Web.Contents("https://pinnfeed.io/v1/odds?sport=soccer&main=true", [Headers=[#"x-api-key"=Key]]), then expand events / markets / outcomes.
  2. Python in Excel or a local script with requests, writing to a .xlsx on a schedule.
  3. Do not put the API key in a shared workbook URL.

There is no official Excel add-in; REST JSON is the integration surface (REST docs).

Trial CTA#

Delayed Sheets board: free signup. Real-time push still needs Builder (€99/mo, 3-day trial; card required, charged after day 3 unless cancelled). Related: value betting guide.

Questions people ask#

Can I stream the WebSocket into Sheets?#

Not usefully. Apps Script cannot hold a persistent socket. Use REST on a timer for Sheets; use the WebSocket client for live tools.

Why x-api-key instead of a query string?#

Preferred auth in the docs. Headers keep the key out of access logs and cell formulas.

Is this educational content for adults?#

Yes (18+). Spreadsheet tooling, not tips.

The WebSocket plan: Builder, €99/mo.

Real-time Pinnacle odds pushed over one WebSocket, all 13 sports, every market, no-vig fair odds and closing lines. 3 days free, cancel in one click.

Form K-1 · Free API key

Get your free API key.

No password. We email you a link; click it and your key is on screen.

One free key per email. Link valid for 20 minutes.