Reddit API
L'API Reddit permet de rechercher des posts Reddit ou d'obtenir un post complet avec ses commentaires en thread. Les deux points de terminaison retournent du JSON structuré avec les champs subreddit, auteur, score, flair, récompenses et médias. Utilisez-la pour alimenter des agents conscients des discussions, la surveillance de marque, l'analyse de sentiment ou des pipelines RAG qui ont besoin de contexte issu de la communauté.
Points de terminaison
| Point de terminaison | Crédits | Description |
|---|---|---|
POST /api/v1/reddit/search | 2 | Rechercher des posts Reddit par requête, tri et curseur de pagination |
POST /api/v1/reddit/post | 2 | Obtenir un post complet avec commentaires en thread par URL de post Reddit |
Authentification
| En-tête | Valeur | Obligatoire |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Oui |
Content-Type | application/json | Oui |
Recherche de posts
POST https://api.scavio.dev/api/v1/reddit/searchRecherche des posts Reddit sur tout Reddit. Retourne les métadonnées du post incluant le titre, l'URL, le subreddit, l'auteur, l'horodatage et le drapeau NSFW. Prend en charge la pagination via un jeton de curseur.
Corps de la requête
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
query | string | -- | Requis. Requête de recherche (1 à 500 caractères). |
sort | string | relevance | Ordre de tri. Un parmi : relevance, hot, top, new, comments |
cursor | string | -- | Jeton de pagination provenant du champ nextCursor de la réponse précédente. |
Exemple
curl -X POST 'https://api.scavio.dev/api/v1/reddit/search' \
-H 'Authorization: Bearer sk_live_your_key' \
-H 'Content-Type: application/json' \
-d '{
"query": "best python web frameworks 2026",
"sort": "new"
}'Exemple de réponse
{
"data": {
"searchQuery": "best python web frameworks 2026",
"totalResults": 14,
"nextCursor": "eyJjYW5kaWRhdGVzX3JldH...",
"posts": [
{
"position": 0,
"id": "t3_1smb9du",
"title": "FastAPI vs Django in 2026 -- what the teams are actually using",
"url": "https://www.reddit.com/r/Python/comments/1smb9du/fastapi_vs_django/",
"subreddit": "Python",
"author": "python_dev",
"timestamp": "2026-04-15T16:34:40.389000+0000",
"nsfw": false
}
]
},
"response_time": 5200,
"credits_used": 2,
"credits_remaining": 498
}Pagination
Pour récupérer la page suivante, passez la valeur nextCursor de la réponse précédente comme paramètre cursor dans votre prochaine requête. Lorsque nextCursor est null, il n'y a plus de résultats.
Détail du post
POST https://api.scavio.dev/api/v1/reddit/postRécupérez un post Reddit complet par son URL, incluant le corps du post, les métadonnées et l'arbre de commentaires en thread complet. Les commentaires incluent un champ depth que vous pouvez utiliser pour reconstruire la hiérarchie du thread.
Corps de la requête
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
url | string | -- | Requis. URL complète du post Reddit (par exemple https://www.reddit.com/r/Python/comments/1smb9du/fastapi_vs_django/). |
Exemple
curl -X POST 'https://api.scavio.dev/api/v1/reddit/post' \
-H 'Authorization: Bearer sk_live_your_key' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://www.reddit.com/r/Python/comments/1smb9du/fastapi_vs_django/"
}'Exemple de réponse
{
"data": {
"post": {
"id": "t3_1smb9du",
"title": "FastAPI vs Django in 2026 -- what the teams are actually using",
"body": "After a year of running both in production...",
"url": "https://www.reddit.com/r/Python/comments/1smb9du/fastapi_vs_django/",
"contentUrl": "https://www.reddit.com/r/Python/comments/1smb9du/fastapi_vs_django/",
"subreddit": "Python",
"author": "python_dev",
"score": 842,
"upvoteRatio": 0.97,
"numComments": 214,
"timestamp": "2026-04-15T16:34:40.389000+0000",
"flair": "Discussion",
"nsfw": false,
"awards": []
},
"comments": [
{
"id": "t1_lxs9a0k",
"author": "senior_py",
"body": "We moved to FastAPI for the API surface and kept Django for admin...",
"score": 312,
"depth": 0,
"timestamp": "2026-04-15T17:02:11.000000+0000",
"parentId": "t3_1smb9du"
},
{
"id": "t1_lxsa1b2",
"author": "django_dev",
"body": "Django ORM is still unmatched for anything with relational depth.",
"score": 178,
"depth": 1,
"timestamp": "2026-04-15T17:15:42.000000+0000",
"parentId": "t1_lxs9a0k"
}
]
},
"response_time": 8900,
"credits_used": 2,
"credits_remaining": 496
}Reconstruction de l'arbre de commentaires
Les commentaires sont retournés sous forme de tableau plat dans l'ordre de parcours. Utilisez le champ depth (indexé à 0) pour l'indentation visuelle, ou reconstruisez l'arbre complet via le parentId de chaque commentaire. Les réponses de premier niveau ont un parentId égal à l'id du post (par exemple t3_…) ; les réponses imbriquées ont un parentId égal à un autre id de commentaire (par exemple t1_…).
url vs contentUrl
url est le lien permanent canonique Reddit du post. contentUrl est l'URL que Reddit affiche dans le corps du post -- pour les posts de lien, ce sera l'article externe, pour les posts texte, c'est le même que url, et pour les posts image/vidéo, c'est l'URL média sur i.redd.it ou v.redd.it.
Format de réponse
Les deux points de terminaison retournent un wrapper de réponse cohérent :
| Champ | Type | Description |
|---|---|---|
data | object | null | Le payload de réponse. null si la requête a échoué en amont. La recherche retourne {searchQuery, totalResults, nextCursor, posts} ; le post retourne {post, comments}. |
response_time | number | Temps de réponse côté serveur en millisecondes |
credits_used | number | Nombre de crédits consommés (toujours 2 pour les points de terminaison Reddit) |
credits_remaining | number | Crédits restants dans votre période de facturation actuelle |
Réponses d'erreur
| Statut | Description |
|---|---|
400 | Corps de requête invalide -- query ou url manquant, mauvais curseur, ou valeur de tri non prise en charge |
401 | Non autorisé -- clé API manquante ou invalide |
429 | Limite de taux ou d'utilisation dépassée pour votre forfait |
502 | Erreur en amont -- réessayez après un court délai |
503 | Amont indisponible -- réessayez plus tard |
504 | Délai d'attente dépassé en amont -- les requêtes Reddit peuvent prendre 5 à 15 secondes ; réessayez avec un délai d'attente client plus long |
Voir Erreurs pour la référence complète des erreurs et les meilleures pratiques de réessai.
Liens connexes
- Démarrage rapide -- obtenir votre clé API et effectuer votre première requête
- Google Search API -- rechercher Google avec des données SERP structurées
- YouTube API -- rechercher des vidéos et extraire des métadonnées
- Amazon API -- rechercher des produits Amazon sur 12 marketplaces
- Walmart API -- rechercher des produits Walmart avec des filtres de traitement
- Limites de débit -- limites par palier de forfait