Google paie 60 millions de dollars par an pour obtenir une licence sur les données Reddit. Le contrat d’OpenAI atteindrait, selon les informations disponibles, 70 millions. Rien qu’avec ça, tu vois déjà la valeur de ce qui se cache dans ces fils de commentaires. Si tu as déjà essayé de collecter à la main des discussions, des commentaires ou des données de sentiment depuis Reddit, tu connais sûrement la galère : scroll sans fin, copier-coller en boucle et onglets qui s’empilent.
J’ai passé une bonne partie du dernier trimestre à aider l’équipe Thunderbit à comprendre comment les gens extraient vraiment des données Reddit en 2025. Le paysage a beaucoup changé depuis la refonte tarifaire de l’API Reddit en 2023, et la plupart des guides en ligne sont soit dépassés, soit bloqués sur une seule méthode. J’ai donc rassemblé tout ce qui marche vraiment aujourd’hui — quatre approches distinctes, du script Python complet à l’extraction sans code — pour que tu puisses choisir celle qui colle à ton niveau et à ton besoin. Que tu construises un jeu de données NLP, que tu surveilles un subreddit pour les mentions de marque, ou que tu cherches simplement un tableau des publications les plus populaires, ce guide est pour toi.
Qu’est-ce que l’extraction de données Reddit, et pourquoi c’est important ?
L’extraction de Reddit consiste à récupérer automatiquement des publications, des commentaires, des données utilisateur et des métadonnées depuis les pages ou l’API Reddit. Au lieu de parcourir les fils un par un et de copier le texte, tu utilises un script ou un outil pour collecter des données structurées à grande échelle.
Pourquoi s’y intéresser ? Reddit héberge plus de et génère environ . C’est là que les gens partagent des avis bruts sur des produits, des services, des concurrents et des tendances — un type de signal authentique qu’on retrouve presque jamais sur des sites d’avis trop lisses ou des blogs d’entreprise. Google paie environ pour une licence de contenu Reddit, et l’accord d’OpenAI serait de l’ordre de . Si les plus gros acteurs de l’IA au monde mettent de telles sommes dans ces données, ça vaut clairement le coup d’apprendre à y accéder toi-même.
Pourquoi extraire Reddit avec Python en 2025 ?
Python reste le langage de référence pour l’extraction de Reddit — PRAW, requests, BeautifulSoup et pandas couvrent tout, des appels API à l’export des données. Mais l’intérêt va bien au-delà des outils.
Voici les cas d’usage les plus courants que je vois dans les équipes business et recherche :
| Cas d’usage | Qui en profite | Exemple |
|---|---|---|
| Étude de marché et validation | Chefs de produit, fondateurs | Repérer les frustrations récurrentes dans r/SaaS ou r/Entrepreneur |
| Analyse de sentiment | Marketing, équipes de marque | Suivre la façon dont les gens parlent de ton produit par rapport à ceux des concurrents |
| Génération de leads | Équipes commerciales | Repérer les publications du type « je cherche un outil qui fait X » dans des subreddits de niche |
| Idées de contenu | Équipes content marketing | Détecter les questions et sujets qui montent dans r/marketing ou r/SEO |
| Recherche académique / NLP | Chercheurs, data scientists | Construire des jeux de données annotés à partir de fils de commentaires pour la classification des émotions |
| Veille concurrentielle | Stratégie, opérations | Surveiller les subreddits des concurrents pour repérer les plaintes récurrentes |
La base d’utilisateurs de Reddit aurait atteint environ , avec — soit +24 % sur un an. Et après la mise à jour principale de Google d’août 2024, le contenu Reddit est devenu environ dans les résultats de recherche organiques.
En clair : les données que tu extrais de Reddit sont de plus en plus celles que Google affiche directement aux internautes.
Quelle méthode choisir pour extraire Reddit ? (Comparatif rapide)
La question qui revient tout le temps dans les forums d’extraction Reddit, c’est littéralement : « Quelle méthode je devrais utiliser ? » Du coup, j’ai préparé ce tableau. Choisis ta ligne, puis lance-toi.
| Critère | PRAW | Point de terminaison .json | BeautifulSoup (HTML) | Sans code (Thunderbit) |
|---|---|---|---|---|
| Complexité de mise en place | Moyenne (application API + installation pip) | Aucune (juste une URL) | Moyenne (pip + inspection du DOM) | Très faible (extension Chrome) |
| Clé API requise ? | Oui | Non | Non | Non |
| Extraction des commentaires | Approfondie (arbres imbriqués) | Limitée (niveau supérieur) | Analyse manuelle | Structurée par IA |
| Pagination | Intégrée | Manuelle (paramètre after) | Manuelle | Automatique |
| Limitation de débit | 100 requêtes/min (géré par PRAW) | ~10 requêtes/min (non authentifié) | Risque de blocage IP | Pris en charge par l’outil |
| Idéal pour | Projets complets, recherche | Extraction rapide ponctuelle | Apprentissage / personnalisation | Non-codeurs, exports rapides |
| Options d’export | CSV, JSON (code manuel) | JSON (brut) | Personnalisé (code manuel) | Excel, Google Sheets, Airtable, Notion |
Si tu veux des projets Python complets avec extraction poussée des commentaires, commence par la méthode 1 (PRAW). Tu as besoin d’un extrait rapide en moins de 10 minutes, sans installation ? Essaie la méthode 2 (l’astuce .json). Tu veux apprendre le scraping HTML ou tu as besoin de champs personnalisés ? Opte pour la méthode 3 (BeautifulSoup). Et si tu préfères éviter Python et récupérer les données directement, passe à la méthode 4 ().
Ce qui a changé : la mise à jour tarifaire de l’API Reddit en 2023–2024 (et ce qui reste gratuit)
Presque aucun guide d’extraction n’en parle — pourtant c’est le contexte le plus important pour toute personne qui extrait Reddit aujourd’hui.
En juin 2023, Reddit a introduit pour la première fois depuis 2008 des paliers payants pour l’accès à son API. Les conséquences ont été énormes :
- Pushshift a disparu pour le public. Reddit a révoqué l’accès API de Pushshift en mai 2023. Les chercheurs qui s’appuyaient dessus (plus de citaient Pushshift) ont perdu du jour au lendemain leur principale source de données. Le successeur pour les données historiques est , mais il n’existe pas d’équivalent public en temps réel.
- Les applications tierces ont fermé. Apollo, Reddit is Fun, Sync, BaconReader et d’autres ont tous cessé leurs activités au 30 juin 2023, après que Reddit a annoncé au développeur d’Apollo un coût de pour l’API.
- Plus de 8 500 subreddits ont été mis hors ligne en signe de protestation, notamment r/funny (40 M d’abonnés), r/gaming et r/science ().
Ce qui reste gratuit en 2025 :
Le reste disponible pour un usage non commercial, personnel et académique — 100 requêtes par minute et par client OAuth. PRAW fonctionne parfaitement dans ce cadre pour une extraction modérée. L’accès non authentifié (y compris le point de terminaison .json) est plafonné à environ 10 requêtes par minute.
À retenir en pratique : pour des tâches d’extraction de petite à moyenne ampleur, le palier gratuit est largement suffisant. Pour des usages massifs ou commerciaux, il faudra soit contacter Reddit pour un accès entreprise, utiliser le point de terminaison .json ou BeautifulSoup (qui ne nécessitent pas de clé API), soit utiliser un outil comme Thunderbit qui ne dépend pas du tout de l’API Reddit.
Avant de commencer
- Niveau de difficulté : débutant à intermédiaire (selon la méthode)
- Temps nécessaire : environ 15 à 30 minutes pour les méthodes 1 à 3 ; environ 5 minutes pour la méthode 4
- Ce qu’il vous faut :
- Python 3.8+ installé (pour les méthodes 1 à 3)
- Un compte Reddit (pour la méthode 1)
- Le navigateur Chrome (pour la méthode 4)
- (pour la méthode 4)
Méthode 1 : comment extraire Reddit avec Python en utilisant PRAW (pas à pas)
PRAW (Python Reddit API Wrapper) est la méthode la plus populaire et la mieux documentée pour extraire Reddit avec Python. Il gère pour toi l’authentification, la limitation de débit et la pagination, et il est activement maintenu — la dernière version stable est PRAW 7.8.1 (octobre 2024), compatible avec Python 3.8 à 3.13.
Étape 1 : créer une application Reddit et obtenir vos identifiants API
Va sur et descends tout en bas de la page. Clique sur « are you a developer? create an app... »
Remplis le formulaire :
- Name : un nom clair, par exemple « my-reddit-scraper »
- App type : sélectionne script
- Redirect URI : saisis
http://localhost:8080(obligatoire, mais non utilisé pour les applications de type script) - Description : facultative
Clique sur Create app. Tu verras alors tes identifiants :
- client_id — la chaîne de 14 caractères située juste sous le nom de l’application (libellée « personal use script »)
- client_secret — le champ libellé « secret »
Tu devras aussi accepter les et la de Reddit avant que la création de l’application soit finalisée.
Petit avertissement : depuis fin 2024, les nouveaux développeurs doivent parfois soumettre une demande d’accès et attendre une validation. C’est le principal point de friction pour les nouveaux utilisateurs de PRAW, et il n’existe pas vraiment de raccourci.
Étape 2 : installer PRAW et créer une instance Reddit
Ouvre ton terminal et lance :
1pip install praw pandas
Puis crée une instance Reddit en lecture seule :
1import praw
2reddit = praw.Reddit(
3 client_id="YOUR_CLIENT_ID",
4 client_secret="YOUR_CLIENT_SECRET",
5 user_agent="python:reddit-scraper:v1.0 (by u/yourname)",
6)
7# reddit.read_only is True by default for script apps without a password
Le format du user_agent est important. Reddit limite activement les chaînes trop génériques comme python-requests/2.x. Utilise le format recommandé par Reddit : platform:app_id:version (by u/username).
Étape 3 : extraire des publications d’un subreddit
Voici comment récupérer les meilleures publications de r/python sur le dernier mois et les stocker dans un DataFrame pandas :
1import pandas as pd
2subreddit = reddit.subreddit("python")
3rows = []
4for post in subreddit.top(time_filter="month", limit=500):
5 rows.append({
6 "id": post.id,
7 "title": post.title,
8 "selftext": post.selftext,
9 "score": post.score,
10 "upvote_ratio": post.upvote_ratio,
11 "num_comments": post.num_comments,
12 "author": str(post.author) if post.author else "[deleted]",
13 "created_utc": post.created_utc,
14 "url": post.url,
15 "permalink": f"https://reddit.com{post.permalink}",
16 })
17df = pd.DataFrame(rows)
18print(df.head())
Tu peux remplacer .top() par .hot(), .new() ou .controversial(), et time_filter accepte "all", "day", "hour", "month", "week" ou "year".
Attention : Reddit limite toute liste à environ 1 000 éléments, quelle que soit la valeur de limit choisie. C’est une limite côté Reddit, pas une limitation de PRAW.
Étape 4 : exporter les données Reddit en CSV ou Excel
1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)
PRAW gère automatiquement la limitation de débit — il lit les en-têtes X-Ratelimit-Remaining et X-Ratelimit-Reset de chaque réponse et attend entre les appels si nécessaire. Pour une extraction modérée, tu n’auras presque jamais besoin d’ajouter des délais manuels.
Comment extraire les commentaires Reddit avec Python (fils imbriqués profonds)
L’extraction des commentaires, c’est là que la plupart des gens se heurtent à un mur.
Reddit stocke les commentaires sous forme d’arbre : chaque commentaire peut avoir des réponses, et certaines branches sont repliées derrière des liens « load more comments ». Dans l’univers PRAW, ces branches masquées sont représentées par des objets MoreComments.
Voici le modèle mental :
1Submission (t3_abc123)
2├── Commentaire A (niveau supérieur)
3│ ├── Réponse A1
4│ │ └── Réponse A1a
5│ └── Réponse A2
6├── Commentaire B (niveau supérieur)
7│ └── MoreComments (masqué — « charger plus de commentaires »)
8└── MoreComments (masqué — « poursuivre ce fil »)
Utiliser replace_more() pour récupérer tous les commentaires masqués
La méthode replace_more() parcourt l’arborescence des commentaires et remplace chaque placeholder MoreComments par les vrais commentaires qu’il pointe :
1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10) # plafond pratique pour les gros fils
3all_comments = submission.comments.list() # aplati en largeur d’abord
En mettant limit=None, tu remplaces chaque nœud MoreComments — mais sur un fil de plus de 5 000 commentaires, ça peut prendre plusieurs minutes, car chaque remplacement correspond à une requête API retournant au maximum une centaine de commentaires. Pour les gros fils, je conseille de commencer avec limit=10 ou limit=20 et d’augmenter seulement si tu as besoin d’une couverture complète.
Aplatir les commentaires imbriqués dans un tableau
1rows = []
2for c in all_comments:
3 rows.append({
4 "comment_id": c.id,
5 "parent_id": c.parent_id, # t1_xxx = commentaire parent, t3_xxx = soumission
6 "depth": c.depth,
7 "author": str(c.author) if c.author else "[deleted]",
8 "body": c.body,
9 "score": c.score,
10 "created_utc": c.created_utc,
11 "is_submitter": c.is_submitter,
12 })
13comments_df = pd.DataFrame(rows)
Les commentaires de premier niveau ont un parent_id qui commence par t3_ (le fullname de la soumission). La colonne depth indique le niveau d’imbrication de chaque commentaire — utile pour le filtrage ou la visualisation. Petit piège : len(all_comments) ne correspond généralement pas à submission.num_comments, car les commentaires supprimés, retirés et filtrés contre le spam sont exclus de l’arborescence.
Méthode 2 : l’astuce du point de terminaison .json — extraire Reddit sans clé API
Ajoute .json à n’importe quelle URL Reddit. C’est tout. Tu obtiens un JSON structuré en retour — pas d’authentification, pas d’enregistrement d’application, pas d’installation pip.
Exemple : https://www.reddit.com/r/python/hot.json
Les gens sur les forums parlent sans arrêt de cette astuce, mais presque aucun tuto ne la couvre vraiment.
Un extrait Python qui fonctionne
1import requests
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3r = requests.get(
4 "https://www.reddit.com/r/python/hot.json",
5 headers=headers,
6 params={"limit": 100},
7)
8data = r.json()
9for post in data["data"]["children"]:
10 p = post["data"]
11 print(p["title"], p["score"], p["num_comments"], p["author"])
L’en-tête User-Agent est essentiel. Reddit bloque ou bride les user agents trop génériques comme python-requests/2.31.0 — comme l’a documenté , « cette limitation de débit repose sur le user-agent ». Utilise le même format descriptif que pour PRAW.
Comment gérer la pagination avec le paramètre after
Le point de terminaison .json renvoie environ 25 résultats par défaut (100 maximum par requête). Pour en récupérer davantage, utilise le curseur after de la réponse :
1import requests, time
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3after = None
4all_posts = []
5for _ in range(10): # jusqu’à ~1000 publications
6 r = requests.get(
7 "https://www.reddit.com/r/python/hot.json",
8 headers=headers,
9 params={"limit": 100, "after": after},
10 )
11 data = r.json()
12 all_posts.extend(data["data"]["children"])
13 after = data["data"].get("after")
14 if not after:
15 break
16 time.sleep(6) # ~10 QPM = une requête toutes les 6 secondes
La valeur after est un jeton de curseur (format : t3_xxxxxx). Comme avec PRAW, la limite dure est d’environ 1 000 éléments au total sur l’ensemble des requêtes paginées.
Limites de la méthode .json
- Pas d’accès profond à l’arbre des commentaires — tu récupères les commentaires de premier niveau plus un niveau de stubs « more », mais pas d’expansion automatique comme avec
replace_more()de PRAW - Lecture seule — pas de vote, pas de publication, pas de modération
- ~10 requêtes par minute pour le trafic non authentifié — les boucles trop agressives déclenchent des erreurs 429
- Même limite de 1 000 éléments que l’API authentifiée
Cette méthode est idéale pour des extractions rapides ponctuelles, du prototypage ou les cas où tu ne veux pas créer d’application API.
Méthode 3 : comment extraire Reddit avec BeautifulSoup (analyse HTML)
Si tu as déjà fait du scraping web, tu connais sûrement BeautifulSoup. L’astuce clé pour Reddit : utilise old.reddit.com plutôt que la nouvelle interface basée sur React. L’ancienne interface est rendue côté serveur, plus légère et bien plus simple à analyser — plusieurs confirment qu’elle est toujours en ligne et très pratique pour le scraping.
Configurer requests et BeautifulSoup
1pip install requests beautifulsoup4
1import requests
2from bs4 import BeautifulSoup
3headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
4r = requests.get("https://old.reddit.com/r/python/", headers=headers)
5soup = BeautifulSoup(r.text, "html.parser")
Extraire les données des publications depuis le DOM
Sur old.reddit.com, chaque publication se trouve dans un <div> de classe thing. Les sélecteurs les plus stables sont les attributs data-* :
1for thing in soup.select("div#siteTable > div.thing"):
2 title_el = thing.select_one("a.title")
3 print({
4 "title": title_el.get_text(strip=True) if title_el else None,
5 "author": thing.get("data-author"),
6 "score": thing.get("data-score"),
7 "comments": thing.get("data-comments-count"),
8 "domain": thing.get("data-domain"),
9 "url": title_el.get("href") if title_el else None,
10 })
Privilégie les attributs data-* plutôt que les sélecteurs de classes imbriquées — Reddit a changé ses noms de classes au fil du temps, mais les attributs de données sont générés par le template et bougent rarement.
Gérer la pagination sur old.reddit.com
1import time
2url = "https://old.reddit.com/r/python/"
3all_rows = []
4while url:
5 r = requests.get(url, headers=headers)
6 soup = BeautifulSoup(r.text, "html.parser")
7 for thing in soup.select("div#siteTable > div.thing"):
8 title_el = thing.select_one("a.title")
9 all_rows.append({
10 "title": title_el.get_text(strip=True) if title_el else None,
11 "author": thing.get("data-author"),
12 "score": thing.get("data-score"),
13 "comments": thing.get("data-comments-count"),
14 "url": title_el.get("href") if title_el else None,
15 })
16 nxt = soup.select_one("span.next-button a")
17 url = nxt["href"] if nxt else None
18 time.sleep(2) # délai de politesse
Quand utiliser BeautifulSoup plutôt que PRAW
BeautifulSoup est utile si tu veux apprendre le scraping du DOM, si tu ne veux pas créer d’application OAuth, ou si tu as besoin de champs personnalisés que PRAW n’expose pas. Mais c’est plus fragile — la structure HTML peut changer sans prévenir, le blocage IP est plus agressif en 2025 qu’avant, et tu dois écrire toi-même toute la pagination et la gestion des erreurs. Pour la fiabilité et la profondeur, PRAW reste le meilleur choix.
Méthode 4 : comment extraire Reddit sans code avec Thunderbit
Petite confession : beaucoup de gens qui cherchent « comment extraire Reddit avec Python » ne veulent en réalité pas écrire de Python. Ils veulent les données. Si c’est ton cas, cette section est faite pour toi.
est une extension Chrome alimentée par l’IA que notre équipe a construite exactement pour ça — extraire des données structurées depuis des pages web sans écrire de code.
Étape 1 : installer Thunderbit et ouvrir une page Reddit
Installe , puis ouvre n’importe quelle page de subreddit ou de publication Reddit (par exemple reddit.com/r/python).
Pas de clé API, pas d’environnement Python, pas de commande terminal.
Étape 2 : cliquer sur « AI Suggest Fields » et laisser l’IA lire la page
Clique sur l’icône Thunderbit dans la barre d’outils de ton navigateur, puis sur « AI Suggest Fields ». L’IA de Thunderbit analyse la page et propose automatiquement des colonnes comme Titre de la publication, Nom d’utilisateur, Upvotes, Nombre de commentaires, Date de publication, Description de la publication, Nom de la communauté et URL de la publication.
Tu peux ajouter, supprimer ou renommer les colonnes selon tes besoins. Par exemple, si seuls les titres et les scores t’intéressent, supprime simplement les autres champs.
Étape 3 : cliquer sur « Scrape » et exporter tes données
Clique sur « Scrape » et Thunderbit extrait les données en gérant automatiquement la pagination. Une fois le tableau rempli, exporte directement vers Excel, Google Sheets, Airtable ou Notion — sans écrire de code CSV.
Pour des données plus poussées, le scraping de sous-pages de Thunderbit permet d’ouvrir les discussions une par une et d’enrichir automatiquement ton tableau avec les commentaires. Conceptuellement, c’est proche de replace_more() dans PRAW — mais sans écrire une seule ligne de code.
Bonus : extraction planifiée pour un suivi continu de Reddit
Si tu dois suivre un subreddit au quotidien — par exemple surveiller les mentions de marque dans r/SaaS ou les discussions concurrentes dans une communauté de niche — le scraper programmé de Thunderbit prend en charge les exécutions répétées. Tu décris l’intervalle en langage courant (par exemple, « tous les jours ouvrables à 9 h ») et l’outil s’occupe du reste, en envoyant des données fraîches vers ton tableur ou ta base de données connectée.
Tu peux en savoir plus sur les capacités d’extraction Reddit de Thunderbit sur la .
Conseils et bonnes pratiques pour extraire Reddit avec Python
J’ai appris la plupart de ces leçons à mes dépens — elles s’appliquent quelle que soit la méthode choisie ci-dessus.
Respecte les conditions d’utilisation de Reddit et les limites de débit
Les de Reddit interdisent explicitement l’extraction commerciale sans autorisation écrite — et ça vaut pour toutes les méthodes d’accès, pas seulement pour l’API. Pour un usage personnel, académique et de recherche interne, le palier OAuth gratuit et les workflows Thunderbit restent dans des limites raisonnables.
Mémo des limites de débit :
| Scénario | Limite | Conséquence |
|---|---|---|
| Authentifié (OAuth) | 60–100 req/min | PRAW gère cela automatiquement |
| Non authentifié (.json, HTML) | ~10–30 req/min | Erreur 429 Too Many Requests |
| User-Agent générique | Fortement bridé | Erreur 403 Forbidden ou blocage silencieux |
Définis toujours une chaîne User-Agent descriptive. C’est la raison la plus fréquente pour laquelle les scrapers débutants tombent sur des erreurs 429 ou 403.
Stocke et structure tes données proprement
- Utilise des DataFrames pandas avec un ordre de colonnes explicite pour des exports CSV/Excel prévisibles
- Convertis
created_utcen horodatages lisibles :pd.to_datetime(df["created_utc"], unit="s") - Supprime les doublons sur
idquand tu extrais plusieurs tris (hot, new et top se recoupent souvent) - Gère les auteurs supprimés :
str(post.author) if post.author else "[deleted]"
Gère proprement les erreurs courantes
| Erreur | Cause | Solution |
|---|---|---|
| 429 Too Many Requests | Dépassement de la limite de débit (60–100 req/min pour OAuth) | Mettre en place un backoff exponentiel ; vérifier l’en-tête X-Ratelimit-Reset |
| 403 Forbidden | User-Agent incorrect ou IP bloquée | Utiliser une chaîne UA unique et descriptive ; vérifier que l’application OAuth est active |
Auteur None | Compte supprimé ou suspendu | Protéger avec if post.author else "[deleted]" |
prawcore.TooManyRequests | Déclenchement du tampon de limitation de débit de PRAW | Augmenter ratelimit_seconds ou répartir les requêtes plus régulièrement |
| Erreurs 5xx ou 413 sur les gros arbres | Surcharge du backend Reddit sur les fils profonds | Envelopper replace_more() dans une logique de retry ; limiter la profondeur de récursion |
Cas d’usage de l’extraction Reddit : que faire avec les données ?
L’extraction, ce n’est que la première étape. Voici ce qui fait vraiment la différence :
- Équipes commerciales : surveiller des subreddits comme r/SaaS, r/smallbusiness ou r/Entrepreneur pour repérer les publications du type « je cherche un outil qui fait X ». Intègre les correspondances dans des listes de prospects ou des workflows CRM. Utilise le scraper programmé de Thunderbit pour une veille quotidienne.
- Équipes marketing et contenu : suivre les mentions de marque, analyser les tendances de sentiment et extraire les questions qui montent pour alimenter les idées de contenu. Combine les exports Reddit avec Google Sheets pour faciliter la collaboration.
- Ecommerce et opérations : surveiller les discussions sur les produits concurrents afin d’identifier les plaintes récurrentes. Les subreddits comme r/BuyItForLife et les communautés sectorielles sont de vraies mines d’or pour les retours produit.
- Chercheurs et analystes : constituer des jeux de données NLP — des articles académiques publiés en 2024 ont utilisé des ensembles de à pour la classification du sentiment et des émotions. Les corpus collectés avec PRAW sont exploitables dans un cadre de relecture académique.
Si tu veux aller plus loin sur la ou , on a détaillé ces workflows sur le blog Thunderbit.
Conclusion
L’extraction de Reddit en 2025 n’a plus rien à voir avec celle d’il y a deux ans. Les changements d’API de 2023 ont fait disparaître Pushshift, fermé des applications tierces très appréciées et introduit des paliers payants.
Mais le palier gratuit est toujours bien là pour les usages personnels et académiques, et il existe plus de moyens que jamais pour récupérer ces données.
Voici le résumé en une ligne de chaque méthode :

Que tu sois un vétéran de Python ou plutôt du genre tableur à l’heure du déjeuner, l’une de ces quatre méthodes te permettra d’y arriver. Si tu préfères éviter complètement le code, tu peux et voir comment il gère Reddit en quelques clics. Et si tu veux continuer à progresser en scraping Python, garde ce guide sous la main — je le mettrai à jour au fil de l’évolution de Reddit.
Pour en savoir plus sur les approches de web scraping, consulte nos guides sur , et .
FAQ
Est-il légal d’extraire Reddit avec Python ?
Les de Reddit interdisent l’extraction commerciale sans autorisation écrite. Le palier OAuth gratuit est disponible pour un usage personnel, non commercial et académique. Le cadre juridique ne dépend pas de la méthode utilisée : il s’applique que tu passes par l’API, le point de terminaison .json ou le scraping HTML. Vérifie toujours les conditions actuelles de Reddit avant de lancer une extraction à grande échelle.
PRAW fonctionne-t-il encore après les changements d’API de Reddit en 2023 ?
Oui. PRAW 7.8.1 (octobre 2024) est activement maintenu et fonctionne automatiquement dans les limites du . Les changements tarifaires de 2023 ont surtout touché les usages API à gros volume et commerciaux, pas les schémas d’extraction classiques avec PRAW.
Puis-je extraire Reddit sans clé API ?
Oui — le point de terminaison .json et l’analyse HTML avec BeautifulSoup fonctionnent tous deux sans clé API. ne demande pas non plus de clé API. Les trois méthodes restent soumises aux conditions d’utilisation de Reddit pour les usages commerciaux.
Comment extraire les commentaires Reddit, et pas seulement les publications ?
Avec PRAW, utilise submission.comments.replace_more(limit=10) puis submission.comments.list() pour aplatir l’arbre imbriqué des commentaires en une liste. Avec Thunderbit, utilise le scraping de sous-pages pour enrichir automatiquement une extraction de liste de publications avec les données de commentaires de chaque fil.
Quelle est la façon la plus rapide d’extraire Reddit sans coder ?
L’ te permet d’extraire des publications et des commentaires Reddit en deux clics, avec export direct vers Excel, Google Sheets, Airtable ou Notion — sans Python, sans clé API, sans configuration.
En savoir plus
