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
401Missing or invalid API key
404Resource not found
422Validation error (e.g. q too short)
429Rate limit exceeded (60 req/min)