Создание автоматизаций с помощью API SereneReader
Зачем автоматизировать чтение?
RSS уже собирает контент из множества источников в одном месте. API SereneReader позволяет получать этот контент в скриптах, заданиях cron и других инструментах.
Для аутентификации нужен единственный API-ключ: создайте его, передавайте с каждым HTTP-запросом — и в ответ получите JSON. API работает только на чтение и не поддерживает вебхуки, поэтому скрипты опрашивают его по расписанию.
Начало работы
Доступ к API включён в тарифы Pro ($5 в месяц на сайте) и Team.
Создание API-ключа
В SereneReader откройте Настройки и перейдите на вкладку API. Создайте ключ, дайте ему понятное название и скопируйте в надёжное место — он отображается только один раз. Аккаунты Pro могут иметь до 5 ключей, аккаунты Team — до 10.
Аутентификация
Каждый запрос должен содержать ключ в виде токена Bearer в заголовке Authorization. Никаких идентификаторов клиента, токенов обновления или областей доступа не требуется. На вкладке API в Настройках указаны базовый URL, доступные эндпоинты и примеры запросов.
Ограничения по частоте запросов
API допускает 30 запросов в минуту на аккаунт, распределённых между всеми вашими ключами — этого более чем достаточно для скриптов, работающих по расписанию. Каждый ответ содержит заголовок X-RateLimit-Remaining. Если лимит превышен, API возвращает 429 с заголовком Retry-After — подождите указанное количество секунд перед следующей попыткой.
Что можно делать
API предоставляет доступ на чтение к вашим статьям и подпискам:
GET /api/v1/articlesвозвращает статьи из ваших лент, начиная с самых новых. Можно фильтровать по ленте, папке или дате публикации, а также постранично листать результаты (по умолчанию 50 на запрос, максимум 200). Каждая статья содержит заголовок, URL, название ленты, автора, дату публикации, фрагмент текста, а также информацию о том, прочитана ли она и добавлена ли в избранное.GET /api/v1/feedsвозвращает список ваших подписок с количеством непрочитанных и папками.GET /api/v1/usageпоказывает, сколько запросов совершил текущий ключ за последний час, 8 часов и 24 часа.
На вкладке API в Настройках приведён полный список параметров и полей ответа.
Примеры использования
Ежедневный дайджест по электронной почте
Напишите скрипт, который запускается каждое утро в 7:00, получает статьи за предыдущий день и отправляет вам сводное письмо. Отфильтруйте по дате, пропустите JSON через jq, чтобы извлечь заголовки и URL, и отправьте результат любым удобным инструментом для рассылки или уведомлений.
Проверка «тихих» лент
Ленты ломаются: домены истекают, пути меняются, серверы падают. API не сообщает об ошибках при получении ленты или о том, когда она последний раз публиковала материалы, — но еженедельный скрипт всё равно поможет выявить замолчавшие ленты. Получите список лент, запросите свежие статьи для каждой с параметрами feedId и since и отметьте те, у которых ничего не публиковалось за последние несколько недель. Если лент много, распределите запросы во времени, чтобы не превысить лимит.
«Тихая» лента — не всегда сломанная, но такой список подскажет, какие блоги стоит проверить.
Экспорт в другие инструменты
Загружайте статьи в локальную базу данных, страницу Notion, хранилище Obsidian или таблицу. API возвращает структурированный JSON, поэтому преобразование обычно занимает несколько строк jq или короткий скрипт на Python.
Интеграция с AI-агентами
API работает с AI-инструментами, способными делать HTTP-запросы. Если вы используете ассистента, например OpenClaw, можно направить его на SereneReader для обработки ваших лент. Мы написали об этом отдельный пост: Как подключить RSS-ленты к AI-агентам.
Ещё идеи
Вот несколько вещей, которые можно реализовать буквально в несколько строк: задание cron, отправляющее вам статьи из одной папки за день; псевдоним в командной оболочке, суммирующий непрочитанные из /api/v1/feeds; скрипт опроса, публикующий новые статьи из одной ленты в канал Slack.
Для всего этого не нужен никакой фреймворк. curl и jq покрывают большинство случаев, а любой язык с HTTP-клиентом справится с остальным.
Создайте ключ в Настройках, на вкладке API.