Каталог выпусков ЦФА, кредитный балл эмитентов и курсы онлайн-обменника — машиночитаемо, без ключа и регистрации. Всё то же, что на страницах терминала, только для вашей программы.
Ни ключа, ни заголовков, ни обмена токенами. Три выпуска из каталога — одной строкой в терминале.
curl -s 'https://stakan.finance/api/v1/offerings?limit=3'
Ответ — JSON с полем items и счётчиком total. Постранично: limit до 500, offset от нуля. Неверный параметр — это 400 с объяснением, а не молчаливое умолчание: подставленная вместо мусора сотня означала бы, что вы получили не то, что просили, и не узнали об этом.
Каждый отдаёт то, что уже лежит в базе. Запрос сюда никогда не превращается в обращение к площадке или порталу отчётности.
/api/v1/offeringsВыпуски с площадок. status=live (по умолчанию) — непогашенные: это settledAt = null, а НЕ «ушёл с витрины площадки» — вторым признаком отмечено окончание размещения, и бумага после него живёт ещё годы.
| Имя | Значения | Что делает |
|---|---|---|
| limit | integer 1…500 · по умолчанию 100 | Сколько записей вернуть. По умолчанию 100, не больше 500. |
| offset | integer ≥ 0 · по умолчанию 0 | Сколько записей пропустить. |
| status | live | settled | all · по умолчанию live | Какие выпуски вернуть: непогашенные, погашенные или все. |
| issuer | string | Подстрока названия эмитента. |
| currency | BYN | USD | EUR | RUB | Валюта номинала выпуска. |
/api/v1/issuersПоследний снимок балла по каждому эмитенту. Рядом с баллом всегда идёт coverage — доля веса факторов, которую удалось заполнить: балл при 65 % и при 95 % это разные утверждения, даже если число одинаковое.
| Имя | Значения | Что делает |
|---|---|---|
| limit | integer 1…500 · по умолчанию 100 | Сколько записей вернуть. По умолчанию 100, не больше 500. |
| offset | integer ≥ 0 · по умолчанию 0 | Сколько записей пропустить. |
| issuer | string | Подстрока названия. |
/api/v1/ratesРяд курсов Nembo: пара «покупка/продажа» на каждый срез. Обменник меняет курс несколько раз в день, и все срезы отдаются как есть. scale — сколько единиц валюты стоит цена: у рубля сто, и без этого поля ошибка выйдет ровно в сто раз.
| Имя | Значения | Что делает |
|---|---|---|
| limit | integer 1…500 · по умолчанию 100 | Сколько записей вернуть. По умолчанию 100, не больше 500. |
| offset | integer ≥ 0 · по умолчанию 0 | Сколько записей пропустить. |
| currency | usd | eur | rub | Валюта котировки. Только эти три: обменник считает по ним. |
| from | string (date) | С какой даты, YYYY-MM-DD. |
Чтобы клиент, написанный под один ресурс, читал остальные без переделки.
{
"items": [ … ],
"total": 812,
"limit": 100,
"offset": 0,
"generatedAt": "2026-08-31T09:00:00.000Z"
}Ваш запрос никогда не станет обращением к площадке. Данные уже собраны задачами сбора, и ваш скрипт не превратится в нагрузку на чужой сайт.
Доля веса факторов, которую удалось заполнить. Балл при 65 % и при 95 % — разные утверждения, даже если число одинаковое.
Балл считается по опубликованной формуле, а не экспертным суждением: расчёт можно повторить и оспорить.
Ключ не нужен, регистрация не нужна, ответы кэшируются на час. Ссылка на stakan.finance приветствуется, но не обязательна. Как считается балл — на странице методики.