Traiter des fenêtres historiques progressivement dans votre client

Obtenir une clé API

Définir une fenêtre de requête, pas un abonnement

Le service fonctionne comme une archive historique indépendante et non comme un flux en direct officiel. Utilisez from et to pour définir des fenêtres sur les routes de contenu, plutôt qu’attendre des événements sur une connexion persistante. Il ne s’agit ni de SSE ni de WebSocket. Chaque exécution du travail envoie des requêtes séparées. Planifier des interrogations périodiques ne garantit ni actualité ni présence de toutes les nouvelles données entre deux exécutions.

Les dates suivent YYYY-MM-DD, s’appliquent à created_utc en UTC et incluent toute la journée indiquée par to. Ce ne sont pas des dates d’entrée dans l’archive et elles n’acceptent pas de précision horaire. Pour des fenêtres quotidiennes contiguës, distinguez leurs jours de début et de fin afin d’éviter un chevauchement dû à la borne inclusive. Cette organisation locale ne garantit ni fenêtres complètes ni résultats identiques lors d’une nouvelle interrogation.

Commencez par https://api.redditstreamapi.com/v1/posts?subreddit=datasets&limit=3&page=2, l’exemple de l’accueil. Il demande jusqu’à trois publications de datasets sur la deuxième page, pas un point chronologique de continuation. Choisissez X-API-Key: <clé> ou Authorization: Bearer <clé> et gardez le secret sur votre serveur. La session du panneau est distincte de ces en-têtes ; consultez Obtenir une clé API pour préparer l’accès.

Enregistrer une page avant d’avancer localement

Fixez une taille de page de 1 à 100 selon ce que votre application peut traiter. Le maximum ne promet ni performance optimale ni nombre minimal d’enregistrements. page va aussi de 1 à 100 et chaque requête reçoit une page. Vérifiez d’abord le statut HTTP puis validez data comme tableau avant de transformer les champs disponibles. Un tableau vide réussi est un résultat valide.

Conservez réponse, paramètres et numéro de page reçus avant d’actualiser votre point de contrôle local. Celui-ci appartient à votre application, sans être un curseur stable émis par l’archive. Retraiter une copie locale ne nécessite aucune récupération supplémentaire ; redemander la même page peut entraîner une nouvelle facturation. La deuxième réponse ne garantit pas les mêmes enregistrements, champs ou ordre que la première. Gardez cette distinction dans vos comptes rendus de traitement.

Lisez total avec relation : eq exprime un total exact pour la requête, gte une borne inférieure et unknown l’absence de total fiable, éventuellement null. Ne remplacez pas inconnu par zéro. Gardez has_more et window_exhausted pour décrire les limites rencontrées. À la page 100, consignez cette limite dans votre travail ; une file terminée ou un total exact ne certifie pas un téléchargement complet.

Distinguer limites, incidents et coût

Les enregistrements suivent _doc, un ordre interne, pas la chronologie, la pertinence ou le score. min_score filtre sans trier. Vous pouvez trier les données reçues ou en retirer les doublons localement, sans prouver une extraction exhaustive ou une suite d’événements sans lacunes. parent_id ou link_id présents permettent des associations locales, sans discussion complète garantie. La documentation détaille les filtres et distingue contenu, consultation par id et catalogue de communautés.

HTTP 400 demande de corriger les paramètres, 401 de vérifier clé et en-tête, 402 de consulter le solde dans le panneau et 429 de limiter et espacer les essais. Vous pouvez prévoir des pauses croissantes et un nombre maximal de répétitions, sans garantie de reprise. /v1/status est public et gratuit, mais retourne seulement une déclaration statique et confirme la réponse HTTP. Il ne valide pas les clés, ne montre pas le solde et ne teste pas le moteur de recherche.

Chaque récupération réussie coûte un crédit, même vide ou répétée. Les requêtes invalides ne débitent pas le solde et un échec du service source restitue la réservation. Un délai dépassé côté client peut masquer une réussite facturée ; un nouvel essai réussi coûte un autre crédit. Une erreur locale ultérieure n’annule pas ce succès distant. Consultez les tarifs : $1 pour 1000 réussites et achat minimal de $50, sans abonnement ni expiration des crédits achetés.