Developers
Public API
JSON over HTTPS at https://udeck.botaweso.me. No API key. The Switch uses lookup for box art; this site uses search for the Covers gallery. EasyAPI is a separate, short-lived SteamGridDB key transfer.
Cover object
Lookup and search items share this shape. url is JPEG 600×900 for the Switch. thumb is WebP for the gallery. original is the pack PNG. titleId is a 16-digit hex program ID, or null if unmatched.
{
"name": "Mario Kart 8 Deluxe",
"file": "Mario Kart 8 Deluxe - 0100152000022000",
"url": "https://udeck.botaweso.me/covers/jpeg/….jpg",
"thumb": "https://udeck.botaweso.me/covers/thumbs/….webp?v=pad",
"original": "https://udeck.botaweso.me/covers/original/….png",
"titleId": "0100152000022000",
"score": 1000
}
Lookup
One best match. Title ID wins when it is a full 16-hex ID. Otherwise the name is scored against the library (minimum score 700).
GET /api/covers/lookup
| Query | Description |
|---|---|
titleId | Optional. 16 hex digits, with or without 0x. |
name | Optional. Game title if there is no ID hit. |
GET /api/covers/lookup?titleId=0100152000022000
GET /api/covers/lookup?name=Mario%20Kart%208%20Deluxe
200 cover object. 404 no match. 429 too many requests (400/min). 503 index down.
Search
Paged list. Empty q returns the whole library. Hex strings of 8–16 digits search by title ID prefix.
GET /api/covers/search
| Query | Description |
|---|---|
q | Title or ID. Omit for the full catalog. |
sort | standard (bestsellers first), abc, or zyx. |
limit | 1–48, default 24. |
offset | Page offset, default 0. |
GET /api/covers/search?q=zelda&sort=abc&limit=24&offset=0
{
"total": 14100,
"items": [ /* cover objects */ ]
}
429 too many requests (90/min).
EasyAPI
Pairs a SteamGridDB key to the Switch with a four-character code. Use the EasyAPI page unless you are writing another client. Codes last five minutes and are deleted after redeem, expiry, or delete.
| Method | Path | Body / query | Success |
|---|---|---|---|
POST |
/api/easyapi |
{"apiKey":"…32 chars…"} |
{"code","expiresAt"} |
GET |
/api/easyapi/status |
?code=XXXX |
{"remainingMs","state"} — pending, redeemed, or expired |
POST |
/api/easyapi/redeem |
{"code":"XXXX"} |
{"apiKey"} — used by the Switch |
DELETE |
/api/easyapi |
{"code":"XXXX"} |
{"ok":true} |
Not affiliated with Valve or Nintendo. Cover art is for personal use with uDeck.