ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire une API REST enveloppant Scavio Reddit avec récence et score de demande
Tutoriel

Comment construire une API REST enveloppant Scavio Reddit avec récence et score de demande

Construire une API REST sur l'endpoint Reddit de Scavio avec filtrage de récence et score de demande. Tutoriel FastAPI pour la validation de projet personnel.

Obtenez une clé API gratuiteDocumentation API

Un post sur r/SideProject demandait un outil qui vérifie la demande sur Reddit avec des filtres de récence. Ce tutoriel construit cet outil sous forme d'API REST : il enveloppe l'endpoint Reddit de Scavio, ajoute des fenêtres de récence configurables (1j, 7j, 30j) et score l'intensité de la demande. Déployez-le et vous obtenez un endpoint de validation réutilisable.

Prérequis

  • Clé API Scavio
  • Python 3.8+ avec FastAPI
  • uvicorn pour le déploiement

Parcours

Étape 1: Configurer le projet FastAPI

API minimale avec un seul endpoint.

Python
from fastapi import FastAPI, Query
from pydantic import BaseModel
from datetime import datetime, timedelta
import requests, os

app = FastAPI(title='Reddit Demand API')
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

class DemandResult(BaseModel):
    query: str
    window: str
    post_count: int
    demand_score: int
    top_posts: list

Étape 2: Construire l'endpoint de demande

Endpoint unique avec paramètre de filtre de récence.

Python
@app.get('/demand', response_model=DemandResult)
async def check_demand(
    query: str,
    window: str = Query('7d', regex='^(1d|7d|30d)$')
):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'reddit', 'query': query, 'sort': 'new'}).json()
    results = data.get('results', [])
    # Filter by recency
    days = {'1d': 1, '7d': 7, '30d': 30}[window]
    cutoff = datetime.now() - timedelta(days=days)
    recent = []
    for r in results:
        post_date = r.get('date', '')
        if post_date:
            try:
                dt = datetime.fromisoformat(post_date.replace('Z', '+00:00'))
                if dt.replace(tzinfo=None) >= cutoff:
                    recent.append(r)
            except ValueError:
                continue
    # Score demand
    score = sum(r.get('upvotes', 0) + r.get('comments', 0) * 2 for r in recent)
    return DemandResult(
        query=query, window=window, post_count=len(recent),
        demand_score=score,
        top_posts=[{'title': r.get('title', ''), 'upvotes': r.get('upvotes', 0),
            'subreddit': r.get('subreddit', ''), 'url': r.get('url', '')}
            for r in recent[:10]])

Étape 3: Ajouter un endpoint de validation par lot

Vérifier plusieurs idées à la fois.

Python
@app.post('/demand/batch')
async def batch_demand(queries: list[str], window: str = '7d'):
    results = []
    for q in queries:
        result = await check_demand(q, window)
        results.append(result)
    # Sort by demand score descending
    results.sort(key=lambda x: x.demand_score, reverse=True)
    return results

Étape 4: Lancer le serveur

Démarrer l'API avec uvicorn.

Bash
# Install: pip install fastapi uvicorn requests
# Run: uvicorn demand_api:app --reload --port 8000
#
# Test: curl 'http://localhost:8000/demand?query=invoice+tool&window=7d'
#
# Cost: each demand check = 1 Scavio query = $0.005

Exemple Python

Python
# Full demand API server:
# pip install fastapi uvicorn requests
# uvicorn demand_api:app --port 8000
#
# GET /demand?query=crm+for+freelancers&window=7d
# POST /demand/batch with ["idea1", "idea2", "idea3"]
#
# Each check: 1 query = $0.005 via Scavio

Exemple JavaScript

JavaScript
// Call the demand API from JS:
const res = await fetch('http://localhost:8000/demand?query=invoice+tool&window=7d');
const data = await res.json();
console.log(`Demand score: ${data.demand_score}, Posts: ${data.post_count}`);

Sortie attendue

JSON
REST API at /demand with recency filtering (1d/7d/30d) and demand scoring. Batch endpoint for validating multiple ideas. Each query costs $0.005.

Tutoriels associés

  • Comment construire un scanner de demande Reddit avec filtrage par récence
  • Comment scanner Reddit pour les signaux de demande avant de construire un side project

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.

Clé API Scavio. Python 3.8+ avec FastAPI. uvicorn pour le déploiement. 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

Use Case

Validation de projet secondaire via la demande Reddit

Read more
Best Of

Meilleures API Reddit avec filtrage par fraîcheur (2026)

Read more
Best Of

Meilleurs outils pour valider la demande d'un projet secondaire (2026)

Read more
Workflow

Analyse hebdomadaire de la demande Reddit pour les projets parallèles

Read more
Solution

Découverte de la demande sur Reddit pour les fondateurs

Read more
Glossary

Densité de la demande pour un projet parallèle

Read more

Commencer

Construire une API REST sur l'endpoint Reddit de Scavio avec filtrage de récence et score de demande. Tutoriel FastAPI pour la validation de projet personnel.

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é