Reddit Proxy
UK

ГоловнаДокументація

Переводьте запити читання в документований формат архіву

Обидва заголовки ключа, маршрути GET, дати UTC, плоскі записи, обмежена пагінація та облік запитів для явного адаптера історичних даних.

Перший запит

Надсилайте запит із сервера та зберігайте API-ключ у таємниці.

cURL
curl --fail-with-body \
  -H "Authorization: Bearer ${REDDIT_API_KEY}" \
  "https://api.redditproxy.com/v1/posts?subreddit=dataengineering&limit=3"

Довідник API

↔ Прокрутіть таблицю горизонтально

Маршрути API

МетодМаршрутПараметри
GET/v1/searchq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/postsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/commentsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/itemid
GET/v1/subredditsprefix, limit
GET/v1/status—

Параметри запиту

ПараметрЗначення / тип / діапазон
qtext
subredditkeyword
authorkeyword
kindpost | comment
fromISO date
toISO date
min_scoreinteger
limit1–100
page1–100
iditem ID
prefixsubreddit 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-результату архіву, щоб відмова вашого адаптера чи сховища не перетворювалася на припущення про повернення зарезервованого кредиту.

Баланс, рахунки та перевипуск ключа доступні в панелі, не через публічний статус. Перед оплатою увійдіть і явно створіть рахунок, потім перекажіть показану точну суму одержувачу з рахунку та подайте хеш транзакції на перевірку. Рахунок діє одну годину; строк зарахування не гарантується. За збою провайдера перевірка може залишитися в очікуванні, що не є підставою повторно надсилати платіж.