API

Лента отдаётся тем же ответом, который читает сама страница. Ключ не нужен, запросы только на чтение.

Адресhttps://pulse.arevian.studio
GET/api/news

Лента сюжетов за выбранное окно. Ровно то, что показывает главная страница.

Параметры

ИмяЗначенияЧто делает
window30m · 3h · 24h · 7d · 30dЗа какой срок считать. По умолчанию 24h.
topictech, ai, science, design, business, politics, incidents, society, culture, sport, studioТемы через запятую. Без параметра — все.
langru · en · hyЯзык источников, тоже через запятую.
geoarmenia · russia · worldГеография события — ось, независимая от темы.
mediarss · telegramОткуда сюжет: лента издания или телеграм-канал.
from, toISO-8601Свой промежуток вместо окна.
limit, offsetчислоСтраница выдачи. limit не больше 50.
GET/api/news/search

Поиск по сюжетам. Меньше двух символов в запросе — пустой ответ, а не ошибка.

Параметры

ИмяЗначенияЧто делает
qстрокаЗапрос. Длиннее 80 символов обрезается.

Пример

curl "https://pulse.arevian.studio/api/news?window=24h&topic=tech,ai&lang=en&limit=10"

Что приходит в ответ

  • items — список сюжетов: заголовок, сводка, темы, время первой публикации, число независимых источников и счёт.
  • has_more — есть ли ещё страница при том же наборе фильтров.
  • degraded: true — «мы не смогли посчитать», а не «ничего не нашлось». Пустой список рядом с этим флагом затирать своё уже показанное не стоит.

Правила

  • Ответ кешируется на минуту — воркер всё равно пересчитывает ленту раз в пять минут, чаще спрашивать нечего.
  • Ключ не нужен, но лимит на адрес есть: лента отдаётся всем читателям, а не одному клиенту.
  • Тексты принадлежат изданиям. В ответе есть ссылка на первоисточник — она и должна вести читателя дальше.