Reddit Data API
Вибір мови

Перевірте схему Reddit перед завантаженням у сховище

Перевірте JSON історичного архіву Reddit перед завантаженням у сховище. Плоскі записи, правила типів, локальні зразки та межі отримання даних для інженерів.

Отримати API-ключ

Приклад запиту

cURL

curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditdataapi.com/v1/posts?subreddit=python&limit=3"

Від малого зразка до структури таблиці

Reddit Data API надає інженерам даних доступ до незалежного історичного архіву Reddit. Це не офіційний продукт платформи й не джерело оновлень у реальному часі. Почніть із перевірки невеликої відповіді, перш ніж визначати стовпці сховища. Збережений допис може не відповідати поточному стану вихідної сторінки. Наявність запису під час перевірки також не гарантує, що сервіс повертатиме його надалі.

Початковий приклад: https://api.redditdataapi.com/v1/posts?subreddit=python&limit=3. Тут subreddit=python обирає спільноту, а limit=3 запитує не більше трьох записів. Передайте власний ключ через X-API-Key або Authorization: Bearer. У публічних прикладах використовуйте лише позначку для підстановки ключа. Успішна порожня відповідь можлива й не доводить відсутності історичних обговорень у спільноті. Збережіть отриманий JSON перед перетворенням, щоб мати змогу перевірити свої припущення щодо полів.

Структура відповідей є плоскою, без зібраних сервером дерев обговорень. Якщо в записі є parent_id або link_id, клієнт може згрупувати отримані об’єкти локально. Проте повний ланцюжок батьківських повідомлень не гарантується. Перевіряйте фактичну наявність потрібних атрибутів, розрізняючи відсутнє поле та явне null. Для рядка, який не відповідає вашому контракту завантаження, збережіть причину відхилення замість непомітної підміни значень.

Контракт завантаження та межі вибірки

Визначте локальні правила для значень, які потрібні вашому аналізу: прийнятні типи, обробку пропусків та реакцію на помилку перетворення. Перегляньте поля id, kind, subreddit, created_utc, score, title і text там, де вони присутні. Цей перелік не обіцяє однакової структури кожного запису. Правила належать вашому завантажувачу; API не виконує перевірку довільної користувацької схеми перед записом у ваше сховище.

Один запит отримує одну сторінку максимум зі 100 записами. Параметри limit і page мають діапазон від 1 до 100. Внутрішній порядок документів _doc не є хронологічним або впорядкованим за релевантністю. min_score лише відсіює записи за числовою оцінкою. Навіть обхід усіх дозволених сторінок не доводить повноти збору. Поділ завдання за датами може впорядкувати роботу, але не гарантує відсутності пропусків чи повторів.

Підсумок слід читати разом із relation: eq означає точну кількість збігів, gte — нижню межу, unknown — відсутність надійного підсумку, який може бути null. Точне число не доводить отримання всіх записів вашим клієнтом. Зберігайте параметри, час отримання та версію перетворень разом із відповідями. Це допомагає повторити локальне опрацювання збережених файлів, але не робить майбутні відповіді архіву незмінними.

Обліковий запис і бюджет перевірки

Реєстрація використовує електронну пошту й пароль довжиною від 12 до 72 байтів. Ключ показується один раз одразу після створення облікового запису, до оплати. Збережіть його поза публічним кодом. Пробні 100 кредитів залежать від спільних для мережі обмежень проти зловживань і не гарантовані кожному користувачеві. Саме отримання ключа не потребує попереднього поповнення балансу чи підключення гаманця.

Кожен успішний запит, включно з порожнім результатом, коштує один кредит. Тариф становить $1 за 1000 запитів; мінімальне платне поповнення $50 додає 50000 кредитів. Підписки немає, платні кредити не мають строку дії. Для оплати увійдіть і створіть рахунок, обравши USDT TRON TRC20 або USDC ERC20 в основній мережі Ethereum. Перевірте адресу та точну суму в рахунку, потім подайте хеш транзакції на перевірку.

Некоректні запити не списують кредитів, а збій зовнішнього сервісу повертає зарезервований кредит. Розрив з’єднання клієнта може відбутися після платного успіху сервера; успішний повтор коштує ще один кредит. Публічний /v1/status не тарифікується та повертає статичний опис сервісу, підтверджуючи відповідь HTTP-застосунку. Він не перевіряє пошук, наявність архівних записів або готовність вашої таблиці прийняти чергову порцію даних.