How to get sports odds into Google Sheets
Pulling live sports odds into Google Sheets and Excel: a ready-made Apps Script kit, a short custom script, and CSV export for historical lines.
Two honest routes. the-odds-api ships ready-made Google Sheets and Excel add-ons (the-odds-api.com/features/spreadsheets.html, read 2026-08-28), the fastest zero-code path. With ParlayAPI you paste one Apps Script file from the open-source parlayapi-sheets kit and get live odds, line shopping, and devig math as sheet formulas on the free tier's 1,000 monthly credits.
More detail
The parlayapi-sheets kit at github.com/JacobiusMakes/parlayapi-sheets wraps the API in custom sheet functions: copy the Apps Script file into Extensions, Apps Script, add your free key, and formulas populate cells with live prices. No add-on install, and the script is yours to edit.
Rolling your own is a dozen lines: UrlFetchApp.fetch the odds endpoint with your X-API-Key header, JSON.parse the body, and write rows with setValues. Attach a time-driven trigger and the sheet refreshes itself on whatever interval your credit budget supports.
For historical work, skip scripting entirely: /v1/historical/closing-lines.csv ships a day of prop closing lines as CSV per request, which both Sheets and Excel open natively. In Excel, Power Query's From Web connector consumes the live JSON endpoints with the same key.
Endpoint
GET /v1/sports/{sport_key}/odds
// Google Apps Script
const resp = UrlFetchApp.fetch(
"https://parlay-api.com/v1/sports/americanfootball_nfl/odds?regions=us&markets=h2h",
{ headers: { "X-API-Key": "YOUR_KEY" } }
);
const games = JSON.parse(resp.getContentText());
Why developers use it
- Open-source Apps Script kit: copy one file, no coding
- CSV export endpoints open natively in Sheets and Excel
- Free tier covers a modest refresh schedule with no card
FAQ
Can the sheet refresh automatically?
Yes. Apps Script time-driven triggers rerun the fetch on a schedule. Each refresh is a normal metered request, so size the interval to your credit budget with the table at /v1/meta/credit-costs.
Does this work in Excel too?
Yes. Power Query's From Web connector reads the same JSON endpoints, and the CSV export endpoints open directly. the-odds-api also offers a dedicated Excel add-on if you prefer zero code (the-odds-api.com/features/spreadsheets.html, read 2026-08-28).
Do I need a paid plan for a spreadsheet tracker?
Usually not. An hourly one-region three-market refresh costs about 72 credits a day, which overruns the free tier's 1,000 monthly credits, so free trackers refresh a few times a day or trim markets. Paid tiers at /pricing cover heavier schedules.
Related
/use-cases/google-sheets-odds-tracker/answers/how-odds-api-credits-work/answers/odds-api-no-credit-card/docs