Меню
ВойтиКабинет

API

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

Эта страница не запускает примеры. Скопируйте пример целиком или выберите блок кода, чтобы прокрутить его по горизонтали.

Базовый URL

https://pulse.arevian.studio

Лента

GET/api/news

Сюжеты по рейтингу выбранного окна. С границами дат используется хронологический порядок.

Параметры

Все параметры ленты необязательны. Без них используются значения по умолчанию.

Параметры — /api/news
ИмяЗначенияОписание
window30m · 3h · 24h · 7d · 30dОкно ранжирования. По умолчанию: 24h.
topicai, tech, science, space, studioТемы через запятую; без параметра — все четыре. studio — материалы Arevian.
langru · en · hyЯзыки источников через запятую.
mediarss · telegramЛенты изданий или Telegram-каналы через запятую.
from, toISO 8601 · 2026-10-13T00:00:00ZНеобязательные границы дат с часовым поясом. С границей даты выдача сортируется хронологически.
word2–40 символов · до 20 словСлова через запятую расширяют фильтр тем: совпавший сюжет может прийти, даже если его тема не выбрана.
limit1–60Число результатов на странице. По умолчанию: 25.
offset0–300Сколько результатов пропустить. По умолчанию: 0. Для следующей страницы увеличивайте на размер страницы; при смене version убирайте повторы по id.
  • window

    Значения
    30m · 3h · 24h · 7d · 30d
    Описание
    Окно ранжирования. По умолчанию: 24h.
  • topic

    Значения
    ai, tech, science, space, studio
    Описание
    Темы через запятую; без параметра — все четыре. studio — материалы Arevian.
  • lang

    Значения
    ru · en · hy
    Описание
    Языки источников через запятую.
  • media

    Значения
    rss · telegram
    Описание
    Ленты изданий или Telegram-каналы через запятую.
  • from, to

    Значения
    ISO 8601 · 2026-10-13T00:00:00Z
    Описание
    Необязательные границы дат с часовым поясом. С границей даты выдача сортируется хронологически.
  • word

    Значения
    2–40 символов · до 20 слов
    Описание
    Слова через запятую расширяют фильтр тем: совпавший сюжет может прийти, даже если его тема не выбрана.
  • limit

    Значения
    1–60
    Описание
    Число результатов на странице. По умолчанию: 25.
  • offset

    Значения
    0–300
    Описание
    Сколько результатов пропустить. По умолчанию: 0. Для следующей страницы увеличивайте на размер страницы; при смене version убирайте повторы по id.

Лента · cURL

curl --get \
  "https://pulse.arevian.studio/api/news" \
  --data-urlencode "window=24h" \
  --data-urlencode "topic=tech,ai" \
  --data-urlencode "lang=en" \
  --data-urlencode "limit=10"

Лента · URL

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

Формат ответа

Примеры показывают форму ответа, а не живые данные. Пустой массив items может быть успешным ответом.

  • items — сюжеты с id, title, summary, темами, временем публикаций, ссылками на источники и счётом. Часть полей может быть null.
  • window, generated_at и offset описывают ответ ленты; has_more указывает на следующую страницу с теми же фильтрами.
  • version — метка последнего пересчёта, а не параметр запроса. Рейтинг может измениться между страницами: сравнивайте версии и убирайте повторы по id.
  • Поиск возвращает query и items, без has_more и version.
GET /api/news · JSON

GET /api/news · JSON

{
  "window": "24h",
  "generated_at": "2026-10-13T10:00:00.000Z",
  "version": 0,
  "offset": 0,
  "has_more": false,
  "items": []
}

GET /api/news/search · JSON

GET /api/news/search · JSON

{
  "query": "Mars",
  "items": []
}

Ошибки и пустые результаты

При отказе сервера ленты или отклонённых параметрах публичный адрес возвращает HTTP 200 с degraded: true. Проверяйте этот флаг вместе с HTTP-статусом; сохраните последние успешные данные и проверьте параметры перед повтором.

GET /api/news · HTTP 200

{
  "items": [],
  "degraded": true
}

Поиск возвращает HTTP 200 с query и items. При отказе сервера ленты добавляется degraded: true, такой ответ не кешируется. Пустой items без этого флага — успешный пустой результат; сохраняйте только прежние результаты того же запроса и повторите чтение позже.

GET /api/news/search · HTTP 200

{
  "query": "Mars",
  "items": [],
  "degraded": true
}

Обработайте также сетевой сбой и ответ, который не является JSON. Сохраните последние успешные данные и повторите позже; не запускайте непрерывные повторы.

Использование и кеш

  • Успешные ответы задают кеширование: лента — 30 секунд в браузере и 60 секунд в общем кеше; поиск — 60 секунд. Учитывайте заголовки кеша.
  • Чтение — GET, предполётный запрос браузера — OPTIONS. Ключ не нужен, чтение с другого домена разрешено. Не запускайте непрерывные запросы и повторы.
  • Тексты принадлежат изданиям. Ссылки на источники должны вести читателя к исходной публикации.