API Documentation
Programmatic access to the LoreKeepers game database and user libraries.
Authentication
All API requests require an API key. Sign up and generate one in Settings → API Keys.
Pass the key via the Authorization header:
Authorization: Bearer YOUR_API_KEY
Alternatively, append ?api_key=YOUR_API_KEY as a query parameter.
Base URL & Rate Limiting
Base URL
https://gamelog.ro/api/v1
Rate Limit
60 requests / minute
Returns HTTP 429 when exceeded.
Endpoints
GET
/api/v1/games
List games
Filters: genre (id), platform (id), year, sort (rating|release|title|popular). Paginated 20/page.
GET
/api/v1/games/search
Search games
Required: q (min 2 chars). Returns up to 20 matches.
GET
/api/v1/games/top-rated
Top rated games
Games with ≥1 rating, sorted by avg rating. Paginated 20/page.
GET
/api/v1/games/new-releases
New releases
Games released ≤ today, sorted newest first. Paginated 20/page.
GET
/api/v1/games/{slug}
Game detail
Full game info: companies, screenshots, latest 5 reviews.
GET
/api/v1/genres
All genres
Returns id, name, slug for all genres.
GET
/api/v1/platforms
All platforms
Returns id, name, slug for all platforms.
GET
/api/v1/users/{slug}
User profile
Public profile: username, name, avatar, stats, joined date.
GET
/api/v1/users/{slug}/library
User library
User's game library. Paginated 20/page. Returns game + status + rating.
Response Format
All list endpoints return paginated responses wrapped in data + meta:
{
"data": [ ... ],
"meta": {
"current_page": 1,
"last_page": 5,
"per_page": 20,
"total": 93
}
}
Example Request
curl https://gamelog.ro/api/v1/games/top-rated \ -H "Authorization: Bearer YOUR_API_KEY"
Error Codes
| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Resource not found |
| 422 | Validation error (e.g. q too short) |
| 429 | Rate limit exceeded (60 req/min) |