Разработчикам
Открытый API
Котировки, свечи и каталог инструментов Московской биржи, США и криптовалют, а также ваши портфели — по ключу, обычными HTTP-запросами.
curl -H "Authorization: Bearer mgk_…" \
https://api.mangustincapital.ru/v1/instruments/moex/SBER/quote
Как начать
Три шага до первого запроса
Выпишите ключ
В профиле, раздел «Ключи API». Ключ показывается один раз — сохраните его сразу.
Передайте в заголовке
Authorization: Bearer mgk_… — в каждом запросе. В адресе ключ не принимается.
Делайте запросы
Все адреса начинаются с https://api.mangustincapital.ru/v1/ и отвечают JSON.
Пример
Пример на Python
Дневные свечи Сбербанка за 30 дней. Хватит одной библиотеки requests — ключ в заголовке, ответ в JSON.
import requests
r = requests.get(
"https://api.mangustincapital.ru/v1/instruments/moex/SBER/candles",
params={"interval": 1440, "limit": 30},
headers={"Authorization": "Bearer mgk_…"},
)
r.raise_for_status()
print(r.json())
Справочник
Адреса
Только чтение: все запросы — GET, ответ — JSON. Одиннадцать адресов: рынки, инструменты, свечи, котировки, портфели и свои пределы.
| Адрес | Что отдаёт |
|---|---|
/v1/markets | Список рынков |
/v1/markets/{market}/instruments | Каталог инструментов рынка. ?q= — поиск, ?after= — следующая страница |
/v1/instruments/{market}/{symbol} | Карточка инструмента |
/v1/instruments/{market}/{symbol}/candles | Свечи: ?interval= (в минутах, 1440 — дневные), &from=, &to=, &limit= |
/v1/instruments/{market}/{symbol}/quote | Последняя цена |
/v1/portfolios/public | Открытые портфели |
/v1/portfolios/public/{id} | Открытый портфель с составом |
/v1/me/portfolios | Ваши портфели — нужна область portfolio |
/v1/me/portfolios/{id} | Ваш портфель: состав и сводка |
/v1/me/portfolios/{id}/trades | Сделки портфеля, страницами |
/v1/usage | Сколько осталось: частота, квота, когда обнулится. Бесплатно |
Рынки
Код рынка — первая часть адреса инструмента. Полный список с названиями отдаёт /v1/markets.
| Код | Что внутри |
|---|---|
moex | Акции Московской биржи |
bonds | Облигации Московской биржи |
funds | Биржевые фонды Московской биржи |
indices | Индексы Московской биржи |
fx, metals | Валюта и драгметаллы |
us, usfunds | Акции и фонды США |
crypto | Криптовалюты |
rates, macro | Ставки и макроэкономика |
Доступ
Ключ и его область
Ключ выписывается в профиле, область выбирается при выдаче. По умолчанию — узкая: ключ, который вы вставили в чужой сервис, не должен открывать больше, чем вы имели в виду.
| Область | Что открывает |
|---|---|
market | Рынки, инструменты, свечи, котировки, открытые портфели других людей |
portfolio | То же плюс ваши портфели, позиции и сделки |
Чужие закрытые портфели ключом не открыть никогда: в адресах /v1/me/… владелец берётся из ключа, а не из адреса. Ключ можно отозвать в профиле в любой момент. Мы храним только его отпечаток, поэтому показать ключ повторно не сможем — потерянный проще выписать заново.
Пределы
Пределы и тарифы
Два предела: частота запросов в минуту и дневная квота в единицах — общие на все ваши ключи и подключения приложений. Запросы стоят по-разному — по объёму работы, а не по адресу.
| Запрос | Единиц |
|---|---|
| Котировка, карточка, список рынков | 1 |
| Свечи, портфель | 5 |
| Каталог, поиск, список открытых портфелей | 10 |
Сколько осталось (/v1/usage) | 0 |
| Тариф | Частота | Квота в сутки | Данные |
|---|---|---|---|
| Бесплатный | 60 в минуту | 10 000 единиц | Дневные свечи за всю доступную историю |
| Pro | 600 в минуту | 1 000 000 единиц | Плюс минутные и часовые свечи |
Частота считается ровно: в запасе — минутный предел, и он пополняется равномерно, при 60 в минуту — по запросу в секунду. Квота обнуляется в 00:00 UTC (03:00 по Москве).
Остатки приходят в заголовках каждого ответа — и успешного, и отказа: X-RateLimit-Limit, X-RateLimit-Remaining, X-Quota-Limit, X-Quota-Remaining, X-Quota-Reset (когда обнулится, unix-время). При отказе — Retry-After: через сколько секунд можно повторить. Свой остаток и расход ключа по отдельности видны в профиле.
Договор
Ответы и ошибки
Ответ — сами данные, без обёртки. Ошибка всегда одной формы, а код ответа подсказывает, что делать дальше.
Обёртки вроде {"status": "ok", "data": …} нет. Длинные списки идут страницами: в ответе есть next, его значение передайте в ?after=. Ошибка всегда одной формы: {"error": "…", "message": "…"}.
| Код | Что значит | Что делать |
|---|---|---|
401 | Ключа нет или он отозван | Проверить заголовок и ключ |
402 | Нужен платный тариф (например, минутные свечи) | Взять дневные или сменить тариф |
403 | У ключа не та область | Выписать ключ с областью portfolio |
404 | Такого нет | Не повторять |
429 | Слишком часто или кончилась квота — общая на все ключи | Подождать Retry-After секунд; в message — объяснение |
Версия — в адресе (/v1/). Внутри версии мы не убираем поля и не меняем их смысл; новые поля могут появляться — не полагайтесь на точный состав ответа.
FAQ
Частые вопросы
Можно ли через API торговать или менять портфель?
Нет. API только читает. Сделки записываются в самой платформе или импортом от брокера.
Насколько свежие котировки?
Последняя цена обновляется раз в несколько минут. Закрытые дни истории не меняются, поэтому ответы на запросы с параметром to можно смело кэшировать у себя.
Чем это отличается от MCP?
Данные те же, ключ и квота общие. API — для программ: адреса и JSON. MCP — для ассистентов вроде Claude: модель сама решает, что спросить.