Habilidade de Pesquisa no Reddit
Roteamento abrangente de pesquisa no Reddit através dos métodos mais confiáveis. Você sabe exatamente quais ferramentas funcionam, quais não funcionam e quando usar cada uma.
Gatilho
/reddit-research analyze r/homelab engagement
/reddit-research what subs does u/example_user post in
/reddit-research find deleted posts in r/SUBNAME
/reddit-research discover subreddits about topic X
search reddit for discussions about X
check reddit metrics for these subreddits
Classificação de métodos — uma rota funciona, as demais estão mortas
Retestado em 2026-09-19. Arctic Shift é a única fonte funcional. Todo o resto está bloqueado. A escada abaixo não é uma cadeia de fallback graciosa; três de seus quatro degraus desapareceram, e o modo de falha que importa é substituir silenciosamente um degrau morto por busca na web e apresentar o resultado como dados do Reddit.
| Rota | Status em 2026-09-19 | Evidência |
|---|---|---|
| API Arctic Shift | FUNCIONA — a única | curl .../api/posts/search?subreddit=selfhosted → 200, objetos de post completos |
reddit.com .json via curl | MORTA — 403 | bloqueio a nível de harness; User-Agent de navegador não ajuda |
| WebFetch / WebSearch em reddit.com | MORTA | WebSearch retorna 400 domains not accessible |
| Playwright em old.reddit.com | INDISPONÍVEL | precisa do servidor MCP Playwright, que rotineiramente falha ao conectar |
Arctic Shift — a rota primária e, na prática, única
- Base:
https://arctic-shift.photon-reddit.com/api curlsimples. Sem autenticação, sem navegador, sem parede de proof-of-work.- Vê posts deletados, removidos e filtrados por spam — a única coisa que nenhuma outra rota pode fazer.
Use para tudo: pesquisa histórica, métricas, atividade de usuário, regras, tom, recuperação de deletados.
Quatro pegadinhas que silenciosamente arruinarão uma execução. Todas verificadas por chamada ao vivo.
- Nomes de parâmetros não são óbvios e palpites errados geram erro grave. Texto completo usa
title=ouselftext=em/posts/search, ebody=em/comments/search.qretorna{"error":"Unknown query parameter: 'q'"}.sortaceita apenasasc/desc. {"error":"Timeout. Maybe slow down a bit"}retornado em menos de um segundo é um LIMITE DE TAXA, não uma consulta lenta. Quatro chamadas sem espaçamento são suficientes para dispará-lo. Tentar novamente com um-mmaior ou uma janela mais estreita não adianta. Espaçe ~4s entre chamadas e recue exponencialmente (8→120s) nesse erro.- Em qualquer erro, a resposta é
{"data":null,...}. Código que acessa diretamentejson.data.lengthlança exceção na resposta de limite de taxa em vez de reportá-la. Verifique sedataé nulo antes de tocá-lo e exibaerrorquando estiver definido. - Posts mais novos que ~36h carregam
hide_score:trueescore:1— filtre-os antes de calcular qualquer métrica, ou os números serão fictícios. Não há ordenação por escore: busque amplamente e ordene no lado do cliente.
Quando o Reddit genuinamente não pode responder
Se a pergunta precisa de rankings ao vivo, contagem atual de inscritos ou uma visualização logada, o Arctic Shift não pode atender e nada mais está disponível. Diga isso na entrega. Não deixe que um fluxo de trabalho retorne sentimento zero e seja lido como "nada encontrado" — duas execuções de pesquisa anteriores queimaram 206 agentes sem produzir dados do Reddit antes que isso fosse diagnosticado.
Estes substitutos são verificados como funcionais e são o fallback honesto para "o que os profissionais dizem", desde que você rotule a fonte como não-Reddit:
- Hacker News (melhor substituto):
https://hn.algolia.com/api/v1/search?query=<termos>&tags=story(ou&tags=comment), depoishttps://hn.algolia.com/api/v1/items/<objectID>para a árvore de comentários completa. Exija que cada citação carregue seu ID de comentário e busque novamente para confirmar que a string existe. - Lobsters:
https://lobste.rs/search?q=<termos>&what=stories&order=relevance - Stack Exchange:
https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=votes&q=<termos>&site=stackoverflow
Métodos que não funcionam — nunca tente
| Método | Por quê | Resultado |
|---|---|---|
curl / WebFetch para reddit.com (qualquer caminho, incl. .json) | bloqueio a nível de harness; um User-Agent de navegador não o derrota | 403 |
WebSearch com site:reddit.com ou allowed_domains:["reddit.com"] | domínio não permitido | 400 domains not accessible |
RSS do Reddit (.rss) via curl | bloqueado especificamente | 403 |
oauth.reddit.com sem token | redireciona para HTML | 301 → HTML |
| Espelhos redlib / safereddit / libreddit | Intersticial Anubis proof-of-work, precisa de JS | página de desafio, 0 posts |
api.pullpush.io (sucessor do Pushshift) | fora do ar | 502 |
Proxy r.jina.ai na frente de old.reddit.com | proxy retorna 200 encapsulando o próprio 403 do Reddit | corpo 403 |
Não queime uma execução redescobrindo estas. Se o Arctic Shift não puder responder, nada aqui pode.
Referência da API
Endpoints, campos de resposta e as pegadinhas para ambas as fontes: references/api.md. Leia antes de construir uma chamada; não reconstrua um endpoint de memória.
Métricas de Engajamento
As Quatro Métricas (calcular a partir dos dados do Arctic Shift)
| Métrica | Fórmula | Mede |
|---|---|---|
| Razão comentários/votos (cmtRatio) | avgCmts / avgScore | Profundidade da discussão |
| Razão de votos positivos | campo upvote_ratio (0-1) | Aprovação da comunidade |
| Média de comentários por post | sum(num_comments) / count | Nível de atividade |
| Média de escore por post | sum(score) / count | Alcance/visibilidade |
Cálculo
const posts = data.data.filter(p => !p.hide_score && p.score > 1);
const avgScore = posts.reduce((s, p) => s + p.score, 0) / posts.length;
const avgCmts = posts.reduce((s, p) => s + p.num_comments, 0) / posts.length;
const cmtRatio = avgCmts / avgScore;
const avgUpvoteRatio = posts.reduce((s, p) => s + p.upvote_ratio, 0) / posts.length;
Níveis de Profundidade de Discussão
| Nível | Limiar | Significado |
|---|---|---|
| S | >= 0.70 | Altamente conversacional |
| A | >= 0.25 | Discussão forte |
| B | >= 0.10 ou média cmts >= 10 | Moderada, vale a pena engajar |
| C | 0.05-0.10 | Maioria passiva / sub de alcance |
| D | < 0.05 | Baixo engajamento |
| E | média cmts < 1 | Morto ou com barreira rígida |
Avaliação de Tom
Avalie a partir dos dados de post já buscados (sem chamadas extras):
- Valores de
link_flair_text- dias temáticos, categorias, indicadores explícitos - Padrões de título - estilo de linguagem, normas
selftextnos posts com maior pontuação - sinais culturais- Distribuição de escore - o que a comunidade realmente recompensa
Ordene os posts buscados por escore no lado do cliente. Os 10-20 principais revelam os valores da comunidade.
Fluxos de trabalho padrão
Uma receita de chamada mínima por solicitação recorrente — pesquisar um subreddit, investigar um usuário, encontrar threads, descobrir subs, verificar em lote, recuperar posts deletados, detectar shadowban: references/workflows.md.
Fluxograma de decisão
Precisa de dados do Reddit?
|
+-- Posts históricos, comentários, métricas, atividade de usuário, regras, conteúdo deletado?
| --> Arctic Shift. Esta é toda pergunta que a habilidade pode responder.
|
+-- Rankings ao vivo, contagem atual de inscritos ou visualização logada?
| --> NÃO DISPONÍVEL. reddit.com está 403 para curl e WebFetch; WebSearch
| recusa o domínio; Playwright precisa de um servidor MCP que geralmente está offline.
| Diga isso na entrega. Não substitua silenciosamente por busca na web.
|
+-- Verificação de shadowban?
| --> NÃO DISPONÍVEL pelo mesmo motivo (precisaria de /user/NOME/about.json).
|
+-- "O que os profissionais dizem sobre X", onde o Reddit era apenas o meio?
| --> HN Algolia / Lobsters / Stack Exchange, rotulado como não-Reddit.
|
+-- Postar, comentar, DMs, modmail?
--> Não é possível através de ferramentas de pesquisa. Use a interface do Reddit.
A regra da lacuna honesta: uma pergunta que esta habilidade não pode responder é reportada como não respondível, com o motivo. Uma execução que retorna zero dados do Reddit e não diz por que é lida como "nada encontrado", o que é uma afirmação diferente e falsa.
Limites de Escopo
- Esta habilidade é de pesquisa SOMENTE LEITURA. Nenhuma postagem, comentário ou operação de gravação.
- Se a tarefa exigir postagem ou ações de conta, informe ao usuário que isso deve ser feito através da interface do Reddit ou de um cliente autenticado.