q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/posts
q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/comments
q, subreddit, author, kind, from, to, min_score, limit, page
GET
/v1/item
id
GET
/v1/subreddits
prefix, limit
GET
/v1/status
—
Параметри запиту
Параметр
Значення / тип / діапазон
q
text
subreddit
keyword
author
keyword
kind
post | comment
from
ISO date
to
ISO date
min_score
integer
limit
1–100
page
1–100
id
item ID
prefix
subreddit prefix
Маршрути й авторизація
Захищене отримання даних використовує GET на https://api.redditscraping.com із заголовком X-API-Key: <key> або Authorization: Bearer <key>. Обидва способи підтримуються. Справжній ключ зберігайте на сервері, поза відкритим кодом. Панель облікового запису використовує окрему сеансову cookie з атрибутами Secure та HttpOnly; вхід у браузері не замінює заголовок ключа в запитах вашого застосунку. Публічний приклад має містити лише заповнювач секрету.
/v1/search шукає дописи й коментарі. /v1/posts та /v1/comments обмежують видачу відповідним типом. Ці маршрути приймають q, subreddit, author, kind, from, to, min_score, limit і page. Значення kind — post та comment, причому спеціалізований маршрут уже задає свій тип. Фільтр id на цих маршрутах не підтримується, як не підтримується передавання адреси сторінки для її обходу або отримання поточного HTML.
/v1/item вимагає id й не приймає інших параметрів фільтрування; він шукає окремий елемент, а не всю бесіду. /v1/subreddits приймає лише prefix і limit для пошуку назв спільнот, без гарантії глобально точних кількостей. Публічний /v1/status не потребує ключа та кредитів. Його статична відповідь не перевіряє пошук, доступність архівних записів, баланс облікового запису або історію платежів.
Фільтрування та перевірка записів
Параметр q виконує текстовий пошук, а не довільну мову запитів, роботу браузера чи аналіз тональності. subreddit та author обмежують збіги спільнотою й автором. Дати from і to задаються строго як YYYY-MM-DD у UTC та застосовуються до created_utc, а не до часу завантаження в архів. День to включається повністю. Інтервали всередині дня виділяйте локально за доступними часовими мітками записів.
min_score застосовує числовий поріг оцінки й не сортує результат. Внутрішній порядок документів _doc не означає порядок ідентифікаторів, час додавання, хронологію або ранжування за релевантністю. Параметри limit і page приймають значення від 1 до 100. Кожен запит повертає одну сторінку щонайбільше зі 100 записів, а для одного набору фільтрів доступно до 100 сторінок. Додаткові сторінки не доводять повне охоплення архіву.
Успішна відповідь отримання даних містить data, pagination і credits. Записи в data плоскі, а поля можуть відрізнятися чи бути відсутні. Перевіряйте вимоги свого застосунку перед нормалізацією, не припускаючи обов’язкового тексту або полів зв’язків. За наявності parent_id та link_id можливе локальне групування, однак ці поля не є фільтрами запиту й не підтверджують повноту дерева обговорення. Не замінюйте прогалини вигаданими значеннями.
Підсумки, помилки та вартість повторів
Читайте pagination.total разом із pagination.relation. Значення eq означає точний підсумок запиту, gte — нижню межу, unknown — відсутність надійного підсумку, який може бути null. Невідома кількість не дорівнює нулю. Навіть точний підсумок не доводить, що всі збіги завантажено. Невеликі часові вікна допомагають організувати збирання, але не гарантують вичерпної видачі, відсутності повторів чи однакового результату нового запиту.
HTTP 400 означає неприпустимі параметри, 401 — відсутній або недійсний ключ, 402 — нестачу кредитів, 429 — обмеження частоти. Некоректні запити не списують кредитів, а збої джерела повертають резерв. Успішне отримання коштує один кредит, навіть за порожнього data. Клієнт може втратити відповідь після оплаченого успіху сервера; успішний повтор витрачає ще один кредит, навіть коли запитується той самий матеріал.
Зберігайте початкові відповіді перед оновленням локального прогресу. Обгортка клієнта може розділити налаштування заголовків, побудову запитів, перевірку та обробку помилок, не приховуючи меж сторінок або результатів списання. Баланс і рахунки дивіться в панелі облікового запису, а не в /v1/status. Сторінка цін пояснює купівлю кредитів, а посібник показує перевірку локального перетворення на невеликому прикладі з головної сторінки перед підключенням наступного етапу обробки.