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.
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.
Related Documentation
- Stream Deck Integration - Physical button control for your scoreboard
- Streaming Software Setup - Display scoreboards on your stream
- Quick Start Guide - Get started with Keepthescore.com