Escolha a rota adequada
As requisições usam o endereço api.redditsearchapi.com. Faça as consultas autenticadas com a chave emitida neste domínio e mantenha essa credencial no servidor da sua aplicação. Não a coloque em URLs públicas ou no código entregue aos usuários. Chaves e saldos deste site não são compartilhados com os demais domínios da rede.
Use /v1/search para combinar os filtros de busca; /v1/posts e /v1/comments selecionam publicações e comentários, respectivamente, sem exigir id. A rota /v1/item exige id para consultar um registro pelo identificador. Não trate a lista de filtros de busca como um conjunto de parâmetros automaticamente aceito por todas as rotas.
A rota /v1/subreddits aceita prefix para explorar nomes de comunidades. Já /v1/status é pública e não cobra créditos: apresenta uma declaração estática sobre o escopo histórico do serviço e mostra que a aplicação HTTP responde. Ela não testa o mecanismo de busca nem comprova disponibilidade, integridade ou latência do arquivo.
Construa uma consulta delimitada
Os filtros de busca disponíveis são q, subreddit, author, kind, from, to, min_score, limit e page. Para kind, envie os valores literais post ou comment. As datas seguem YYYY-MM-DD em UTC, com to inclusivo. Traduza os rótulos da interface, mas preserve os identificadores e valores técnicos que serão enviados à API.
limit pode variar de 1 a 100 registros por requisição; page, de 1 a 100 páginas por consulta. A recuperação segue a ordem interna _doc do arquivo, não a ordem cronológica, de relevância ou de pontuação. O parâmetro min_score restringe os registros pelo limiar definido e não muda a ordenação.
As respostas contêm registros planos. Quando parent_id ou link_id estiverem presentes, você pode usar esses campos para agrupamento local, sem presumir que todos os vínculos de uma conversa estejam disponíveis. Eles não são filtros de consulta expostos. Também não há consulta arbitrária por DSL, árvore de discussão pronta ou exportação massiva garantidamente completa.
Interprete limites e falhas
Um total com relação eq é exato para a consulta; gte indica um limite inferior, portanto o total real pode ser maior; unknown indica ausência de um total confiável, possivelmente nulo. Essas relações não medem a completude do arquivo. Contagens agregadas de subreddits também não devem ser apresentadas como valores globais garantidamente exatos.
O código 400 significa requisição inválida; 401, chave ausente ou inválida; 402, créditos insuficientes; e 429, limite de frequência atingido. Separe essas situações no seu tratamento de erros. Corrija os parâmetros ou a credencial quando necessário e limite as tentativas, em vez de repetir toda falha como se fosse uma indisponibilidade temporária.
Uma recuperação bem-sucedida custa um crédito, incluindo resultado vazio. Requisições inválidas não debitam saldo; falhas do provedor de busca devolvem a reserva. Uma perda de conexão no cliente pode acontecer depois de uma recuperação cobrada no servidor. Se você repetir a requisição e ela for bem-sucedida, haverá novo consumo de crédito.