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.redditproxy.com із X-API-Key: <key> або Authorization: Bearer <key>. Обидва варіанти допустимі. Bearer — спосіб передавання ключа архіву, а не сумісність із Reddit OAuth. Зберігайте справжній ключ у серверній конфігурації. Сеансова cookie панелі з атрибутами Secure та HttpOnly відокремлена від цих заголовків і не авторизує запити даних вашого застосунку. Не підставляйте замість нового ключа попередній токен іншого сервісу.
/v1/search шукає архівні дописи й коментарі. /v1/posts та /v1/comments обмежують видачу відповідним типом. Ці три маршрути приймають q, subreddit, author, kind, from, to, min_score, limit і page. kind приймає post або comment, а спеціалізований маршрут уже задає свій тип. Тут немає id, адреси призначення для пересилання чи недокументованих параметрів попереднього клієнта. Запитуйте лише підтримувані операції, не припускаючи перенесення його старих правил.
/v1/item вимагає id й не приймає інших фільтрів. Він шукає окремий елемент, а не повне обговорення. /v1/subreddits приймає лише prefix і limit для пошуку назв спільнот; агреговані кількості не гарантовано точні для всього архіву. /v1/status публічний і не оплачується. Його статична відповідь описує сервіс і підтверджує відповідь HTTP-застосунку, не перевіряючи пошук, наявність записів чи баланс облікового запису.
Дати, записи та зміст сторінок
Параметр 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 та списання кредитів
HTTP 400 означає неприпустимі параметри, 401 — відсутній або недійсний ключ, 402 — нестачу кредитів, 429 — обмеження частоти. Виправте параметри, ключ чи баланс перед повтором відповідного звернення. Для 429 може підійти обмежена кількість повторів із затримкою: це рішення клієнта, не гарантія доступності. Загальномережева доступність пробних кредитів не визначає причину конкретної відповіді про обмеження частоти й не замінює обробки HTTP-помилок.
Некоректні запити не списують кредитів, а збої джерела повертають резерв. Успішне отримання коштує один кредит, навіть за порожнього результату. Клієнт може втратити відповідь після оплаченого успіху сервера; успішний повтор коштує ще один кредит. Відокремлюйте помилку локального перетворення від HTTP-результату архіву, щоб відмова вашого адаптера чи сховища не перетворювалася на припущення про повернення зарезервованого кредиту.
Баланс, рахунки та перевипуск ключа доступні в панелі, не через публічний статус. Перед оплатою увійдіть і явно створіть рахунок, потім перекажіть показану точну суму одержувачу з рахунку та подайте хеш транзакції на перевірку. Рахунок діє одну годину; строк зарахування не гарантується. За збою провайдера перевірка може залишитися в очікуванні, що не є підставою повторно надсилати платіж.