ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment obtenir des données Reddit sans l'API officielle de Reddit
Tutoriel

Comment obtenir des données Reddit sans l'API officielle de Reddit

Récupérez des données Reddit structurées, y compris les publications, les commentaires et les métadonnées, en utilisant l'API Scavio. Aucune information d'identification de l'API Reddit ni flux OAuth requis.

Obtenez une clé API gratuiteDocumentation API

L'API officielle de Reddit nécessite une inscription OAuth, impose des limites de débit strictes et a récemment introduit des paliers payants qui rendent la collecte de données à grande échelle coûteuse. L'API Scavio offre une alternative : interroger les publications et commentaires Reddit via un seul point de terminaison authentifié qui renvoie du JSON structuré avec le subreddit, l'auteur, le score, les horodatages et les arbres de commentaires complets. Ce tutoriel montre comment rechercher des publications Reddit, récupérer des fils de discussion individuels avec commentaires et construire un pipeline de collecte de données sans toucher à l'API officielle de Reddit.

Prérequis

  • Python 3.8 ou supérieur
  • bibliothèque requests installée
  • Une clé API Scavio
  • Sujets ou subreddits à partir desquels vous souhaitez collecter des données

Parcours

Étape 1: Rechercher des publications Reddit par mot-clé

Utilisez le point de terminaison de recherche Reddit de Scavio pour trouver des publications correspondant à un mot-clé. Les résultats incluent le titre de la publication, le subreddit, l'auteur, le score et l'horodatage.

Python
import os
import requests

API_KEY = os.environ["SCAVIO_API_KEY"]

def search_reddit(query: str, sort: str = "relevance") -> list[dict]:
    r = requests.post(
        "https://api.scavio.dev/api/v1/reddit/search",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"query": query, "sort": sort},
        timeout=30
    )
    r.raise_for_status()
    return r.json()["data"]["posts"]

Étape 2: Récupérer une publication complète avec les commentaires

À partir d'une URL de publication Reddit, récupérez la publication complète ainsi que tous les commentaires organisés en fils de discussion en un seul appel.

Python
def fetch_thread(url: str) -> dict:
    r = requests.post(
        "https://api.scavio.dev/api/v1/reddit/post",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"url": url},
        timeout=30
    )
    r.raise_for_status()
    return r.json()["data"]

Étape 3: Extraire des données structurées des résultats

Analysez les publications et les commentaires dans un format plat prêt pour l'analyse, avec les champs pertinents extraits.

Python
def extract_post_data(post: dict) -> dict:
    return {
        "id": post.get("id"),
        "title": post.get("title"),
        "subreddit": post.get("subreddit"),
        "author": post.get("author"),
        "score": post.get("score"),
        "timestamp": post.get("timestamp"),
        "url": post.get("url"),
    }

def extract_comments(thread: dict) -> list[dict]:
    return [{
        "author": c.get("author"),
        "body": c.get("body"),
        "score": c.get("score"),
        "depth": c.get("depth"),
    } for c in thread.get("comments", [])]

Étape 4: Exporter en JSON

Enregistrez les publications et commentaires collectés sous forme de jeu de données JSON structuré.

Python
import json

def collect_dataset(query: str, max_threads: int = 5) -> dict:
    posts = search_reddit(query, sort="new")
    dataset = []
    for post in posts[:max_threads]:
        thread = fetch_thread(post["url"])
        dataset.append({
            "post": extract_post_data(post),
            "comments": extract_comments(thread),
        })
    return {"query": query, "threads": dataset}

with open("reddit_data.json", "w") as f:
    json.dump(collect_dataset("python web frameworks"), f, indent=2)

Exemple Python

Python
import os
import json
import requests

API_KEY = os.environ["SCAVIO_API_KEY"]

def search_reddit(query: str) -> list[dict]:
    r = requests.post("https://api.scavio.dev/api/v1/reddit/search",
                      headers={"Authorization": f"Bearer {API_KEY}"},
                      json={"query": query, "sort": "new"}, timeout=30)
    r.raise_for_status()
    return r.json()["data"]["posts"]

def fetch_thread(url: str) -> dict:
    r = requests.post("https://api.scavio.dev/api/v1/reddit/post",
                      headers={"Authorization": f"Bearer {API_KEY}"},
                      json={"url": url}, timeout=30)
    r.raise_for_status()
    return r.json()["data"]

if __name__ == "__main__":
    posts = search_reddit("best python frameworks 2026")
    print(f"Found {len(posts)} posts")
    for p in posts[:3]:
        print(f"  r/{p['subreddit']}: {p['title']}")
        thread = fetch_thread(p["url"])
        comments = thread.get("comments", [])
        print(f"    {len(comments)} comments")

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;

async function searchReddit(query) {
  const r = await fetch("https://api.scavio.dev/api/v1/reddit/search", {
    method: "POST",
    headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
    body: JSON.stringify({ query, sort: "new" })
  });
  return (await r.json()).data.posts;
}

async function fetchThread(url) {
  const r = await fetch("https://api.scavio.dev/api/v1/reddit/post", {
    method: "POST",
    headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
    body: JSON.stringify({ url })
  });
  return (await r.json()).data;
}

async function main() {
  const posts = await searchReddit("best python frameworks 2026");
  for (const p of posts.slice(0, 3)) {
    console.log(`r/${p.subreddit}: ${p.title}`);
    const thread = await fetchThread(p.url);
    console.log(`  ${thread.comments?.length || 0} comments`);
  }
}
main().catch(console.error);

Sortie attendue

JSON
Found 14 posts
  r/Python: FastAPI vs Django for new projects in 2026
    47 comments
  r/webdev: What Python framework are you using this year?
    23 comments
  r/learnpython: Best framework to learn as a beginner?
    18 comments

Tutoriels associés

  • Comment rechercher des articles Reddit via l'API
  • Comment extraire les commentaires Reddit d'un post

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.8 ou supérieur. bibliothèque requests installée. Une clé API Scavio. Sujets ou subreddits à partir desquels vous souhaitez collecter des données. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API Reddit pour les données de sentiment boursier en 2026

Read more
Best Of

Meilleures API de données TikTok sans scraping ni proxy en 2026

Read more
Solution

Données Reddit sans API directe

Read more
Solution

Obtenez des données d'entreprises locales sans scraper Google Maps

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more
Use Case

Pipeline de données sans CAPTCHA

Read more

Commencer

Récupérez des données Reddit structurées, y compris les publications, les commentaires et les métadonnées, en utilisant l'API Scavio. Aucune information d'identification de l'API Reddit ni flux OAuth requis.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité