Public API
API for developers
Read public GameTome profiles, libraries and lists from your site, a bot or an app. No key and no sign-up needed.
How it works
- Read-only JSON. It returns only what anyone can see on a public profile without signing in.
- Up to 60 requests per minute per IP address. Beyond that, the response is 429 with a Retry-After header.
- Responses are cached for 5 minutes, so a change can take that long to show up.
- CORS is open: you can call it straight from the browser, from any site.
- Existing fields never get renamed: new ones are added.
Endpoints
- GET
/api/v1/users/{username}The profile: games per status, hours, average rating, followers.
- GET
/api/v1/users/{username}/library?status=COMPLETED&page=1The library, 100 games per page, most recent first. Parameters: status (PLAYING, COMPLETED, BACKLOG, WISHLIST, DROPPED) and page.
- GET
/api/v1/users/{username}/listsThe person's public lists, without the games.
- GET
/api/v1/lists/{id}A public list with its games in order and their notes.
Example
curl https://gametome.app/api/v1/users/gametome_test{
"username": "gametome_test",
"avatarUrl": null,
"joinedAt": "2026-08-20T10:12:00.000Z",
"url": "https://gametome.app/users/gametome_test",
"followers": 3,
"following": 5,
"stats": {
"total": 42, "playing": 2, "completed": 25,
"backlog": 10, "wishlist": 4, "dropped": 1,
"hoursPlayed": 812.5, "averageRating": 3.9
}
}Errors
Errors look like { "error": "CODE" }: USER_NOT_FOUND and LIST_NOT_FOUND (404), INVALID_STATUS (400), RATE_LIMITED (429).