Gratis starten
Verken Functies Prijzen Documentatie Toepassingen Integraties

API-referentie - Servergegevens integreren

Vind de perfecte server in milliseconden. Directe toegang tot realtime status, spelerstatistieken en uptime-metingen via onze REST API.

Bekijk eindpunten Download SDK-pakketten
Beschikbare eindpunten

Haal live serverdata op

Onze API biedt gestandaardiseerde JSON-responses voor alle ondersteunde titels. Gebruik de volgende routes om lijsten, filters en details op te vragen zonder database-overhead.

GET /v1/servers

Retourneert gepagineerde lijsten van actieve servers. Ondersteunt query-parameters voor game (bijv. `cs2`, `minecraft`), regio (`eu-west`, `na-east`) en actieve spelers.

// JavaScript (Fetch)
const response = await fetch('https://api.serverscout.io/v1/servers?game=cs2®ion=eu-west&page=1', {
  headers: { 'Authorization': 'Bearer ss_live_8xK9mP2vQ7wR' }
});
const data = await response.json();
console.log(data.results[0].hostname); // "NL-AMS-03 | 128tick | No+DM"

GET /v1/stats/:player_id

Ophaalt historische K/D-ratio, cumulatieve speeltijd en favoriete klasse voor een specifiek Steam of Epic ID. Data wordt elke 15 minuten gesynchroniseerd.

# Python (requests)
import requests
headers = {"Authorization": "Bearer ss_live_8xK9mP2vQ7wR"}
res = requests.get("https://api.serverscout.io/v1/stats/76561198045238912", headers=headers)
stats = res.json()
print(f"K/D: {stats['kd_ratio']}, Uren: {stats['playtime_hours']}")

GET /v1/uptime/:server_id

Retourneert 90-dagen uptime-percentage, laatste downtime-gebeurtenis en gemiddelde reactietijd in milliseconden. Ideaal voor monitoring-dashboards.

// Go (net/http)
req, _ := http.NewRequest("GET", "https://api.serverscout.io/v1/uptime/nl-ams-03", nil)
req.Header.Set("Authorization", "Bearer ss_live_8xK9mP2vQ7wR")
client := &http.Client{}
resp, _ := client.Do(req)
// Parse JSON: uptime: 99.94%, avg_latency: 14ms
Toegangsbeheer

Verifieer je applicatie

Alle verzoeken vereisen een geldig API-sleutel in de Authorization-header. Sleutels worden gegenereerd in je ontwikkelaarsdashboard en zijn strikt gekoppeld aan een specifiek project.

Gebruik de prefix `ss_live_` voor productieomgevingen en `ss_test_` voor sandbox-testen. Wij raden aan om variabelen via `.env` of je hosting-provider's secrets-manager te injecteren. Nooit hardcoded sleutels inbare commiten naar GitHub of GitLab. Bij verlies van een sleutel kun je deze direct intrekken; actieve sessies worden binnen 60 seconden ontkoppeld.

Header-configuratie

Zorg dat elk HTTP-verzoek de volgende header bevat. Ontbrekende of ongeldige tokens resulteren direct in HTTP 401 Unauthorized.

Authorization: Bearer ss_live_J4kL9mN2pQ5rT8vW
X-Client-Version: 2.4.1

Token-rotatie

Automatische rotatie is beschikbaar voor Enterprise-accounts. Stel een cronjob in die elke 30 dagen een nieuw token genereert via `POST /v1/auth/rotate`. Oude tokens blijven 48 uur geldig voor een naadloze overgang.

Verzoekenlimieten

Bescherming tegen overbelasting

Om de stabiliteit van onze infrastructuur te waarborgen, hanteren we strikte limieten per sleutel en IP-adres. Overschrijding resulteert in HTTP 429 Too Many Requests.

Standaard accounts krijgen toegewezen 1.200 verzoeken per uur, met een burst-capaciteit van 60 per minuut. Enterprise-plannen schalen op naar 8.000 verzoeken per uur met dedicated caching-nodes. Bij overschrijding retourneert de API de `Retry-After` header met de wachte tijd in seconden. Implementeer altijd exponential backoff in je client-logica om herhaalde blokkades te voorkomen.

Response-headers

Monitor je verbruik realtime via deze headers in elke response:

X-RateLimit-Limit: 1200
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1718492400
Retry-After: 45

Optimalisatiestrategieƫn

Gebruik `ETag` en `If-None-Match` headers om cache-misses te minimaliseren. Voor bulk-opschrijvingen van serverlijsten, gebruik de `?interval=300` parameter om updates alleen op te vragen bij wijzigingen. Dit verlaagt je verbruik met tot 70% zonder dat real-time nauwkeurigheid verloren gaat.