List Players
Endpoint
Section titled “Endpoint”GET /api/v1/players
Query parameters
Section titled “Query parameters”limitnumber of records to returnsearchoptional player name searchsortone ofrecentornamecrackedone oftrue,false, or emptygeyserone oftrue,false, or emptycursorUpdatedAtcursor timestamp (available whensort=recent)cursorUuidcursor UUID (available whensort=recent)offsetfallback offset pagination
Pagination behavior
Section titled “Pagination behavior”- Preferred mode is cursor pagination for
sort=recentusingcursorUpdatedAt+cursorUuid. - If
sort=name, use offset pagination. - Response metadata includes
meta.hasMore.
Example
Section titled “Example”curl -X GET "https://slowstack.tv/api/v1/players?limit=20&sort=recent" \ -H "Authorization: Bearer YOUR_API_KEY"Cursor example
Section titled “Cursor example”curl -X GET "https://slowstack.tv/api/v1/players?limit=20&sort=recent&cursorUpdatedAt=2026-02-21T09:36:42.239Z&cursorUuid=b63135c9-3c3e-3e94-b88d-4bc3cd2c8248" \ -H "Authorization: Bearer YOUR_API_KEY"Code examples
Section titled “Code examples”const params = new URLSearchParams({ limit: '20', sort: 'recent'});
const response = await fetch(`https://slowstack.tv/api/v1/players?${params.toString()}`, { headers: { Authorization: 'Bearer YOUR_API_KEY' }});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const result = await response.json();console.log(result.data[0]?.uuid, result.data[0]?.currentServerIp);import requests
response = requests.get( "https://slowstack.tv/api/v1/players", params={"limit": 20, "sort": "recent"}, headers={"Authorization": "Bearer YOUR_API_KEY"}, timeout=10,)response.raise_for_status()
result = response.json()print(result["data"][0]["uuid"], result["data"][0].get("currentServerIp"))import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://slowstack.tv/api/v1/players?limit=20&sort=recent")) .header("Authorization", "Bearer YOUR_API_KEY") .GET() .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() != 200) { throw new RuntimeException("Request failed: " + response.statusCode());}
System.out.println(response.body());Response
Section titled “Response”{ "data": [ { "uuid": "123e4567-e89b-12d3-a456-426614174000", "name": "ExamplePlayer", "isCracked": false, "isGeyser": false, "updatedAt": "2026-02-21T09:31:15.000Z", "currentServerIp": 16909060, "currentServerPort": 25565, "currentServerJoinedAt": "2026-02-21T08:44:00.000Z" } ], "meta": { "hasMore": true }}currentServerIp is a signed 32-bit integer when present. See IP Address Integer Format for conversion examples in JavaScript, Python, and Java.