Routes et architecture des réponses
L'API d'archivage historique de Reddit fournit plusieurs points de terminaison dédiés à la récupération de données statiques. Les routes clés incluent /v1/search pour les requêtes générales, /v1/posts et /v1/comments pour le contenu textuel spécifique, ainsi que /v1/item pour les éléments uniques. Ces endpoints permettent aux développeurs d'automatisations d'accéder à un catalogue riche et structuré sans dépendre des services en temps réel de Reddit.
Chaque réponse renvoyée par l'API se présente sous la forme de documents plats. Cela signifie que les données ne sont pas structurées en arbres de threads natifs par le serveur, comme on pourrait s'y attendre pour une conversation complète. Si les champs parent_id ou link_id sont présents, le client peut les utiliser pour regrouper localement les commentaires et publications associés.
Bien que le client puisse assembler des conversations localement, il n'existe aucune garantie de complétude ni de hiérarchie d'ascendance complète fournie par le serveur. Il n'y a pas de filtre de requête exposant link_id ou parent_id directement. Le client peut organiser les enregistrements reçus dans sa propre base locale, sans supposer que les relations manquantes sont connues.
Filtres, pagination et limites de requête
Les requêtes vers l'API supportent une variété de filtres puissants pour affiner les résultats. Vous pouvez utiliser les paramètres q, subreddit, author et kind pour cibler des publications ou des commentaires spécifiques. Les dates from et to utilisent YYYY-MM-DD en UTC ; le jour to est inclus. q recherche dans title et text, en combinant plusieurs termes par AND dans un champ correspondant. Le paramètre min_score agit exclusivement comme un filtre pour exclure les éléments en dessous d'un certain score, et non comme un moyen de tri par pertinence.
La pagination est gérée via les paramètres limit et page, avec une plage valide allant de 1 à 100 pour chacun. Vous pouvez récupérer au maximum 100 enregistrements par requête et naviguer sur au maximum 100 pages dans une seule interrogation. Il est important de noter que l'ordre des documents dans l'archive correspond à l'ordre _doc et non à un ordre chronologique, de pertinence ou basé sur le score. L'utilisation de ces deux paramètres permet d'itérer efficacement à travers le jeu de données disponible.
La route /v1/item nécessite le paramètre id, tandis que les routes /v1/posts et /v1/comments n'en ont pas besoin. Les valeurs valides pour le filtre kind sont post et comment. Les totaux retournés lors de la pagination peuvent être exacts (eq), constituer une borne inférieure (gte) ou être inconnus (unknown, avec un total null), indiquant que l'itération complète ne garantit pas toujours une couverture exhaustive de toutes les données existantes.
Codes d'erreur, authentification et facturation
L'authentification repose sur une clé API fournie lors de l'inscription et affichée une seule fois immédiatement après l'inscription, avant paiement. Les requêtes de récupération acceptent Authorization: Bearer ou X-API-Key. Les codes d'erreur HTTP standard sont retournés sous forme de nombres ASCII littéraux. Le code 400 indique une requête invalide ou malformée. Le code 401 signale une clé manquante ou invalide. Le code 402 apparaît lorsque le compte ne dispose pas de crédits suffisants pour effectuer la transaction de récupération. Enfin, le code 429 informe l'utilisateur qu'il a atteint la limite de taux autorisée.
La facturation est simple et transparente : chaque requête de récupération réussie coûte un crédit, y compris lorsqu'elle retourne un résultat vide. Une défaillance de la source restitue la réservation ; une requête invalide ne débite pas de crédit. Si le client perd une réponse après un succès du serveur, le crédit peut déjà être consommé et une nouvelle tentative réussie en consomme un autre. Le point de terminaison /v1/status est public et ne consomme aucun crédit ; il renvoie uniquement une divulgation statique indiquant que le serveur HTTP répond, sans vérifier la santé de la base de données de recherche ou la disponibilité des archives. Cette distinction est cruciale pour les scripts d'automatisation qui doivent surveiller l'état du service.
Les crédits sont achetés via des paiements en cryptomonnaie USDT TRC20 ou USDC ERC20, en utilisant l'adresse de réception et le montant exact indiqués sur la facture générée par le serveur. Le solde et les clés API sont propres au compte sur apireddit.cc et ne sont pas transférables à travers le réseau. Une limite anti-abus globale s'applique aux essais, mais les soldes de compte restent isolés. Seul un transfert authentique confirmé ajoute du crédit. Une panne du prestataire peut laisser la vérification en attente, sans délai de règlement garanti.