Skip to content

LobbyLink Public API

Base URL: https://api.lobbylink.net

All endpoints return JSON. Rate limit: 100 req/min per IP (unauthenticated). Use an API key for higher limits and write access.

Authentication

Generate an API key from Dashboard → API Keys. Pass it as a header on every request:

Authorization: Bearer llk_your_api_key_here

Authenticated requests get 1,000 req/min and access to write endpoints (voting, reviews).

Games

GET
/v1/games

List all supported games with config, port info, and server count.

GET
/v1/games/:id

Get a single game by ID (slug). Returns metadata and custom field definitions.

Servers

GET
/v1/servers

List servers. Params: game_id, status, sort (votes|players|uptime|newest), q (search), tags, page, per_page.

GET
/v1/servers/:id

Full server detail — info, live status, vote counts, uptime.

GET
/v1/servers/:id/stats

Historical player count and uptime time-series. Params: period (24h|7d|30d|90d).

GET
/v1/servers/:id/votes

Vote count and recent public vote history (timestamps only, no PII).

POST
/v1/servers/:id/vote

Cast a vote. Requires Turnstile token or API key. Enforces 24h cooldown per IP/user.

GET
/v1/servers/:id/reviews

Paginated review list. Params: sort (newest|helpful|rating_asc|rating_desc), page.

GET
/v1/servers/:id/posts

Published posts/updates for a server. Params: type (update|announcement|event), page.

GET
/v1/servers/:id/staff

Public staff list (username, role) — no private details.

GET
/v1/servers/:id/docs

Published documentation articles grouped by category.

Search

GET
/v1/search

Search across servers, games, users, and posts. Params: q (query), per_page.

Leaderboard

GET
/v1/leaderboard

Top servers across all games. Params: page, per_page.

GET
/v1/leaderboard

Monthly top 100 per game. Params: game (game ID), month (YYYY-MM), per_page.

Users

GET
/v1/users/:username

Public user profile — username, servers, vote count, achievements.

GET
/v1/users/:username/favorites

User's public favorite servers list (if not set to private).

Widgets

GET
/v1/widgets/vote/:id

Vote button widget data — server name, monthly votes, status. Use in iframes.

GET
/v1/widgets/players/:id

Live player count badge data — current/max players, status.

Spotlight

GET
/v1/spotlight

Currently featured server (admin-selected). Returns null if none is active.

Rate Limits

TierLimitHow to get
Anonymous100 req/minNo key required
API Key (Free)1,000 req/minGenerate from Dashboard → API Keys
Premium API10,000 req/min + historical dataActive Premium subscription required

Error Responses

// Error response shape
{ "error": "string", "code": "NOT_FOUND" }
400 Bad Request401 Unauthorized403 Forbidden404 Not Found429 Rate Limited500 Server Error