API - Control Your Scoreboard Programmatically

REST API for Keepthescore.com sports scoreboards. Control scores, timers, and game state for basketball, baseball, football and more.

New here? Start with the quick start guide before you wire anything up.

The API lives at /api/v1/sport/. It lets you read and (for some sports) update sports scoreboards from your own code.

Sports with full read/write support

Three sports currently support both reads and writes:

  • Basketball - Update scores, fouls, timeouts, period, possession, and timers
  • Baseball - Update scores, balls, strikes, outs, bases, innings, and timers
  • Football (American) - Update scores, timeouts, quarter, downs, yards, possession, and timers

Read-only sports

Every other sport is read-only for now. You can GET the scoreboard data, but you can't update it via the API. That covers Soccer, Hockey, Tennis, Volleyball, Softball, and the rest.

What you can do

Reads (every sport)

  • Pull the full scoreboard as JSON
  • Get current scores, timers, periods/innings, and game state
  • Read team names, colors, and logos
  • Pull all game stats and settings

Writes (basketball, baseball, football)

  • Set scores and game state
  • Run timers and shot clocks
  • Handle sport-specific fields: innings, outs, downs, fouls, possession, and so on
  • Increment or decrement values, with the scorekeeping logic handled for you

Getting access

Sports scoreboards authenticate using the same token that's already in your board's URL.

Where the token lives

  • https://keepthescore.com/board/abcdefghijklm/
  • The token is abcdefghijklm. It's the 13-character code right after /board/.

Two kinds of tokens

  • Read token: the public URL token. Read-only.
  • Edit/Admin token: the admin URL token. Reads and writes.

Scoreboard URL showing the token The token is the 13-character code in your scoreboard's URL

What people build with it

Stream Deck control

Map the API to physical buttons so you can run the scoreboard without touching a laptop mid-game:

  • One-touch score updates
  • Dedicated timer buttons
  • Sport-specific actions like fouls, outs, and downs
  • Handy for streamers and scorekeepers

More here: Stream Deck Integration Guide

Custom integrations

Or roll your own:

  • Automated scoring from external data sources
  • Custom dashboards with your branding
  • Multi-board displays for tournaments
  • Integration with other sports software

Rate limits

Every endpoint is rate-limited so one client can't flood a board:

  • Limit: 5 requests per second per board
  • Cooldown: 1 minute if you exceed it
  • Response code: 429 (Too Many Requests) when you're rate-limited

Handle 429 responses in your client. This matters most if you're polling or pushing updates fast.

CORS

Every response sends access-control-allow-origin: *, so you can call the API straight from a browser.

Note: Watch the trailing slash on routes when calling from CORS. Hit the wrong variant and the request will fail.

API reference

The full reference is below.

Note: The API still gets new features and tweaks based on what users ask for, so check back if something you need is missing.

Stuck?

Got a question, a feature request, a bug, or just feedback? Email us at [email protected]. A real person reads it.