Reddit Data API
Reddit Data API
Selezione della lingua

Interrogare l’archivio e validare le risposte JSON

Percorsi, autenticazione Bearer o X-API-Key, filtri e validazione Python prima del caricamento dei record nel warehouse.

Ottieni una chiave API

Percorsi API

MetodoPercorsoParametri
GET/v1/searchq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/postsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/commentsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/itemid
GET/v1/subredditsprefix, limit
GET/v1/status—

Parametri di ricerca

ParametroValore / tipo / intervallo
qtext
subredditkeyword
authorkeyword
kindpost | comment
fromISO date
toISO date
min_scoreinteger
limit1–100
page1–100
iditem ID
prefixsubreddit prefix

Contesto e Struttura dei Dati

L’API fornisce accesso a un archivio storico indipendente, senza affiliazione ufficiale con Reddit e senza dati in tempo reale. I risultati sono una selezione dei record disponibili, senza garanzia di copertura assoluta, permanenza o immutabilità. Prima di progettare una tabella analitica, esamina un campione e documenta quali campi e tipi hai effettivamente osservato nella risposta.

Le risposte contengono record piatti, senza alberi di conversazione assemblati dal server. Quando parent_id o link_id sono presenti, il client può raggruppare gli elementi recuperati. Non sono garantiti tutti gli antenati o una struttura gerarchica completa. Non esistono filtri di query esposti per quei due campi; mantieni distinte relazioni osservate e interpretazioni della tua applicazione.

L'ordine dei documenti nell'archivio segue l'ordine interno del documento e non è né cronologico né basato sulla rilevanza o sul punteggio. Questo significa che iterare attraverso le pagine di un'indicizzazione non garantisce necessariamente di coprire tutti i record disponibili o di ordinare i risultati in modo intuitivo per il tempo di pubblicazione. La logica di ordinamento deve essere gestita esplicitamente dall'applicazione client.

Validazione in Python prima del warehouse

Comincia da /v1/posts?subreddit=python&limit=3. In Python, urllib.request consente di impostare l’intestazione e json di interpretare il corpo. Gestisci HTTPError e problemi di connessione separatamente. Controlla che data sia una lista e ciascun elemento un oggetto prima di ispezionare le chiavi. Sono controlli della tua applicazione, non funzionalità di un SDK fornito dal servizio.

Conserva la risposta originale prima delle conversioni. Distingui campi mancanti da valori nulli e registra i motivi di rifiuto delle righe. Carica una tabella di preparazione e definisci le regole di combinazione sulla base degli identificatori disponibili. Prova di nuovo la trasformazione sugli stessi file conservati; questo verifica il comportamento locale e non garantisce che una futura richiesta recuperi lo stesso dataset.

Parametri di Query e Filtri

La ricerca accetta q, subreddit, author, kind, from, to, min_score, limit e page. kind usa post o comment; le date sono YYYY-MM-DD in UTC, con to inclusivo. Ogni richiesta ammette fino a 100 record e ogni query fino a 100 pagine. Il filtro min_score imposta una soglia senza cambiare l’ordine dei risultati.

Invia richieste GET a api.redditdataapi.com con Authorization: Bearer <chiave> oppure X-API-Key: <chiave>. Usa /v1/search per ricerche generali, /v1/posts per pubblicazioni e /v1/comments per commenti. Solo /v1/item richiede id; /v1/subreddits accetta prefix. La sessione del pannello account usa invece un cookie Secure HttpOnly e non sostituisce l’autenticazione delle query tramite chiave.

L’ordine _doc è documentale interno, non cronologico, per rilevanza o per punteggio. La paginazione limitata non garantisce un’estrazione esaustiva o priva di duplicati. Conserva i criteri della query accanto alle risposte, così da descrivere la selezione. Un punto di controllo indica il progresso del tuo processo, senza congelare lo stato dell’archivio o assicurare pagine future identiche.

Totali, errori e stato del servizio

Nei totali, eq indica un valore esatto per la query, gte un limite inferiore e unknown l’assenza di un totale affidabile, eventualmente nullo. Un limite inferiore significa almeno la quantità indicata, non una stima approssimativa. Nessuna relazione prova la copertura completa dell’archivio; anche le aggregazioni di community non garantiscono conteggi globali esatti.

400 indica una richiesta non valida, 401 una chiave assente o non valida, 402 crediti insufficienti e 429 un limite di frequenza. Una richiesta non valida non addebita saldo; un errore del fornitore di ricerca restituisce la riserva. Un problema di connessione sul client può seguire un recupero riuscito addebitato sul server. Una ripetizione riuscita costa un altro credito, anche se vuota.

/v1/status restituisce una dichiarazione statica sull’ambito storico e indica che l’applicazione HTTP risponde. È pubblico e non consuma crediti, ma non controlla il motore di ricerca, la presenza dei record o la velocità di recupero. Non trattarlo come autorizzazione ad avviare un carico o come prova che una query fallita ora funzionerà.