Fundamentos da Conexão e Autenticação
A integração começa com a chave exibida uma única vez imediatamente após o cadastro, antes do pagamento. Use api.redditapistack.com para as consultas. O navegador guarda identificadores de fatura e usuário em localStorage para retomar o processo correspondente; a sessão autenticada usa um cookie Secure HttpOnly. Esses identificadores locais não substituem a autenticação da conta.
Para as rotas autenticadas, envie Authorization com o esquema Bearer e a chave do domínio. Configure o cabeçalho no cliente Python ou no fetch executado em Node.js. /v1/status é público e não cobra créditos: sua resposta estática descreve o serviço histórico e confirma que a aplicação HTTP responde, sem testar o mecanismo de busca.
As chaves e os saldos pertencem a este domínio e não são compartilhados entre as marcas. A chave original não fica persistida no armazenamento do navegador. Usuários com sessão iniciada podem regenerá-la confirmando a senha; a anterior é invalidada imediatamente. Guarde a credencial no servidor e atualize as aplicações que a utilizavam após a troca.
Estrutura de Respostas e Limites de Busca
As respostas da API retornam registros planos, eliminando árvores de encadeamento montadas pelo servidor. Quando os campos parent_id e link_id estão presentes nos registros retornados, o cliente pode agrupá-los localmente, sem a garantia de ancestralidade completa. Esta estrutura exige que o código Python ou JavaScript implemente a lógica de agrupamento para reconstruir conversas complexas ou sequências de comentários.
A busca utiliza a ordem _doc do arquivo, que não é cronológica, nem baseada em relevância ou pontuação. Filtros como min_score atuam apenas como restrições, nunca como controles de classificação. O limite máximo permite até cem registros por solicitação e cem páginas por consulta, o que implica que iterar paginações não garante a captura de todos os registros disponíveis no arquivo.
Use /v1/search, /v1/posts e /v1/comments para consultas; apenas /v1/item exige id. /v1/subreddits aceita prefix. A busca admite q, subreddit, author, kind, from, to, min_score, limit e page. kind aceita post ou comment; datas seguem YYYY-MM-DD em UTC, com to inclusivo. Nos totais, eq significa exato, gte limite inferior e unknown ausência de total confiável, possivelmente nulo.
Mecanismos de Erro, Pagamento e Limites
O código 400 indica requisição inválida; 401, chave ausente ou inválida; 402, créditos insuficientes; e 429, limite de frequência atingido. Diferencie essas causas e evite repetições sem critério. No JavaScript, confira o status HTTP antes de interpretar a resposta: fetch pode receber um erro HTTP sem rejeitar a promessa. No Python, trate também as exceções do cliente utilizado.
Cada recuperação bem-sucedida custa um crédito, incluindo resultados vazios. Requisições inválidas não debitam saldo; falhas do provedor de busca devolvem a reserva. Uma falha de conexão no cliente pode ocorrer depois de um sucesso cobrado no servidor. Uma repetição bem-sucedida consome outro crédito; limite as tentativas e registre seu motivo sem expor a chave.
Para recarregar, entre na conta e crie uma fatura. Envie seu valor exato ao destinatário indicado, com USDT em TRON TRC20 ou USDC em Ethereum mainnet ERC20. Informe o hash da transferência e solicite verificação. Não há prazo fixo de confirmação ou crédito. A regeneração da chave exige senha e não equivale a redefinição de senha, que não está disponível.
Rotas da API
| Método | Rota | Parâmetros |
|---|---|---|
GET | /v1/search | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/posts | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/comments | q, subreddit, author, kind, from, to, min_score, limit, page |
GET | /v1/item | id |
GET | /v1/subreddits | prefix |
GET | /v1/status | — |
Parâmetros de consulta
| Parâmetro | Valor / tipo / intervalo |
|---|---|
q | text |
subreddit | keyword |
author | keyword |
kind | post | comment |
from | ISO date |
to | ISO date |
min_score | integer |
limit | 1–100 |
page | 1–100 |
id | item ID |
prefix | subreddit prefix |
curl -H "Authorization: Bearer YOUR_API_KEY" 'https://api.redditapistack.com/v1/search?q=research&limit=10'
import json, urllib.request
request = urllib.request.Request('https://api.redditapistack.com/v1/search?q=research&limit=10', headers={"Authorization": "Bearer YOUR_API_KEY"})
with urllib.request.urlopen(request) as response:
print(json.load(response))
fetch("https://api.redditapistack.com/v1/search?q=research&limit=10", {headers: {Authorization: "Bearer YOUR_API_KEY"}})
.then(response => response.json()).then(console.log);