Keepthescore.com REST API for scores, leaderboards, and counters
Explore KeepTheScore API for managing live sports scoreboards and leaderboards. Fetch data, update scores, and customize appearance with ease.
Please read this page to understand what the different resources (counters, leaderboards, etc.) are. The API allows you to:
- Fetch all data for leaderboards and scoresheets
- Fetch all data for a live sports scoreboard
- Populate a leaderboard with players, scores and profile images
- Increment or set scores for one player
- Add a round (add scores for all players in one request) including a comment
- Add a player, counter or team
- Update a player or counter
- Delete a player, counter or team
- Set the appearance of leaderboards and scoresheets
The API does not allow you to create a scoreboard
This documentation is a work in progress, just like the API itself. Not everything is documented yet. If you have a request or find something that is confusing or wrong, please write an email to [email protected].
Board Tokens
To use the API you require the edit token from an existing board. You can extract this token from the admin URL of your board.
For instance, this leaderboard has the following admin URL: keepthescore.com/board/xvrynjqlgne/
.
It has the edit token: xvrynjqlgne
and this is required as a path variable for all API requests. See the detailed
documentation below.
(Note, to prevent vandalism, the admin url of this board cannot be opened in a browser. But you can use the API to change it).
Rate limiting
All API endpoints are rate-limited. If you send more than 5 requests per second per board you will be rate-limited for 1 minute.
Exceeded the rate-limit will result in a response code of 429
instead of 200
. If you intend to send many requests, your code should handle this eventuality.
If we get the impression that you are "abusing" the API (and this definition is kept vague on purpose), your board may be deleted without prior notice. Don't worry, we do this very rarely. Examples of abuse include: sending identical API requests every second for many days in a row.
CORS Headers
All responses contain a CORS header (access-control-allow-origin: *), meaning that the API can also be called from a browser.
When relying on the CORS header, ensure that you check whether the route has a trailing slash "/" or not. Otherwise, your API call may fail.