TL;DR
9 lecture min.La Data API de Reddit autorise 100 requêtes par minute par client id OAuth, moyennées sur une fenêtre glissante de dix minutes, soit 1 000 requêtes par fenêtre et 6 000 par heure. Chaque réponse porte X-Ratelimit-Used, X-Ratelimit-Remaining et X-Ratelimit-Reset, vous pouvez donc lire le budget restant avant de le dépenser. Dépassez la limite et Reddit répond 429 ; un usage commercial exige un contrat distinct, si peu de requêtes que vous envoyiez.
Quelle est la limite de débit de l'API Reddit ?
La Data API de Reddit applique des limites de débit de l'API Reddit de 100 requêtes par minute par client id OAuth, moyennées sur une fenêtre glissante de dix minutes, selon le Reddit Data API Wiki. C'est la moyenne qui façonne votre conception : Reddit mesure la moyenne sur dix minutes plutôt que chaque minute isolément, votre budget réel est donc de 1 000 requêtes par fenêtre et 6 000 par heure, et vous pouvez dépasser 100 sur une minute donnée tant que la moyenne de la fenêtre tient. Dimensionnez votre boucle de sondage sur la fenêtre, pas sur le chiffre affiché de 100 par minute.
| Limite | Valeur | Où Reddit l'indique |
|---|---|---|
| Requêtes authentifiées | 100 requêtes par minute (QPM) par client id OAuth | Reddit Data API Wiki |
| Fenêtre de moyennage | Actuellement 10 minutes, pour autoriser les pics | Reddit Data API Wiki |
| Budget effectif par fenêtre | 1 000 requêtes par tranche glissante de 10 minutes | Déduit des deux lignes ci-dessus |
| Trafic non authentifié | Bloqué d'office ; la limite de débit par défaut ne s'applique pas | Reddit Data API Wiki |
| Messages de chat | 2 000 par jour et par destinataire, 3 000 par jour au total | Reddit Data API Wiki |
| Salons de chat, comptes de bot | Jusqu'à 300 adhésions par jour | Reddit Data API Wiki |
| Ancien chiffre publié | 60 requêtes par minute pour les clients OAuth2 | wiki reddit-archive sur GitHub |
Dernière vérification : 8 septembre 2026
Quel chiffre fait foi, 60 ou 100 ?
Le chiffre actuel est 100 QPM, et le 60 provient d'une documentation que Reddit signale lui-même comme héritée. Le wiki API archivé sur GitHub de Reddit affiche toujours "Clients connecting via OAuth2 may make up to 60 requests per minute" (les clients qui se connectent via OAuth2 peuvent faire jusqu'à 60 requêtes par minute) et ne porte aucun horodatage de version, d'où sa réapparition constante dans les réponses Stack Overflow. Le Data API Wiki hébergé par le support, qui s'ouvre sur l'avertissement de Reddit selon lequel la documentation héritée de l'API "may be out of date" (peut être obsolète), est la page qui énonce 100 QPM et la moyenne de dix minutes. Développez contre 100 QPM et datez d'avant 2023 toute source citant 60.
Les règles d'accès ont bougé sur la même période. Les Data API Terms de Reddit portent une date d'entrée en vigueur au 19 juin 2023 et une dernière révision au 20 juillet 2026, tout ce qui précède mi-2023 décrit donc un autre produit. Lisez ce que coûte l'accès à la Data API une fois l'éligibilité gratuite terminée en même temps que ces limites.
Comment lire les en-têtes de réponse X-Ratelimit ?
Reddit indique votre budget restant sur chaque réponse de la Data API via trois en-têtes. Le Data API Wiki les définit exactement ainsi.
| En-tête | Ce que Reddit dit qu'il rapporte |
|---|---|
X-Ratelimit-Used | Approximate number of requests used in this period (nombre approximatif de requêtes utilisées sur cette période) |
X-Ratelimit-Remaining | Approximate number of requests left to use (nombre approximatif de requêtes encore disponibles) |
X-Ratelimit-Reset | Approximate number of seconds to end of period (nombre approximatif de secondes avant la fin de la période) |
Deux détails mordent. Reddit qualifie les trois valeurs d'approximatives, si bien qu'un client qui descend jusqu'à X-Ratelimit-Remaining: 0 accumule des erreurs au lieu de s'arrêter proprement. HTTP/2 met par ailleurs les noms d'en-tête en minuscules sur le fil, votre client voit donc x-ratelimit-remaining alors que la doc écrit en casse de titre ; comparez sans tenir compte de la casse. Journalisez les trois et alertez quand le compteur restant passe sous un plancher que vous fixez. PRAW respecte ces en-têtes automatiquement et espace ses requêtes en conséquence.
Que se passe-t-il quand Reddit renvoie 429 ?
Reddit répond HTTP 429 Too Many Requests dès que vous dépassez la moyenne de la fenêtre, et la réponse peut porter un en-tête retry-after indiquant l'attente. L'implémentation de référence est prawcore, la couche HTTP sous PRAW : son sessions.py associe too_many_requests à une exception TooManyRequests qui lit retry-after sur la réponse. À noter : 429 est absent de l'ensemble RETRY_STATUSES de prawcore, qui contient 500, 502, 503, 504, 408, 520 et 522, PRAW lève donc une erreur sur 429 au lieu de réessayer en silence.
Reprenez ce choix. Une erreur serveur mérite une nouvelle tentative parce que la requête était valide, mais un 429 Too Many Requests signifie que votre ordonnanceur est faux, et l'enterrer dans une boucle de reprise masque le bug tout en brûlant du quota. Faites remonter le 429 et corrigez le calendrier.

Combien de keywords un seul client id OAuth peut-il sonder par heure ?
Divisez le budget horaire par le coût de chaque keyword : un moniteur limité à des subreddits atterrit dans les dizaines basses. L'arithmétique tient sur une ligne :
Queries per hour = keywords x subreddits x (60 / poll interval in minutes) x pages per poll
Suivez un keyword sur 12 subreddits, sondez toutes les 5 minutes et récupérez une page par sondage :
1 x 12 x (60 / 5) x 1 = 144 queries per hour per keyword
Votre plafond est de 100 QPM x 60 minutes = 6 000 requêtes par heure, donc 6 000 / 144 = 41,6, soit 41 keywords sans aucune marge. Récupérez deux pages par sondage et le coût double à 288 par keyword et par heure, ce qui vous ramène à 20 keywords. Gardez 20 pour cent en réserve pour les rafraîchissements de token et les reprises, et le plafond à une page devient 4 800 / 144 = 33 keywords.
Les pics sont contraints séparément. Chaque tranche glissante de dix minutes contient 1 000 requêtes, un backfill qui tire 900 requêtes sur la première minute n'en laisse donc que 100 pour les neuf suivantes. Faites tourner la surveillance continue et les backfills sous des client ids OAuth distincts. Ce calcul décide si vous construisez sur l'API brute, et c'est le même qui sous-tend RedReplier face à l'exploitation de l'API Reddit par vos soins.
RedReplier
Commencer
Reddit, X, Bluesky et HN
Alertes d'intention en temps réel
Réponses IA illimitées
Classé par intention d'achat

À quoi ressemble un backoff exponentiel face à une moyenne de dix minutes ?
Backoff signifie ici doubler l'attente après chaque échec et ajouter un jitter aléatoire pour qu'une flotte de workers ne réessaie pas au même instant. Un calendrier qui tient dans la fenêtre de dix minutes : attendre 1, 2, 4, 8 puis 16 secondes sur cinq tentatives, ajouter jusqu'à 1 seconde de jitter à chacune, plafonner toute attente à 60 secondes et abandonner la requête après la cinquième. Quand Reddit envoie retry-after, utilisez cette valeur à la place de la vôtre.
La stratégie de prawcore est plus courte par conception : FiniteRetryStrategy fixe DEFAULT_RETRIES = 2 et dort 2 * random() secondes avant la première reprise et 2 + 2 * random() avant la dernière. Reprenez le jitter et l'arrêt net, car des reprises sans limite face à une fenêtre moyennée creusent le trou : chaque reprise compte dans la même moyenne de dix minutes qui a produit le 429. Si votre système a besoin d'un backoff exponentiel pour rester dans le budget, le défaut est dans le calendrier, et choisir entre sondage et webhooks est la conversation la plus utile.
Qu'est-ce qui sépare le palier gratuit de la Data API de la licence commerciale ?
La ligne de partage, c'est ce que vous faites des données, pas le nombre de requêtes que vous envoyez. L'article du centre d'aide de Reddit sur l'accès aux données Reddit définit les finalités commerciales comme "any use of our services by a business or on behalf of a business or as part of a monetized product or service" (tout usage de nos services par une entreprise ou pour son compte ou dans le cadre d'un produit ou service monétisé), et cite parmi les exemples les services par abonnement, les applications payantes et l'accès aux données contre rémunération. La section 3.1 des Data API Terms le formule en langage contractuel : les finalités commerciales, l'usage au-delà des limites de débit ou tout ce qui n'est pas expressément autorisé "will need to enter into a separate agreement with Reddit." (devront faire l'objet d'un accord distinct avec Reddit).
Un produit monétisé qui envoie 10 requêtes par minute a donc besoin d'un contrat même s'il n'approche jamais le plafond. Le travail universitaire passe désormais exclusivement par le programme Reddit for Researchers, et la Responsible Builder Policy de Reddit précise que toute recherche sur des données collectées en dehors de ce cadre viole la politique, avec des sanctions allant jusqu'aux tokens révoqués et aux comptes suspendus. Tranchez de quel côté de la ligne vous vous situez avant d'écrire le client.
Tous les chiffres ci-dessus s'appliquent parce que le client id OAuth est le vôtre. RedReplier surveille Reddit aux côtés de X, Bluesky, Facebook et Hacker News au même endroit, la couverture devient donc un réglage d'abonnement plutôt qu'un calcul de requêtes par heure. Le produit expose aussi une API et un serveur MCP compatible avec Claude Code, Cursor et tout client MCP standard.
Questions fréquentes
La limite de 100 QPM s'applique-t-elle par utilisateur ou par application ?
Par client id OAuth, selon le Data API Wiki de Reddit. Chaque utilisateur que votre application authentifie puise dans le même pool de 100 QPM lié à ce client id, un outil multi-locataire ne gagne donc aucune marge en ajoutant des utilisateurs. Enregistrer des client ids distincts pour des applications réellement distinctes est la manière prise en charge de séparer les budgets.
Qu'advient-il des requêtes qui contournent complètement OAuth ?
Reddit les bloque. Le Data API Wiki indique que le trafic n'utilisant ni OAuth ni identifiants de connexion sera bloqué et que la limite de débit par défaut ne s'applique pas, et sa section Rules ajoute que Reddit peut "freely throttle or block unidentified Data API users." (brider ou bloquer librement les utilisateurs non identifiés de la Data API). Aucune allocation non authentifiée n'existe sur laquelle bâtir un plan.
Les en-têtes X-Ratelimit montrent-ils la minute ou la fenêtre de dix minutes ?
Ils rapportent la période en cours, c'est-à-dire la fenêtre de moyennage de dix minutes. X-Ratelimit-Reset décompte les secondes jusqu'à la fin de cette période, une valeur proche de 600 signifie donc que la fenêtre vient de s'ouvrir et une valeur proche de 0 que votre allocation va se renouveler. Reddit qualifie les trois d'approximatifs, gardez donc de la marge au lieu de descendre à zéro.
Reddit envoie-t-il toujours un en-tête Retry-After sur un 429 ?
Non. L'exception TooManyRequests de prawcore lit l'en-tête avec response.headers.get("retry-after") et n'affiche une consigne d'attente que s'il est présent, votre code doit donc gérer son absence. Utilisez retry-after quand il arrive et repliez-vous sur votre propre calendrier de backoff sinon.
Une chaîne User-Agent est-elle obligatoire ?
Oui, et le format est imposé. Le Data API Wiki de Reddit exige <platform>:<app ID>:<version string> (by /u/<reddit username>) et note que des valeurs par défaut comme "Python/urllib" ou "Java" sont "drastically limited." (drastiquement limitées). Il avertit aussi : "NEVER lie about your User-Agent." (ne mentez JAMAIS sur votre User-Agent).
Puis-je relever la limite sans contrat commercial ?
Les bots de modération disposent d'une voie documentée : le Data API Wiki de Reddit invite les opérateurs de mod bots ayant besoin de dépasser les limites à passer par son formulaire de contact. Le centre d'aide de Reddit ajoute que certains développeurs ayant besoin d'un accès plus large peuvent se voir facturer des frais pour lever les limites par défaut. Pour tout ce qui est monétisé, la voie reste l'accord distinct de la section 3.1 des Data API Terms.
La limite de 100 QPM couvre-t-elle aussi les messages du chat Reddit ?
Le chat fonctionne sous ses propres plafonds, séparés de la limite de 100 QPM pour les requêtes : 2 000 messages par jour et par destinataire, 3 000 par jour au total, selon le Data API Wiki. Les comptes bot peuvent en plus rejoindre jusqu'à 300 salons de chat par jour. Aucun de ces chiffres ne puise dans la même fenêtre glissante de dix minutes que vos requêtes habituelles.
Comment Reddit traite-t-il le 429 différemment d'une erreur serveur ?
L'ensemble RETRY_STATUSES de prawcore couvre 500, 502, 503, 504, 408, 520 et 522, les codes où la requête était valide et où le serveur a trébuché, donc PRAW les relance automatiquement. Le 429 reste volontairement en dehors de cet ensemble. Prawcore lève à la place une exception TooManyRequests, car une erreur de limite de débit signale un mauvais calendrier, pas un problème serveur.
Que se passe-t-il pour une recherche académique qui contourne le programme Reddit for Researchers ?
La Responsible Builder Policy de Reddit considère comme une violation toute donnée collectée hors du programme Reddit for Researchers. Les sanctions vont jusqu'au retrait des tokens et à la suspension des comptes. Les projets académiques sont censés passer par ce programme plutôt que de récupérer des données avec un client id OAuth générique.
RedReplier
Commencer
Reddit, X, Bluesky et HN
Alertes d'intention en temps réel
Réponses IA illimitées
Classé par intention d'achat
Pourquoi un backfill a-t-il besoin d'un client id OAuth distinct du monitoring courant ?
Chaque fenêtre glissante de dix minutes contient 1 000 requêtes au total, et un backfill qui envoie 900 requêtes dès la première minute n'en laisse plus que 100 pour les neuf suivantes. Si ce backfill tourne sur le même client id que le monitoring courant, ce dernier se retrouve à sec pour le reste de la fenêtre. Des client ids séparés donnent à chaque tâche son propre budget de 1 000 requêtes.
Nous voir plus souvent sur Google
Un clic définit RedReplier comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.
Avant de partir...
RedReplier
Repérez chaque acheteur qui cherche ce que vous vendez
RedReplier surveille Reddit, X, Bluesky et Hacker News en temps réel, classe chaque sujet selon l'intention d'achat et rédige votre réponse, pour que vous arriviez en premier.
Reddit, X, Bluesky et HN
Alertes d'intention en temps réel
Réponses IA illimitées
Classé par intention d'achat
Articles connexes


Quand le scraping de Reddit est-il légal ? Le User Agreement répond avant tout tribunal
Deux réponses à la question le scraping de Reddit est-il légal : la justice américaine n'y voit plus un délit, et Reddit l'interdit par contrat.


Sur Reddit, karma de publication vs karma de commentaire : ce que compte chaque chiffre
Reddit scinde votre score en karma de publication vs karma de commentaire : ce que compte chacun et pourquoi il ne colle pas aux votes.


Chaque taux d'engagement Reddit que vous voyez a été fabriqué par quelqu'un d'autre
Aucun produit Reddit ne contient de taux d'engagement. Ce que renvoie l'API, ce qu'affichent les insights de publication, et les trois taux qu'on en bricole.

