Reddit Scraper - Posts, Comments & Subreddits avatar

Reddit Scraper - Posts, Comments & Subreddits

Pricing

from $5.00 / 1,000 post scrapeds

Go to Apify Store
Reddit Scraper - Posts, Comments & Subreddits

Reddit Scraper - Posts, Comments & Subreddits

Extract Reddit posts, comments, subreddit data, and user profiles.

Pricing

from $5.00 / 1,000 post scrapeds

Rating

5.0

(3)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

28

Total users

3

Monthly active users

3 days ago

Last modified

Share

Reddit Scraper

🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português

Scrape Reddit posts and sentiment from any subreddit or global search query, straight from Reddit's public RSS feed. Get titles, permalinks, authors, and creation dates. No API key, no login, no credentials needed.

Data source: this actor reads Reddit's public RSS/Atom feed (https://www.reddit.com/r/{subreddit}/{sort}/.rss). The feed requires no authentication.

Limitations (vs Reddit's old private API): the public RSS feed does not expose engagement metrics or comment threads. The following fields are therefore always null / empty and are never fabricated:

  • score, upvote_ratio, num_commentsnull
  • selftext (post body) → null (the feed only provides the title and a boilerplate link block)
  • comments_tree[] (no comment data in RSS; includeComments has no effect)

✨ Features

  • 🔍 Subreddit scraping — hot, new, top, rising, controversial posts
  • 🌐 Global / in-subreddit search — search across Reddit via the public search RSS feed
  • 💬 Sentiment analysis — PT-BR + EN support (positivo/neutro/negativo) on the post title
  • 🧹 content_clean — HTML-stripped text ready for ML/AI training
  • Lightweight — pure HTTP + RSS/Atom parse, no browser required
  • 🔑 Zero credentials — public RSS feed, no API key or login
  • 🔁 Resilient — retry-on-429 with backoff + request spacing between subreddits
  • 🌐 Apify Proxy — built-in proxy support for reliability

📥 Input

FieldTypeDefaultDescription
subredditsstring[]["brasil"]List of subreddits to scrape
searchQuerystring""Global search query (overrides subreddits)
sortenum"hot"Sort: hot, new, top, rising, controversial
timeenum"week"Time filter: hour, day, week, month, year, all
maxPostsinteger10Maximum posts to collect
includeCommentsbooleantrueFetch comment trees
commentsDepthinteger3Max depth for comment tree recursion
commentsLimitinteger10Max top-level comments per post

Example Input

{
"subreddits": ["brasil", "technology"],
"sort": "hot",
"time": "week",
"maxPosts": 5,
"includeComments": true,
"commentsDepth": 2,
"commentsLimit": 5
}

📤 Output

Each post produces one object:

FieldTypeDescription
post_idstringReddit post ID
subredditstringSubreddit name
titlestringPost title
selftextnullPost body — not available via RSS (always null)
authorstringAuthor username
scorenullNet upvotes — not available via RSS (always null)
upvote_rationullUpvote ratio — not available via RSS (always null)
num_commentsnullComment count — not available via RSS (always null)
urlstringPost URL (permalink)
permalinkstringReddit permalink (relative path)
created_utcinteger|nullUnix timestamp (from RSS date)
createdISOstring|nullCreation date in ISO 8601 (from RSS date)
flairstring|nullPost flair text (best effort)
is_videonullNot derivable from RSS (always null)
content_cleanstringML-ready text from the title (no HTML)
sentimentstringTitle sentiment (PT-BR + EN heuristic)
comments_treearrayAlways empty [] — RSS has no comment threads

Comment Tree Structure

{
"id": "m6p2abc",
"author": "user123",
"body": "Great post!",
"score": 42,
"created_utc": 1707753600,
"sentiment": "positivo",
"depth": 1,
"replies": [
{
"id": "m6p3def",
"author": "user456",
"body": "Agreed!",
"score": 15,
"sentiment": "positivo",
"depth": 2,
"replies": []
}
]
}

📋 Use Cases

  • AI/ML Training Data — Clean text with content_clean field, ready for NLP
  • Market Research — Monitor discussions about brands, products, or industries
  • Sentiment Analysis — Track community sentiment over time
  • Competitor Intelligence — Monitor what people say about competitors
  • Content Ideas — Find popular topics and discussions in your niche
  • Academic Research — Collect structured data from Reddit communities
  • Community Monitoring — Track subreddit health and engagement

❓ FAQ

Q: Do I need a Reddit API key? A: No! This actor reads Reddit's public RSS feed — no API key, no login, no credentials.

Q: Why are score, num_comments and the comment tree empty? A: This actor uses Reddit's public RSS feed, which does not include engagement metrics or comment threads. Those fields are returned as null / [] rather than fabricated. If you need scores and comments, an authenticated Reddit API integration is required.

Q: Does includeComments do anything? A: No — it is kept for input compatibility, but Reddit's RSS feed has no comment data, so comments_tree is always empty.

Q: What proxy should I use? A: The default Apify (datacenter) proxy works for the RSS feed. Residential US is available as a fallback if you hit rate limits.

Q: Can I search across all of Reddit? A: Yes! Use the searchQuery field to search globally (or within a subreddit) via the public search RSS feed.

Q: Does it support Portuguese content? A: Yes! Sentiment analysis supports both PT-BR and English keywords, and the parser handles UTF-8 titles correctly.

💰 Pricing

This actor uses Pay Per Event (PPE) pricing:

MetricCost
Per post extracted$0.005
Per comment extracted$0.001

📝 Changelog

v1.6 (Current)

  • 🔁 Switched data source to Reddit's public RSS/Atom feed — the legacy .json API now returns HTTP 403; the public RSS feed still works with no credentials.
  • 🔑 No API key, no session cookies required.
  • 🔁 Retry-on-429 with increasing backoff + request spacing between subreddits.
  • ➕ Added createdISO (ISO 8601 date) and sentiment output fields.
  • ⚠️ score, upvote_ratio, num_comments, selftext are now null and comments_tree is empty (not available via RSS — never fabricated).

v1.5

  • ✅ Improved reliability and proxy handling
  • ✅ Enhanced sentiment analysis (PT-BR + EN)
  • ✅ Better comment tree extraction

v1.0

  • Initial release

Reddit Scraper

🇺🇸 English | 🇧🇷 Português

Raspe posts e sentimento de qualquer subreddit ou busca global no Reddit, direto do feed RSS público do Reddit. Obtenha títulos, permalinks, autores e datas de criação. Sem API key, sem login, sem credenciais.

Fonte de dados: este actor lê o feed RSS/Atom público do Reddit (https://www.reddit.com/r/{subreddit}/{sort}/.rss), que não exige autenticação.

Limitações (vs a antiga API privada do Reddit): o feed RSS público não expõe métricas de engajamento nem árvore de comentários. Os campos abaixo são sempre null / vazios e nunca são inventados:

  • score, upvote_ratio, num_commentsnull
  • selftext (corpo do post) → null (o feed só traz o título e um bloco de links padrão)
  • comments_tree[] (RSS não tem comentários; includeComments não tem efeito)

✨ Funcionalidades

  • 🔍 Raspagem de subreddits — posts hot, new, top, rising, controversial
  • 🌐 Busca global / no subreddit — pesquise no Reddit via feed RSS de busca público
  • 💬 Análise de sentimento — suporte PT-BR + EN (positivo/neutro/negativo) no título
  • 🧹 content_clean — texto limpo pronto para ML/IA
  • Leve — HTTP puro + parse RSS/Atom, sem navegador
  • 🔑 Zero credenciais — feed RSS público, sem API key ou login
  • 🔁 Resiliente — retry-on-429 com backoff + espaçamento entre subreddits
  • 🌐 Apify Proxy — suporte a proxy integrado para confiabilidade

📥 Entrada

CampoTipoPadrãoDescrição
subredditsstring[]["brasil"]Lista de subreddits para raspar
searchQuerystring""Busca global (substitui subreddits)
sortenum"hot"Ordenação: hot, new, top, rising, controversial
timeenum"week"Filtro de tempo: hour, day, week, month, year, all
maxPostsinteger10Máximo de posts a coletar
includeCommentsbooleantrueBuscar árvores de comentários
commentsDepthinteger3Profundidade máxima dos comentários
commentsLimitinteger10Máx comentários de nível superior por post

Exemplo de Entrada

{
"subreddits": ["brasil", "technology"],
"sort": "hot",
"time": "week",
"maxPosts": 5,
"includeComments": true,
"commentsDepth": 2,
"commentsLimit": 5
}

📤 Saída

Cada post produz um objeto:

CampoTipoDescrição
post_idstringID do post
subredditstringNome do subreddit
titlestringTítulo do post
selftextnullCorpo do post — indisponível via RSS (sempre null)
authorstringNome do autor
scorenullVotos líquidos — indisponível via RSS (sempre null)
upvote_rationullProporção de upvotes — indisponível via RSS (sempre null)
num_commentsnullTotal de comentários — indisponível via RSS (sempre null)
urlstringURL do post (permalink)
permalinkstringPermalink do Reddit (caminho relativo)
created_utcinteger|nullTimestamp Unix (da data do RSS)
createdISOstring|nullData de criação em ISO 8601 (da data do RSS)
flairstring|nullFlair do post (best effort)
is_videonullNão derivável do RSS (sempre null)
content_cleanstringTexto limpo do título para ML
sentimentstringSentimento do título (heurística PT-BR + EN)
comments_treearraySempre vazio [] — RSS não tem comentários

📋 Casos de Uso

  • Dados para IA/ML — Texto limpo com content_clean, pronto para NLP
  • Pesquisa de mercado — Monitore discussões sobre marcas e produtos
  • Análise de sentimento — Acompanhe o sentimento da comunidade ao longo do tempo
  • Inteligência competitiva — Monitore o que falam sobre concorrentes
  • Ideias de conteúdo — Encontre tópicos populares no seu nicho
  • Pesquisa acadêmica — Colete dados estruturados de comunidades do Reddit
  • Monitoramento de comunidade — Acompanhe engajamento de subreddits

❓ Perguntas Frequentes

P: Preciso de API key do Reddit? R: Não! Este actor lê o feed RSS público do Reddit — sem API key, sem login, sem credenciais.

P: Por que score, num_comments e a árvore de comentários vêm vazios? R: Este actor usa o feed RSS público do Reddit, que não inclui métricas de engajamento nem comentários. Esses campos retornam null / [] em vez de serem inventados. Para scores e comentários, é necessária uma integração autenticada com a API do Reddit.

P: O includeComments faz algo? R: Não — é mantido por compatibilidade de input, mas o RSS do Reddit não tem comentários, então comments_tree é sempre vazio.

P: Qual proxy devo usar? R: O proxy padrão da Apify (datacenter) funciona para o feed RSS. Residential US fica como fallback se houver rate limit.

P: Posso buscar em todo o Reddit? R: Sim! Use o campo searchQuery para busca global (ou dentro de um subreddit) via feed RSS de busca público.

P: Suporta conteúdo em português? R: Sim! A análise de sentimento suporta palavras-chave PT-BR e inglês, e o parser lida corretamente com títulos UTF-8.

💰 Preços

Este actor usa precificação Pay Per Event (PPE):

MétricaCusto
Por post extraído$0.005
Por comentário extraído$0.001

🔗 Actors Relacionados