Grundlagen der Datenbeschaffung und Authentifizierung
Die API liefert Daten aus einem unabhängigen historischen Reddit-Archiv, ohne offizielle Verbindung zu Reddit und ohne Echtzeitdaten. Behandeln Sie die Ausgabe als beobachtete Auswahl, nicht als vollständigen oder unveränderlichen Datenbestand. Prüfen Sie eine Antwort vor dem Entwurf Ihrer Tabellen und unterscheiden Sie fehlende Felder, Nullwerte und fehlgeschlagene Konvertierungen. Ein kleiner Test ersetzt keine Prüfung weiterer Datenvarianten.
Bei der Registrierung mit E-Mail und einem Passwort von 12–72 Bytes erscheint die API-Zugangsinformation einmalig vor Zahlung. Senden Sie authentifizierte GET-Anfragen an api.redditdataapi.com mit Authorization: Bearer <Schlüssel> oder X-API-Key: <Schlüssel>. Der Schlüssel gehört nur zu diesem Domainkonto. Die Secure-HttpOnly-Sitzung des Kontobereichs ist davon getrennt und ersetzt keinen API-Header.
Jeder erfolgreiche Abruf kostet einen Credit, auch ohne Treffer: $1 pro 1000 Anfragen. Die Mindestaufladung von $50 kauft 50000 Credits; gekaufte Credits verfallen nicht und es gibt kein Abonnement. Ungültige Anfragen verursachen keinen Abzug, Fehler des Suchanbieters geben die Reservierung zurück. Ein Client-Verbindungsabbruch kann nach einem berechneten Erfolg auftreten und ein erfolgreicher erneuter Versuch kostet erneut.
Python-Prüfung und Vorbereitung der Tabellen
Testen Sie /v1/posts?subreddit=python&limit=3. In Python können urllib.request und json den Abruf und die Auswertung übernehmen. Behandeln Sie HTTPError und Verbindungsfehler gesondert. Prüfen Sie vor dem Durchlaufen, ob data eine Liste und jeder Datensatz ein Objekt ist. pagination und credits beschreiben die Antwort und gehören nicht automatisch zu den Spalten jedes Beitrags.
Speichern Sie Originalantworten neben einem Manifest aus Route, Filtern, Seite und Ausführungszeit. Erfassen Sie Typkonflikte und leiten Sie verworfene Zeilen in eine Prüfung weiter. Laden Sie zunächst eine Vorbereitungstabelle und dokumentieren Sie Zusammenführungsregeln anhand tatsächlich vorhandener Kennungen. Das Aufbewahren empfangener Antworten ermöglicht lokale Verarbeitungstests; ein bloßer Seitencheckpoint garantiert weder identische spätere Ergebnisse noch einen unveränderlichen Index.
Abfrageparameter und Datenstrukturierung
Suchfilter sind q, subreddit, author, kind, from, to, min_score, limit und page. kind akzeptiert post oder comment. Datumsangaben erfolgen als YYYY-MM-DD in UTC, mit einschließlich geltendem to. min_score setzt eine Mindestpunktzahl, ohne zu sortieren. Die Ausgabe folgt der internen Dokumentreihenfolge _doc, weder zeitlich noch nach Relevanz oder Punktzahl geordnet.
Jede Anfrage erlaubt bis zu 100 Datensätze, jede Abfrage bis zu 100 Seiten. Die Antworten bestehen aus flachen Datensätzen ohne serverseitige Diskussionsbäume. Sind parent_id oder link_id vorhanden, kann der Client die erhaltenen Elemente gruppieren. Diese beiden Felder sind keine verfügbaren Suchfilter. Eine vollständige Konversation oder Elternkette wird auch durch lokales Gruppieren nicht garantiert.
Verwenden Sie /v1/search für allgemeine Suchen, /v1/posts für Beiträge und /v1/comments für Kommentare. Nur /v1/item verlangt id; /v1/subreddits unterstützt prefix. In der Paginierung bedeutet eq eine exakte Gesamtzahl für die Abfrage, gte eine Untergrenze und unknown keine verlässliche Gesamtzahl, gegebenenfalls null. Keine dieser Angaben belegt vollständige Archivabdeckung; Community-Aggregationen sind ebenfalls nicht garantiert global exakt.
Fehlerbehandlung, Limits und Kosten
Prüfen Sie den HTTP-Status vor der Auswertung des Körpers. 400 bedeutet ungültige Anfrage, 401 fehlender oder ungültiger Schlüssel, 402 unzureichendes Guthaben und 429 Ratenbegrenzung. Trennen Sie erhaltene Fehlerantworten von Verbindungsabbrüchen. Begrenzen Sie erneute Versuche und bewahren Sie Diagnoseinformationen ohne Schlüssel auf. Ein Fehler darf nicht als erfolgreich geladene leere Liste in die Verarbeitung eingehen.
/v1/status ist öffentlich und kostenlos. Der Endpunkt liefert eine statische Beschreibung des historischen Dienstumfangs und zeigt, dass die HTTP-Anwendung antwortet. Er prüft weder Suchindex noch Archivverfügbarkeit oder Antwortzeit eines Abrufs. Verwenden Sie diesen Aufruf deshalb nicht als Freigabe für einen produktiven Datenlauf oder als Beweis, dass eine zuvor fehlgeschlagene Suche wieder funktioniert.
Der Kontobereich befindet sich auf der Schlüsselseite. Angemeldete Nutzer können nach Passwortbestätigung den Schlüssel erneuern; der vorherige wird sofort ungültig. Für Guthaben erstellen Sie nach Anmeldung eine Rechnung, verwenden ihren Empfänger und exakten Betrag und reichen den Transaktionshash zur Prüfung ein. Es gibt keine Passwortzurücksetzung, keine Schlüssel-E-Mail und keinen garantierten Gutschriftzeitpunkt.