API-referentie - Servergegevens integreren
Vind de perfecte server in milliseconden. Directe toegang tot realtime status, spelerstatistieken en uptime-metingen via onze REST API.
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
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.
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.