Grundlagen und Authentifizierung
Senden Sie GET-Anfragen an api.subredditapi.com mit Authorization: Bearer <Schlüssel> oder X-API-Key: <Schlüssel> für authentifizierte Abrufe. Beide Varianten werden unterstützt. /v1/status ist öffentlich und benötigt keinen Schlüssel. Das Secure-HttpOnly-Sitzungscookie des Kontobereichs erfüllt eine andere Aufgabe und ersetzt keinen API-Header. Schlüssel und Saldo gelten nur für dieses Domainkonto, ohne gemeinsame Nutzung zwischen den Marken.
Jeder erfolgreiche Abruf kostet einen Credit, auch bei leerem Ergebnis. Ungültige Anfragen verursachen keinen Abzug und Fehler des Suchanbieters geben die Reservierung zurück. Ein Verbindungsabbruch des Clients kann nach einem bereits berechneten Erfolg auftreten; ein erfolgreicher erneuter Versuch kostet einen weiteren Credit. /v1/status ist kostenlos, testet aber weder Suche noch Archivverfügbarkeit oder Antwortzeit einer geplanten Abfrage.
Der Schlüssel erscheint einmalig unmittelbar nach der Registrierung mit E-Mail und einem Passwort von 12–72 Bytes, vor Zahlung. Angemeldete Nutzer können ihn nach Passwortbestätigung erneuern, wodurch der vorherige sofort ungültig wird. Es gibt keine Passwortzurücksetzung oder Schlüssel-E-Mail. Der Kontobereich liegt auf der Schlüsselseite. Bewahren Sie die Zugangsdaten außerhalb Ihrer veröffentlichten Forschungsdateien und Diagnoseprotokolle auf.
Filter und Suchparameter
Die Suche akzeptiert q, subreddit, author, kind, from, to, min_score, limit und page. kind ist post oder comment; Datumsangaben sind YYYY-MM-DD in UTC, mit einschließlich geltendem to. limit und page liegen zwischen 1 und 100: eine Anfrage erhält eine Seite mit höchstens 100 Datensätzen, eine Abfrage erlaubt bis zu 100 Seiten.
min_score setzt eine Mindestpunktzahl, ohne zu sortieren oder die Qualität von Diskussionen zu messen. Die Ausgabe folgt _doc, der internen Dokumentreihenfolge, weder chronologisch noch nach Relevanz oder Punktzahl geordnet. Ein lokales Sortieren betrifft nur die erhaltene Auswahl. Ein gespeicherter Seitencheckpoint garantiert nicht, dass derselbe entfernte Seitenaufruf später dieselben Datensätze enthält.
eq bezeichnet eine exakte Gesamtzahl für die Abfrage, gte eine Untergrenze und unknown keine verlässliche Gesamtzahl, gegebenenfalls null. Keine dieser Beziehungen oder ein vollständiger Durchlauf der erlaubten Seiten beweist eine vollständige Erfassung. Auch die Community-Aggregationen sind nicht garantiert global exakt. Speichern Sie die Angaben neben Ihrer Auswahl, statt eine Untergrenze als exakten Archivbestand auszugeben.
Datendarstellung und Fehlercodes
Die API gibt flache Datensätze zurück, keine vorgefertigten Thread-Bäume. Wenn Felder wie parent_id und link_id vorhanden sind, kann der Client diese lokal gruppieren. Es gibt jedoch keine Garantie für eine vollständige Gesprächshistorie. Die Felder werden nicht als Abfragefilter angeboten. Dies ermöglicht eine flexible, aber manuelle Nachbearbeitung der Daten durch den Nutzer. Die Struktur ist einfach und leicht verständlich für Entwickler.
400 bedeutet ungültige Parameter, 401 fehlender oder ungültiger Schlüssel, 402 unzureichendes Guthaben und 429 Ratenbegrenzung. Prüfen Sie den HTTP-Status, bevor Sie den Körper als Datensätze verarbeiten. Beheben Sie die Ursache und begrenzen Sie Wiederholungen. Die netzwerkweite Berechtigung für mögliche Test-Credits ist von der durch 429 gemeldeten Anfrageratenbegrenzung zu unterscheiden.
Verwenden Sie /v1/search, /v1/posts und /v1/comments für Inhaltssuchen und Listen. Nur /v1/item verlangt id. /v1/subreddits akzeptiert prefix und limit für Community-Namen, nicht author oder kind. Der Dienst bietet keine Veröffentlichung, Abstimmung, Nachrichten oder serverseitige Sentimentanalyse. Wortzählungen und Interpretationen der erhaltenen Texte sind lokale Forschungsschritte und keine von der API berechneten Ergebnisse.
Zwei Communities mit denselben Kriterien
Beginnen Sie mit /v1/search?q=soil&subreddit=gardening&limit=3. Ändern Sie für die zweite Community nur subreddit, wenn dies Ihre Vergleichsvariable ist. Dokumentieren Sie Inhaltstyp, Zeitraum, Schwellenwerte und ausgeschlossene Texte. soil deckt nicht automatisch alle Übersetzungen oder Bedeutungen ab. Bewahren Sie Originalantworten und Auswertungsregeln auf; gleiche Filter beweisen weder Repräsentativität noch identische spätere Ergebnisse.