Como Extrair Dados do Reddit em 2026: Endpoints JSON e o Limite de 1.000

Desde que a API do Reddit se tornou paga, a mina de ouro ficou mais difícil de acessar — mas o endpoint público .json ainda funciona. Veja como paginá-lo, superar o limite de 1.000 itens e coletar em escala sem ser limitado por taxa.

O Reddit é um dos conjuntos de dados de opinião mais ricos da web — pessoas reais discutindo sobre produtos, ferramentas, marcas e notícias em comunidades pesquisáveis. Desde que o Reddit moveu sua API oficial para preços pagos em 2023 (amplamente relatado a $0,24 por 1.000 chamadas, o que fechou aplicativos de terceiros como Apollo), coletar esses dados em escala ficou mais complicado. Mas há uma rota que a mudança de preço não fechou: o endpoint público .json que suporta cada página do Reddit. Este guia cobre como paginá-lo, como superar o limite de 1.000 itens e como coletar sem disparar o limite de taxa.

Adicione .json a qualquer URL do Reddit

Quase todos os URLs do Reddit retornam JSON estruturado se você adicionar .json. Sem OAuth, sem client secret — apenas um HTTP GET. Uma lista de subreddit, um post com sua árvore de comentários, o histórico de um usuário: tudo isso. Comece aqui:

import requests

headers = {"User-Agent": "research-script/1.0 by u/yourname"}
proxies = {"http": "http://USER:PASS@gate.quantumproxies.io:8000",
           "https": "http://USER:PASS@gate.quantumproxies.io:8000"}

url = "https://www.reddit.com/r/webscraping/new.json?limit=100"
r = requests.get(url, headers=headers, proxies=proxies, timeout=20)
data = r.json()

for child in data["data"]["children"]:
    post = child["data"]
    print(post["title"], post["ups"], post["num_comments"])

Defina um User-Agent descritivo — o Reddit é mais rigoroso com os genéricos. O JSON fornece diretamente título, pontuação (ups), proporção de votos positivos, contagem de comentários, autor e timestamps, então não há nada para extrair do HTML.

Paginação com o token after

Página de listagens com um cursor, não números de página. Cada resposta inclui um token after (o nome completo do último item, como t3_abc123); passe-o de volta para obter o próximo lote. Repita até que after retorne nulo:

def fetch_listing(subreddit, sort="new", pages=10):
    after, out = None, []
    for _ in range(pages):
        url = f"https://www.reddit.com/r/{subreddit}/{sort}.json?limit=100"
        if after:
            url += f"&after={after}"
        data = requests.get(url, headers=headers, proxies=proxies, timeout=20).json()
        out += [c["data"] for c in data["data"]["children"]]
        after = data["data"].get("after")
        if not after:
            break
    return out
Números-chave para extrair dados do Reddit: limite de lista de 1.000 itens, $0,24 por 1.000 chamadas de API, o endpoint .json e combinando quatro classificações
O limite de 1.000 itens é por classificação — combinar classificações e filtros de tempo é como você o supera.

O limite de 1.000 itens (e como superá-lo)

Aqui está o limite que surpreende as pessoas: qualquer listagem do Reddit para em aproximadamente 1.000 itens. Página o feed new de um subreddit e após ~1.000 posts o token after seca, não importa quantos mais posts existam. Este é um comportamento em toda a plataforma, não um bug do scraper. Isso não se aplica a comentários dentro de um único post — você pode puxar milhares deles. Para coletar mais de 1.000 posts de uma comunidade, multiplique suas visualizações dela:

# combine sorts to break past the 1,000-item cap
seen, posts = set(), []
for sort in ("new", "top", "hot", "controversial"):
    for post in fetch_listing("webscraping", sort=sort, pages=10):
        if post["id"] not in seen:
            seen.add(post["id"])
            posts.append(post)
print(f"{len(posts)} unique posts across four sorts")

Limites de taxa e como não ser bloqueado

Um IP consultando os endpoints JSON intensamente é rapidamente limitado — o Reddit retorna 429s e eventualmente bloqueia. Duas coisas mantêm um trabalho de coleta saudável: ritme-o (um pequeno atraso entre solicitações supera um estouro que aciona o limitador) e espalhe-o por IPs para que nenhum endereço carregue toda a carga. Roteando através de proxies residenciais permite que um rastreamento de pesquisa pareça muitos leitores comuns em vez de um cliente agressivo, e uma Scraper API lida com essa rotação e ritmo para você. Se você está recebendo 429s constantemente, nosso guia sobre limites de taxa e backoff cobre a matemática do ritmo.

O que fazer com isso: escuta em escala

A razão para coletar dados do Reddit é ouvir. Acompanhe menções da sua marca ou de um concorrente em comunidades, execute análise de sentimento nas árvores de comentários, observe um subreddit de nicho para problemas recorrentes que valem a pena construir em torno, ou identifique uma tendência antes que ela atinja o mainstream. Para qualquer coisa além de correspondência de palavras-chave, alimentar o texto bruto através de uma etapa de extração LLM transforma threads confusos em sinais estruturados — temas, reclamações, pedidos de recursos. Os dados públicos do Reddit são jogo justo para coletar, mas são posts de pessoas; se você planeja processar nomes de usuários ou detalhes pessoais, nossa visão geral sobre legalidade da extração de dados em 2026 vale a leitura (informativo, não aconselhamento jurídico).

Loop de coleta do Reddit: paginando o endpoint .json através de uma saída residencial, eliminando duplicatas por id do post e usando os dados para escuta
Página o JSON, ritme-o através de IPs limpos, elimine duplicatas por nome completo, e os dados alimentam a escuta de marca ou pesquisa de tendências.

Colete dados do Reddit em IPs residenciais limpos

Perguntas frequentes

Ainda é possível extrair dados do Reddit após as mudanças na API?

Sim. A API oficial agora é paga, mas o endpoint público .json por trás de cada página do Reddit ainda retorna dados estruturados sobre um HTTP GET simples sem OAuth. É limitado por taxa, então ritme as solicitações e espalhe-as por IPs, mas para coleta em escala de pesquisa continua sendo a rota mais prática. old.reddit.com e feeds RSS são fontes adicionais leves.

Por que o Reddit para em 1.000 posts?

O Reddit limita qualquer listagem única — uma classificação de subreddit, o histórico de um usuário, uma busca — em cerca de 1.000 itens em toda a plataforma; o cursor de paginação simplesmente para. Não é seu scraper. Supere isso combinando classificações (new, top, hot, controversial), aplicando filtros de tempo, usando a busca e executando trabalhos incrementais que capturam posts antes que envelheçam fora da janela.

Preciso de proxies para extrair dados do Reddit?

Para algumas solicitações, não. Para coleta sustentada, sim: um único IP martelando os endpoints JSON é limitado a 429 e depois bloqueado. Proxies residenciais espalham a carga para que o tráfego seja lido como muitos leitores comuns, e o ritmo entre solicitações mantém você abaixo do limitador. Juntos, eles permitem que um rastreamento de pesquisa funcione continuamente sem acionar defesas.

É legal extrair dados do Reddit?

Coletar páginas publicamente visíveis é amplamente defensável, mas os termos do Reddit restringem o acesso automatizado e os dados incluem conteúdo gerado por usuários e nomes de usuários. Mantenha-se nos dados públicos, respeite os limites de taxa e tenha cuidado com qualquer coisa que identifique indivíduos. Esta é uma informação geral, não um aconselhamento jurídico — verifique os termos atuais do Reddit e sua jurisdição antes de um grande projeto.

A API se tornando paga não trancou a porta — apenas moveu a maçaneta. O endpoint .json, paginação com cursor e uma estratégia para o limite de 1.000 itens obtêm os dados; IPs residenciais e ritmo educado mantêm a coleta funcionando. A partir daí, é um problema de escuta, e o Reddit é um dos melhores sinais que você pode apontar. Se você também quiser a história de preços da API em outras plataformas, nosso post sobre dados do X/Twitter sem a API mapeia o mesmo terreno.

Extraia dados do Reddit em escala com uma Scraper API