Den Archiv-Endpunkt nach der benötigten Dateneinheit wählen

Community-Namen entdecken, Inhalte nach Typ suchen und bekannte Kennungen abfragen: Unterschiede der Routen ohne erfundene Vollständigkeitsversprechen.

Community-Namen und Inhalte getrennt suchen

Die effiziente Abfrage historischer Reddit-Daten beginnt mit der passenden Endpunktroute. Der Dienst bietet Zugriff auf ein unabhängiges historisches Archiv, ohne offizielle Verbindung oder Live-Daten von Reddit. Bestimmen Sie zunächst, welche Dateneinheit Ihre Anwendung benötigt. Ein Community-Name für ein Auswahlfeld ist etwas anderes als der Text einer Veröffentlichung oder ein bekannter Kommentar. Ein Teilkatalog sollte in Ihrer Oberfläche nicht als aktuelle vollständige Liste aller Communities erscheinen.

Für die Namenssuche verwenden Sie https://api.redditapihub.com/v1/subreddits?prefix=program&limit=3, das Beispiel der Startseite. prefix wählt Namen, die mit program beginnen; limit fordert höchstens drei Einträge an. Zulässig sind nur prefix und limit, nicht page, q oder subreddit. Speichern Sie die tatsächlich empfangenen Namen. count garantiert keine exakte globale Zählung, und relation=unknown mit total=null bedeutet nicht, dass keine weiteren Communities fehlen.

Wenn ein empfangener Name ausgewählt wird, kann Ihre Anwendung ihn als subreddit an /v1/search übergeben. Das ist ein weiterer Abruf und keine automatische Fortsetzung des Katalogs. q sucht Text statt Community-Namen. Weder ein Katalogeintrag programming noch empfangene Inhalte dieser Community beweisen, dass alle historischen Beiträge und Kommentare vorhanden sind. Planen Sie für den Übergang deshalb einen eigenen Verarbeitungsschritt und die Kosten einer weiteren erfolgreichen Anfrage ein.

Datensatztypen auswählen, ohne Hierarchien zu erfinden

Verwenden Sie /v1/search, wenn beide Inhaltstypen relevant sind. /v1/posts beschränkt zusätzlich auf Beiträge und /v1/comments auf Kommentare. Gehen Sie nicht davon aus, dass search nur Zusammenfassungen und posts vollständige Versionen liefert: Eine solche Unterscheidung der ausgegebenen Felder gehört nicht zum Vertrag. Verarbeitet werden die verfügbaren archivierten Felder, die je Datensatz variieren können. Lassen Sie fehlende Werte erkennbar, statt sie in Ihrem Zielschema durch Annahmen zu ersetzen.

Für eine bekannte Kennung sucht /v1/item?id=... einen einzelnen Datensatz und verlangt id. Die Suchrouten akzeptieren id nicht als Filter. Der Einzelabruf durchläuft weder Antworten noch Elternketten und garantiert nicht, dass der gesuchte Eintrag vorhanden ist. Ein vorhandenes parent_id- oder link_id-Feld kann lokale Verknüpfungen empfangener Daten ermöglichen. Es schafft aber keinen zusätzlichen Suchfilter und beweist keinen vollständigen Gesprächsverlauf oder vollständigen Kontext.

Für search, posts und comments stehen q, subreddit, author, kind, from, to, min_score, limit und page zur Verfügung. kind verwendet die Literale post und comment. from/to erwarten YYYY-MM-DD und filtern created_utc in UTC; der Endtag wird vollständig eingeschlossen. min_score setzt eine Untergrenze ohne Sortierung. Die Ausgabe folgt _doc statt Chronologie, Relevanz oder Bewertung. Eine lokale Sortierung ordnet ausschließlich die bereits empfangenen Datensätze neu.

Antworten prüfen und den gesamten Ablauf kalkulieren

Bei Inhaltsabfragen liegen limit und page zwischen 1 und 100; jede Anfrage erhält eine Seite. eq bezeichnet einen exakten Abfragegesamtwert, gte eine Untergrenze und unknown einen nicht verlässlichen Gesamtwert. Weder exakte Anzahl noch durchlaufene Seiten oder aufgeteilte Zeiträume belegen einen vollständigen Download. Speichern Sie die Antwort und ihre Grenzen, bevor Sie den lokalen Fortschritt aktualisieren. Die Dokumentation erläutert die zulässigen Parameter für jede Route.

Geschützte Abrufe akzeptieren X-API-Key: <key> oder Authorization: Bearer <key>. Bewahren Sie den Schlüssel auf Ihrem Server auf; die Seite API-Schlüssel erhalten erklärt Registrierung und Kontobereich. /v1/status braucht weder Schlüssel noch Credits, bestätigt aber nur die HTTP-Antwort, nicht Schlüsselgültigkeit, Guthaben oder Suchsystemzustand. Behandeln Sie 400 als ungültige Parameter, 401 als fehlenden oder ungültigen Schlüssel, 402 als unzureichendes Guthaben und 429 als Häufigkeitslimit.

Lesen Sie die Preise vor dem Verketten von Abrufen: Ein Erfolg kostet einen Credit, auch leer, bei $1 für 1000 Anfragen und mindestens $50 pro bezahlter Aufladung. Ungültige Anfragen buchen nichts ab; Fehler des vorgeschalteten Dienstes erstatten die Reservierung. Verliert der Client eine Antwort nach einem berechneten Erfolg, kostet eine erfolgreiche Wiederholung erneut. Ein lokaler Verarbeitungsfehler macht den entfernten Erfolg nicht zu einer Erstattung.