Reddit Scraping
DE

StartDokumentation

Referenz für die Abfrage historischer Datensätze

Routen, Bearer oder X-API-Key, UTC-Daten, flache Datensätze und begrenzte Seiten für historische Abfragen.

Erste Anfrage

Senden Sie die Anfrage von Ihrem Server und halten Sie Ihren API-Schlüssel geheim.

cURL
curl --fail-with-body \
  -H "Authorization: Bearer ${REDDIT_API_KEY}" \
  "https://api.redditscraping.com/v1/posts?subreddit=webscraping&limit=3"

API-Referenz

↔ Tabelle horizontal verschieben

API-Endpunkte

MethodeEndpunktParameter
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—

Abfrageparameter

ParameterWert / Typ / Bereich
qtext
subredditkeyword
authorkeyword
kindpost | comment
fromISO date
toISO date
min_scoreinteger
limit1–100
page1–100
iditem ID
prefixsubreddit prefix

Authentifizierung und unterschiedliche Routen

Datenabrufe verwenden GET unter https://api.redditscraping.com mit X-API-Key: <Schlüssel> oder Authorization: Bearer <Schlüssel>. Beide Header sind gültig. Bewahren Sie den geheimen Wert auf Ihrem Server auf. Die Secure HttpOnly-Sitzung im Kontobereich ist davon getrennt und ersetzt keinen Abrufheader. Der Dienst fragt ein historisches Archiv ab; er nimmt keine Anweisungen zum Crawlen aktueller Seiten oder zum Umgehen fremder Zugriffsbeschränkungen entgegen.

/v1/search durchsucht Beiträge und Kommentare; /v1/posts beschränkt die Auswahl auf Beiträge und /v1/comments auf Kommentare. Diese Routen akzeptieren q, subreddit, author, kind, from, to, min_score, limit und page, aber keinen id-Filter. kind erwartet die wörtlichen Werte post oder comment. q führt eine Textsuche aus, keine beliebige Abfragesprache und keine Klassifizierung von Stimmungen.

/v1/item?id=... benötigt id und sucht einen einzelnen Datensatz, ohne weitere Filter oder rekursiven Abruf. /v1/subreddits akzeptiert nur prefix und limit für die Suche nach Communities; die Anzahlen sind kein garantiert exakter Gesamtzensus. /v1/status ist öffentlich und kostenlos. Seine statische Beschreibung bestätigt lediglich die Antwort der HTTP-Anwendung und prüft weder die Suche noch die Verfügbarkeit der Datensätze.

Daten prüfen und Zeiträume angeben

from und to erwarten YYYY-MM-DD in UTC und beziehen sich auf created_utc. Der Tag to wird vollständig eingeschlossen. Stunden und Sekunden werden mit diesen Parametern nicht angegeben; sie bezeichnen auch nicht den Zeitpunkt der Aufnahme ins Archiv. min_score ist ein numerischer Schwellenwert, der weder sortiert noch automatisch brauchbare Beiträge auswählt. Prüfen Sie Ihre Parameter vor dem Abruf weiterer Seiten.

Es gibt keine expliziten Abfragefilter für link_id oder parent_id. Wenn diese Felder in den Antwortdaten vorhanden sind, können Clients diese lokal gruppieren, um Gespräche zu rekonstruieren. Die API garantiert jedoch keine vollständige Hierarchie oder Nachbarschaft. Die lokale Gruppierung ist eine Client-Funktion, die die Datenstruktur voraussetzt, aber nicht die Serverantwort beschränkt.

Eine Abrufantwort enthält data, pagination und credits. Die Felder der Dokumente in data können variieren. Text, Zeitangaben und Kennungen sind nicht in jedem Datensatz garantiert. Speichern Sie den ursprünglichen Antworttext vor der Normalisierung und unterscheiden Sie ein fehlendes Feld von leerem Text oder null als Zahlenwert. Diese Zustände können in der eigenen Anwendung unterschiedliche Bedeutungen haben und sollten nicht still zusammengeführt werden.

Seiten, Fehler und Abrechnung

limit und page erlauben Werte von 1 bis 100. Jede Anfrage erhält eine Seite mit höchstens 100 Datensätzen; für eine Abfrage lassen sich bis zu 100 Seiten anfordern. Die interne Reihenfolge _doc ist weder chronologisch noch nach Relevanz oder Bewertung sortiert. Kleinere Zeiträume oder weitere Seiten können die Arbeit organisieren, garantieren aber weder eine vollständige Erhebung noch eindeutige Datensätze oder identische Antworten bei einem neuen entfernten Abruf.

Lesen Sie pagination.total gemeinsam mit relation: eq bezeichnet die exakte Anzahl für die Abfrage, gte eine untere Schranke und unknown eine nicht verlässlich bekannte Anzahl, gegebenenfalls null. Unbekannt bedeutet nicht null Datensätze. Selbst eine exakte Anzahl beweist weder den vollständigen Download noch die Erfassung aller historischen Beiträge. Bewahren Sie die zurückgegebenen Hinweise und Grenzen zusammen mit den lokalen Antwortdateien auf.

HTTP 400 bedeutet ungültige Parameter, 401 einen fehlenden oder ungültigen Schlüssel, 402 zu wenig Guthaben und 429 eine Begrenzung der Anfragehäufigkeit. Ein erfolgreicher Abruf kostet einen Credit, auch leer. Ungültige Anfragen buchen nichts ab; Fehler des vorgeschalteten Dienstes erstatten die Reservierung. Ein Client kann die Antwort nach berechnetem Erfolg verlieren. Eine erfolgreiche Wiederholung kostet einen weiteren Credit. Speichern Sie die Antwort vor der Aktualisierung Ihres lokalen Fortschritts.