APIPour commencer

Limites de débit

120 requêtes par minute et 3000 par heure par adresse IP, avec les en-têtes RateLimit et Retry-After.

Voir en Markdown

Quotas#

Chaque adresse IP peut faire 120 requêtes par minute et 3000 par heure (fenêtres glissantes). Toutes les requêtes comptent, y compris les réponses 304 et les erreurs.

C’est large pour un bot, un site ou un outil personnel, et cela protège le petit serveur qui sert WoWDB à tout le monde.

Lire les en-têtescURL
curl -s -D - -o /dev/null https://api.wowdb.assemblee-defias.fr/v1/stats | grep -i ratelimit
# RateLimit-Limit: 120
# RateLimit-Remaining: 119
# RateLimit-Reset: 60
# RateLimit-Policy: 120;w=60, 3000;w=3600

En-têtes#

En-têteValeur
RateLimit-LimitRequêtes permises dans la fenêtre qui s’applique.
RateLimit-RemainingRequêtes restantes avant le refus.
RateLimit-ResetSecondes avant qu’une place se libère.
RateLimit-PolicyLes deux fenêtres : 120;w=60, 3000;w=3600.
Retry-AfterSur une réponse 429 seulement : secondes à attendre.

Ces en-têtes sont exposés au JavaScript des navigateurs (CORS).

En cas de dépassement#

La réponse est 429 Too Many Requests, avec Retry-After et une erreur rate_limit_error / rate_limited. Attendez le délai indiqué avant de réessayer ; inutile d’insister avant, chaque requête refusée compte aussi.

Réessayer après Retry-After
// Réessaie après le délai de Retry-After, au plus trois fois.
async function getAvecPatience(url, essais = 3) {
  for (let i = 0; ; i++) {
    const res = await fetch(url);
    if (res.status !== 429 || i >= essais) return res;
    const attente = Number(res.headers.get("Retry-After") || 1);
    await new Promise(r => setTimeout(r, attente * 1000));
  }
}

Bonnes pratiques#

  • Gardez les réponses en cache : les données ne changent qu’aux mises à jour de WoWDB (cache et ETag).
  • Utilisez limit=100 pour parcourir une liste : 50 fois moins de requêtes qu’avec des pages de 2.
  • Préférez une recherche ou un filtre à des centaines de fiches lues une à une.
  • Pour un très gros besoin, écrivez-nous sur le forum avant de lancer l’import.

API de WoWDB des Défias, v1. Données du jeu © Blizzard Entertainment. Conditions d’usage · Markdown · llms.txt · OpenAPI