EEchoesDeals gaming

API publique · Lecture seule

API Echoes Deals

Récupérez les jeux gratuits, giveaways, offres Prime Gaming et promotions multi-boutiques sans scraper les pages HTML.

GEThttps://deal.echoesofgeeks.fr/api.php?source=gratuit

Endpoints disponibles

source=gratuit

Jeux gratuits

Jeux offerts, giveaways et jeux inclus avec Prime Gaming.

source=promos

Promotions

Jeux payants actuellement en réduction.

source=all

Catalogue complet

Toutes les offres gratuites et payantes réunies.

source=amazon

Prime Gaming

Flux Amazon Prime Gaming uniquement.

Aucune clé API n’est nécessaire. Le paramètre facultatif limit accepte une valeur de 1 à 500.

curl -H "Accept: application/json" \
  "https://deal.echoesofgeeks.fr/api.php?source=gratuit&limit=500"
CacheLes sources sont mises en cache entre 10 et 30 minutes. N’interrogez pas l’API inutilement.

Format de réponse

{
  "source": "gratuit",
  "fetchedAt": "2026-07-17T10:30:00+00:00",
  "count": 42,
  "data": [
    {
      "id": "https://feed.eikowagenknecht.com/lootscraper/10689",
      "title": "XCOM: Chimera Squad",
      "image": "https://m.media-amazon.com/images/...",
      "url": "https://luna.amazon.com/claims/...",
      "regularPrice": 9.99,
      "startsAt": "2026-06-02T17:00:00+00:00",
      "endsAt": "2026-08-31T00:00:00+00:00",
      "store": "Amazon Prime Gaming",
      "platforms": "PC",
      "productType": "game",
      "isFree": true,
      "isGiveaway": false,
      "requiresSubscription": true,
      "attribution": "LootScraper",
      "otherOffers": []
    }
  ],
  "rateLimit": {
    "limit": 120,
    "remaining": 119,
    "resetAt": "2026-07-17T11:30:00+00:00"
  }
}
ChampDescription
sourceFlux demandé : gratuit, promos, all ou amazon.
fetchedAtDate ISO 8601 de génération.
countNombre de jeux uniques renvoyés.
dataListe normalisée des jeux disponibles.
idIdentifiant stable préfixé par la source.
titleNom normalisé du jeu.
imageURL de l’illustration distante.
urlLien de l’offre à conserver sans modification.
regularPricePrix normal en euros, ou null.
currentPricePrix actuel ; zéro pour une offre gratuite.
isGiveawayParticipation ou quantité limitée.
requiresSubscriptionAbonnement requis, notamment Amazon Prime.
otherOffersAutres boutiques détectées pour le même jeu.
endsAtFin de disponibilité en UTC.
endsAtFranceMême date convertie dans le fuseau Europe/Paris.

Exemples

JavaScript

const response = await fetch(
  'https://deal.echoesofgeeks.fr/api.php?source=gratuit'
);

if (!response.ok) throw new Error(`HTTP ${response.status}`);

const payload = await response.json();
const activeGames = payload.data.filter(game =>
  !game.endsAt || new Date(game.endsAt) > new Date()
);

console.log(activeGames);

PHP

<?php
$url = 'https://deal.echoesofgeeks.fr/api.php?source=gratuit';
$json = file_get_contents($url);
$payload = json_decode($json, true, 512, JSON_THROW_ON_ERROR);

foreach ($payload['data'] as $game) {
    echo htmlspecialchars($game['title']) . PHP_EOL;
}

Quota et erreurs

Chaque adresse IP dispose de 120 requêtes par heure. Le quota est indiqué dans rateLimit et dans les en-têtes HTTP RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset et Retry-After.

CodeSignification
400Source absente ou inconnue.
405Méthode différente de GET.
429Quota horaire atteint. Attendre la durée indiquée par Retry-After.
502Une source distante ne répond pas ou renvoie un document invalide.
{
  "error": "rate_limit_exceeded",
  "message": "Limite de requêtes atteinte. Réessayez après la réinitialisation du quota."
}
{
  "error": "upstream_error",
  "message": "La source ne répond pas actuellement."
}

Règles d’utilisation

Les données restent la propriété de leurs sources respectives : CheapShark, GamerPower, IsThereAnyDeal et LootScraper.