Routes et clés d’accès
Envoyez les requêtes GET avec la clé de redditlistening.com dans Authorization: Bearer ou X-API-Key. /v1/search recherche dans les champs title et text. /v1/posts impose le type post et /v1/comments le type comment, sans exiger id. /v1/item exige id et accepte uniquement cet argument pour retrouver un élément précis, sans les filtres généraux des recherches de contenu.
Les recherches de contenu acceptent q, subreddit, author, kind, from, to, min_score, limit et page. kind vaut post ou comment. from et to suivent YYYY-MM-DD en UTC et filtrent created_utc, la date de création du contenu. to inclut toute la dernière journée. Il ne s’agit ni de la date de récupération ni de l’entrée dans l’archive. min_score est un seuil, pas un classement de pertinence ou de sentiment.
/v1/subreddits accepte prefix et limit pour des noms de communautés, sans page ni les filtres de contenu. Ses décomptes ne constituent pas un inventaire global exact. /v1/status est public et non facturé. Sa déclaration statique indique une réponse HTTP, sans vérifier la recherche, la disponibilité de mentions, la clé ou le solde.
Résultats, ordre et totaux
Pour les recherches de contenu, limit et page vont de 1 à 100. Les résultats suivent l’ordre interne _doc, sans classement chronologique, par pertinence ou par score. Parcourir toutes les pages autorisées ne prouve pas une récupération exhaustive. Des intervalles de dates peuvent organiser votre travail mais ne garantissent pas la présence de tous les textes ni l’absence de doublons.
Lisez le total avec sa relation : eq signifie exact, gte une borne inférieure et unknown l’absence d’un total fiable, éventuellement null. Ne remplacez pas l’inconnu par zéro. Conservez ces indications avec les paramètres pour expliquer la sélection. Un total de recherche ne mesure pas le nombre d’acheteurs, ni toutes les conversations sur le produit dans Reddit.
Les réponses sont des enregistrements plats, sans arbre de conversation construit par le serveur. parent_id et link_id, lorsqu’ils sont présents, permettent des regroupements locaux mais ne garantissent pas les parents ou la conversation complète. Ce ne sont pas des filtres de recherche. Vos catégories et annotations restent des données d’analyse locales, distinctes des champs retournés.
Échecs et consommation
HTTP 400 indique une requête invalide, 401 une clé manquante ou invalide, 402 un solde insuffisant et 429 une limite de fréquence. Vérifiez la cause avant de réessayer. Les requêtes rejetées ne consomment pas de crédit; les erreurs du service source restituent la réservation. Une difficulté de classement dans votre étude n’est pas un échec de récupération du serveur.
Chaque récupération réussie coûte un crédit, même sans résultat. Si le client perd la réponse après la réussite du serveur, celle-ci peut avoir été facturée. Une nouvelle tentative réussie coûte un autre crédit. Relire un fichier enregistré ou changer ses étiquettes localement ne rappelle pas l’API. Séparez le journal des appels du suivi de votre analyse pour comprendre dépenses et résultats.