API Reddit
Ищите публикации Reddit, группируйте контент по сабреддитам или пользователям и читайте подробности отдельных публикаций и комментарии к ним.
Указывайте название сабреддита без префикса или полный URL сообщества. Сохраняйте идентификаторы публикаций и родительских комментариев, чтобы выстраивать структуру обсуждений.
Доступность платформы
- Состояние за 24 ч
- 100%
За последние 30 дней
Доступные возможности
Все действия Reddit: что делает каждое, сколько стоит и как работало за последние 24 часа. Откройте действие, чтобы увидеть параметры, поля ответа и примеры кода.
| Возможность | Описание | За 1000 | Состояние за 24 часа |
|---|---|---|---|
Поискsearch | Ищите посты Reddit за последний месяц по keyword: сабреддит, автор, текст и число лайков и комментариев. | $0.56 за 1 000 запросов | Норма |
Публикации сабреддитаsubreddit_posts | Просматривайте посты сообщества Reddit по имени сабреддита (например, python) или URL: автор, текст и число лайков и комментариев с фильтром по периоду и сортировкой. | $0.56 за 1 000 запросов | Работает стабильно · состояние 100% |
Сведения о постеpost_detail | Откройте один пост Reddit по ссылке: заголовок, текст, автор, сабреддит и число лайков и комментариев. | $0.56 за 1 000 запросов | Норма |
Комментарииcomments | Получите комментарии к одному посту на Reddit с вложенными ответами до пяти уровней. | $0.56 за 1 000 запросов | Работает стабильно · состояние 100% |
Посты пользователяuser_posts | Получите посты, опубликованные пользователем Reddit, по имени пользователя или URL /user/: сабреддит, текст и число лайков и комментариев с фильтром по периоду и сортировкой. | $0.56 за 1 000 запросов | Норма |
Комментарии пользователяuser_comments | Получите историю комментариев пользователя Reddit по имени пользователя, u/имени или URL профиля. | $32.4 за 1 000 запросов | Норма |
Болевая точкаpainpoint | Узнайте, на что жалуются пользователи Reddit, по keyword продукта или темы. | $72 за 1 000 запросов | Норма |
Посты в трендахtrending_posts | Получите посты, которые сейчас в трендах Reddit, без входных параметров. | $0.56 за 1 000 запросов | Норма |
Откройте возможность, чтобы посмотреть её параметры, поля ответа и примеры кода, а также попробовать её в работе.
Какие параметры принимает каждое действие API Reddit?
Каждый ответ ниже описывает одно вызываемое действие и его фактические входные данные. Значение параметров и допустимые значения зависят от действия: знакомое имя параметра не обязательно означает одно и то же на всех платформах.
Ссылки на официальные источники приводятся только для пояснения расположенного рядом термина, принятого на платформе. Они не означают, что платформа предоставила разрешение или выразила одобрение. Функции официального сайта не входят в API EveryInfra, если они не перечислены на этой странице.
| Действие | Обязательные | Необязательные | Способ получения результата | Лимит | За 1 000 | Поля ответа |
|---|---|---|---|---|---|---|
searchПоиск Ищите посты Reddit за последний месяц по | keyword | sort | Режим выдачи: Sync | Значения в каталоге: defaultLimit=10, maxLimit=25. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. Можно передать большее значение limit, но оно будет ограничено значением 25. | $0.56 за 1 000 запросов | id · url · title · text · author_username · community · like_count · comment_count · posted_at · flair · domain · external_link · thumbnail_url · image_urls · platform |
subreddit_postsПубликации сабреддита Просматривайте посты сообщества Reddit по имени сабреддита (например, python) или URL: автор, текст и число лайков и комментариев с фильтром по периоду и сортировкой. Для имён сабреддитов, начинающихся с r, передавайте полный URL, содержащий /r/. Закрытые и удалённые посты не включаются. | subreddit | date_range, sort | Режим выдачи: Sync | Значения в каталоге: defaultLimit=10, maxLimit=100. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. | $0.56 за 1 000 запросов | id · url · title · text · author_username · community · like_count · comment_count · posted_at · flair · domain · external_link · thumbnail_url · image_urls · platform |
post_detailСведения о посте Откройте один пост Reddit по ссылке: заголовок, текст, автор, сабреддит и число лайков и комментариев. Комментарии не включаются. Получите их через | url | — | Режим выдачи: Sync | — | $0.56 за 1 000 запросов | id · url · title · text · author_username · community · like_count · comment_count · posted_at · flair · domain · external_link · thumbnail_url · image_urls · platform |
commentsКомментарии Получите комментарии к одному посту на Reddit с вложенными ответами до пяти уровней. У каждого комментария есть текст, автор, рейтинг и время. Охватывается только этот пост, поиска комментариев по всему сайту здесь нет. Не все ветки обсуждения могут попасть в результат. | url | — | Режим выдачи: Sync | Значения в каталоге: defaultLimit=10, maxLimit=100. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. | $0.56 за 1 000 запросов | id · text · author_username · like_count · community · url · posted_at · platform |
user_postsПосты пользователя Получите посты, опубликованные пользователем Reddit, по имени пользователя или URL /user/: сабреддит, текст и число лайков и комментариев с фильтром по периоду и сортировкой. Личные сообщения и сведения о том, как пользователь голосовал, не включаются, получение всех постов не гарантируется. Для имён пользователей, начинающихся с u, передавайте полный URL. | username | date_range, sort | Режим выдачи: Sync | Значения в каталоге: defaultLimit=10, maxLimit=50. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. | $0.56 за 1 000 запросов | id · url · title · text · author_username · community · like_count · comment_count · posted_at · flair · domain · external_link · thumbnail_url · image_urls · platform |
user_commentsКомментарии пользователя Получите историю комментариев пользователя Reddit по имени пользователя, u/имени или URL профиля. У каждого комментария есть текст, рейтинг, время, а также заголовок, ID и ссылка поста, под которым он оставлен. Сортировка: по новизне (по умолчанию), лучшие, популярные или спорные; до 200 комментариев за вызов. | username | sort | Режим выдачи: Sync | Значения в каталоге: defaultLimit=20, maxLimit=200. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. | $32.4 за 1 000 запросов | id · text · author_username · like_count · post_id · post_title · url · posted_at · platform |
painpointБолевая точка Узнайте, на что жалуются пользователи Reddit, по | keyword | sort | Режим выдачи: Sync | Значения в каталоге: defaultLimit=5, maxLimit=15. В некоторых действиях limit задаёт число страниц или число вложенных элементов на родительский объект, поэтому это не всегда итоговое количество записей. | $72 за 1 000 запросов | row_type · posts_scanned · posts_analyzed · comments_collected · negative_comment_count · positive_comment_count · pain_keywords · praise_keywords · communities · platform · id · title · url · community · like_count · comment_count · text · author_username · post_title |
trending_postsПосты в трендах Получите посты, которые сейчас в трендах Reddit, без входных параметров. У каждого поста есть заголовок, текст, сабреддит, автор, рейтинг, число комментариев, время публикации и внешняя ссылка или изображение, если они есть. Продвигаемые посты исключаются. 25 записей на страницу; следующую страницу запрашивайте с | page_token | Режим выдачи: Sync | Каждый вызов возвращает одну страницу; максимум записей на странице — 25. Число записей меняется от страницы к странице, поэтому неполная страница ещё не означает конец. Для следующей страницы передайте next_page_token с верхнего уровня ответа как page_token; когда его нет, остановитесь. Параметр limit принимается, но ни на что не влияет. | $0.56 за 1 000 запросов | next_page_token · id · url · title · text · author_username · community · like_count · comment_count · posted_at · domain · external_link · image_urls · platform |
Что означают параметры действия search в API Reddit?
Ищите посты Reddit за последний месяц по keyword: сабреддит, автор, текст и число лайков и комментариев. Результаты сортируются по релевантности, если в sort не указано иное. Текст комментариев не ищется, более старая история не гарантируется.
keywordОбязательный- Поисковый запрос по постам для
search. Полный текст комментариев не просматривается. По умолчанию используется сортировкаrelevance, период фиксирован: последний месяц. Возвращаются только посты, соответствующие запросу: слово из запроса есть в заголовке или названии сообщества и пост содержит слова запроса, либо слова встречаются рядом в тексте поста (для запросов из трёх и более слов нужно не менее трёх четвертей из них). Посты, совпадающие только по одному слову, отбрасываются, поэтому результатов может быть меньшеlimit. Если совпадений нет, вызов считается пустым результатом и средства за него возвращаются. sortНеобязательный- Сортирует списки постов Reddit:
newest,popular,relevance,risingилиtop. Действияpost_detailиcommentsне принимаютsort.Допустимые значения:controversialnewestpopularrelevancerisingtopReddit: чем различаются Relevance, Hot, Top и New — Официальная документация Reddit разделяет Hot (недавняя активность) и Top (наибольшее число голосов за всё время). На этой странице popular соответствует Hot, а не Top; дополнительные варианты сортировки и фильтры по времени на официальном сайте не означают, что этот эндпоинт поддерживает такие же параметры или их комбинации. · Проверено
Что означают параметры действия subreddit_posts в API Reddit?
Просматривайте посты сообщества Reddit по имени сабреддита (например, python) или URL: автор, текст и число лайков и комментариев с фильтром по периоду и сортировкой. Для имён сабреддитов, начинающихся с r, передавайте полный URL, содержащий /r/. Закрытые и удалённые посты не включаются.
Полный справочник API: параметры, примеры кода, пример ответа и состояниеsubredditОбязательный- Целевой сабреддит для
subreddit_posts, напримерpython, или полный URL сабреддита. Если название сабреддита начинается сr, передайте полный URL/r/subreddit/и проверьте результат.Reddit: поиск в сообществе и поиск по всему сайту — Справочный центр Reddit разделяет поиск внутри конкретного сообщества и поиск по всему сайту; subreddit указывает сообщество, к которому относится пост. Ссылка на эту терминологию не переносит в возможности этого эндпоинта логические операторы, Flair и другие фильтры из официального поиска. · Проверено date_rangeНеобязательный- Фильтрует посты по периоду в списках постов сабреддитов и пользователей. Допустимые значения:
all_time,past_hour,past_day,past_week,past_monthиpast_year. При фиксированных URL постов или неподдерживаемом порядке сортировки применение фильтра зависит от набора результатов. Фильтровать комментарии по дате этим параметром нельзя.Допустимые значения:all_timepast_daypast_hourpast_monthpast_weekpast_year sortНеобязательный- Сортирует списки постов Reddit:
newest,popular,relevance,risingилиtop. Действияpost_detailиcommentsне принимаютsort.Допустимые значения:newestpopularrelevancerisingtopReddit: чем различаются Relevance, Hot, Top и New — Официальная документация Reddit разделяет Hot (недавняя активность) и Top (наибольшее число голосов за всё время). На этой странице popular соответствует Hot, а не Top; дополнительные варианты сортировки и фильтры по времени на официальном сайте не означают, что этот эндпоинт поддерживает такие же параметры или их комбинации. · Проверено
Что означают параметры действия post_detail в API Reddit?
Откройте один пост Reddit по ссылке: заголовок, текст, автор, сабреддит и число лайков и комментариев. Комментарии не включаются. Получите их через comments с тем же url.
urlОбязательный- URL поста для
post_detailиcomments, обычно содержащий/r/subreddit/comments/post_id/. Вcommentsвозвращает комментарии и до пяти уровней вложенных ответов к этому посту; это не глобальный поиск по комментариям.Reddit: счётчики взаимодействий с постом и карма автора — разные показатели — Reddit описывает карму как приблизительное отражение голосов, полученных за посты и комментарии, и прямо указывает, что апвоуты и карма не соотносятся один к одному. В этом эндпоинте нет поля кармы автора, и он не преобразует like_count или счётчики взаимодействий отдельного поста в карму аккаунта. · Проверено
Что означают параметры действия comments в API Reddit?
Получите комментарии к одному посту на Reddit с вложенными ответами до пяти уровней. У каждого комментария есть текст, автор, рейтинг и время. Охватывается только этот пост, поиска комментариев по всему сайту здесь нет. Не все ветки обсуждения могут попасть в результат.
Полный справочник API: параметры, примеры кода, пример ответа и состояниеurlОбязательный- URL поста для
post_detailиcomments, обычно содержащий/r/subreddit/comments/post_id/. Вcommentsвозвращает комментарии и до пяти уровней вложенных ответов к этому посту; это не глобальный поиск по комментариям.Reddit: поиск по комментариям поста и получение комментариев — разные функции — Официальная документация Reddit описывает поиск по комментариям внутри поста на сайте и в приложениях. Эндпоинт comments на этой странице получает комментарии только по URL поста; у него нет параметра для поиска по ключевым словам в комментариях, и ссылка на описание официальной функции не добавляет полнотекстового поиска по комментариям. · Проверено
Что означают параметры действия user_posts в API Reddit?
Получите посты, опубликованные пользователем Reddit, по имени пользователя или URL /user/: сабреддит, текст и число лайков и комментариев с фильтром по периоду и сортировкой. Личные сообщения и сведения о том, как пользователь голосовал, не включаются, получение всех постов не гарантируется. Для имён пользователей, начинающихся с u, передавайте полный URL.
Полный справочник API: параметры, примеры кода, пример ответа и состояниеusernameОбязательный- Имя пользователя или полный URL
/user/username/дляuser_posts. Если имя начинается сu, передайте полный URL и проверьте результат.user_commentsтакже принимает имя пользователя,u/usernameили URL профиля.Reddit: публичный контент, коммерческое лицензирование и права пользователей — Политика Reddit в отношении общедоступного контента (Public Content Policy) строго разделяет контент, доступный для просмотра, и лицензированное коммерческое использование: коммерческие пользователи должны связаться с платформой и соблюдать такие ограничения, как синхронизация удалений и запрет на профилирование по чувствительным данным. Доступ к публичным постам не предоставляет лицензию платформы; личные сообщения, закрытые сообщества и удалённый контент не входят в область лицензирования общедоступного контента. · Проверено date_rangeНеобязательный- Фильтрует посты по периоду в списках постов сабреддитов и пользователей. Допустимые значения:
all_time,past_hour,past_day,past_week,past_monthиpast_year. При фиксированных URL постов или неподдерживаемом порядке сортировки применение фильтра зависит от набора результатов. Фильтровать комментарии по дате этим параметром нельзя.Допустимые значения:all_timepast_daypast_hourpast_monthpast_weekpast_year sortНеобязательный- Сортирует списки постов Reddit:
newest,popular,relevance,risingилиtop. Действияpost_detailиcommentsне принимаютsort.Допустимые значения:newestpopularrelevancerisingtop
Что означают параметры действия user_comments в API Reddit?
Получите историю комментариев пользователя Reddit по имени пользователя, u/имени или URL профиля. У каждого комментария есть текст, рейтинг, время, а также заголовок, ID и ссылка поста, под которым он оставлен. Сортировка: по новизне (по умолчанию), лучшие, популярные или спорные; до 200 комментариев за вызов.
Полный справочник API: параметры, примеры кода, пример ответа и состояниеusernameОбязательный- Одно имя пользователя Reddit, историю комментариев которого нужно получить: подходят
spez,u/spezиhttps://www.reddit.com/u/spez. Один пользователь на вызов. sortНеобязательный- Порядок комментариев для
user_comments:newest(по умолчанию),top,popularилиcontroversial.Допустимые значения:controversialnewestpopulartop
Что означают параметры действия painpoint в API Reddit?
Узнайте, на что жалуются пользователи Reddit, по keyword продукта или темы. Одна сводная запись содержит число прочитанных постов и комментариев, число негативных и позитивных комментариев, самые частые слова жалоб и похвалы и задействованные сообщества. После неё целиком приводятся лучшие посты и негативные комментарии с наибольшим числом апвоутов. Жалобы и похвала определяются по списку слов, поэтому воспринимайте эти числа как приблизительные сигналы. limit задаёт число анализируемых постов (от 2 до 15).
keywordОбязательный- Товар или тема для исследования, например
standing desk. По этому значению находятся обсуждения на Reddit, комментарии к которым затем анализируются. Это не поиск по комментариям. sortНеобязательный- Как выбираются обсуждения для анализа:
relevance(по умолчанию),popular,top,newestилиmost_commented. Если по узкому ключевому слову ничего не найдено, попробуйтеtop.Допустимые значения:most_commentednewestpopularrelevancetop
Что означают параметры действия trending_posts в API Reddit?
Получите посты, которые сейчас в трендах Reddit, без входных параметров. У каждого поста есть заголовок, текст, сабреддит, автор, рейтинг, число комментариев, время публикации и внешняя ссылка или изображение, если они есть. Продвигаемые посты исключаются. 25 записей на страницу; следующую страницу запрашивайте с next_page_token.
page_tokenНеобязательный- Токен страницы для
trending_posts. Для первой страницы не передавайте его, затем передавайтеnext_page_tokenиз предыдущего ответа без изменений.
Как использовать API Reddit
- 01Выберите действие платформы в публичном каталоге.
- 02Передайте платформу, действие и обязательные параметры в POST-запросе на эндпоинт /api/v1/social.
- 03Получите результат из ответа. Для асинхронного действия опрашивайте статус по возвращённому ID задачи.
- 04Сохраните поля ответа, которые нужны вашему приложению.
curl -X POST https://api.everyinfra.com/api/v1/social \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"platform":"reddit","action":"search","params":{"keyword":"<keyword>"}}'
Руководства по API Reddit
Практические примеры и методики на основе этих действий. Сначала сверьтесь с актуальными действиями, параметрами и полями на этой странице: примеры и ограничения из статьи не заменяют актуальный каталог.
Почему сбор комментариев Reddit оказывается неполным: не принимайте MoreComments за пустые данные
Разбираем деревья комментариев Reddit, смысл limit в PRAW replace_more, нераскрытые заглушки и расхождения в числе комментариев, а также рассказываем, как передавать в аналитические результаты пробелы сбора, связи ответов и обработку удалений.
Читать статьюКак мониторить репутацию на нескольких платформах: сначала определите охват, потом оценивайте рост негатива
Спроектируйте прослеживаемый процесс мониторинга репутации на основе списков целей, идентификаторов комментариев и инкрементальных курсоров; офлайн-примеры показывают дедупликацию и пробелы в сборе данных при сохранении ручной проверки.
Читать статьюБыстрый старт с единым API данных: от каталога возможностей к первому полученному результату
Получайте данные с разных платформ через platform, action и params: изучите каталог возможностей, выполните минимальные запросы, обработайте асинхронные задачи и частичные результаты, учтите оплату и обеспечьте прослеживаемость записей данных.
Читать статьюВопросы об API Reddit
Какие данные можно получить через API Reddit?
Укажите в platform значение reddit. В текущем каталоге: поиск, публикации сабреддита, сведения о посте, комментарии, посты пользователя и more. Эти названия действий соответствуют разным объектам или представлениям Reddit; это не взаимозаменяемые режимы поиска.
Есть ли у Reddit официальный API?
Да. Reddit предлагает Data API, но для доступа нужно явное одобрение Reddit в рамках Responsible Builder Policy; бесплатное использование допускается только в некоммерческих целях с лимитом 100 запросов в минуту на OAuth-клиент, а для коммерческого использования требуется отдельное письменное соглашение с Reddit.
Официальные источники: «Reddit: Responsible Builder Policy» · «Reddit Data API Terms» · Проверено
Нужен ли аккаунт разработчика Reddit или API-ключ?
Нет. Запросы идут через EveryInfra с API-ключом EveryInfra: зарегистрируйтесь, создайте ключ в консоли и передавайте его в заголовке Authorization: Bearer <API_KEY>. Вам не нужно регистрировать приложение разработчика Reddit, запрашивать доступ к API Reddit или входить через аккаунт Reddit. Действия возвращают только публичные данные Reddit.
Сколько стоит Reddit API за 1 000 запросов?
От $0.56 за 1 000 запросов в зависимости от действия; цена каждого действия указана в таблице на этой странице и в публичном каталоге. Подписки нет: вы пополняете баланс в USD и платите за каждый вызов, а неудачные вызовы и пустые результаты не оплачиваются.
Какие входные данные нужны для запроса search к платформе Reddit?
Поисковый запрос по постам для search. Полный текст комментариев не просматривается. По умолчанию используется сортировка relevance, период фиксирован: последний месяц. Возвращаются только посты, соответствующие запросу: слово из запроса есть в заголовке или названии сообщества и пост содержит слова запроса, либо слова встречаются рядом в тексте поста (для запросов из трёх и более слов нужно не менее трёх четвертей из них). Посты, совпадающие только по одному слову, отбрасываются, поэтому результатов может быть меньше limit. Если совпадений нет, вызов считается пустым результатом и средства за него возвращаются. Передайте это значение в поле keyword объекта params.
Какие поля может вернуть search на платформе Reddit?
Объявленная схема включает title, text, author_username и community. Объявленное поле может отсутствовать в отдельной записи, а у каждого другого действия свой список полей.
Все ли действия Reddit возвращают результат сразу?
Действия с пометкой «асинхронное» возвращают ID задачи, по которому нужно опрашивать статус. Любое другое действие тоже можно запустить асинхронно: добавьте "mode": "async" в тело запроса, чтобы сразу получить ID задачи. Это удобно для длительных задач или запросов с большим лимитом. В текущем каталоге: режим выдачи: sync.