Сверено с документацией брокеров 02.10.2026. Если вы хотите торговать на Мосбирже своим кодом, а не кнопками, у крупных российских брокеров есть открытые API. Я сравнил четыре — Финам, Т-Банк, Алор и БКС — по тому, что каждый сам пишет в документации: протоколы, SDK, лимиты, рынки, цена, тип счёта и тестовый контур. Замеров скорости здесь нет: ни один брокер не публикует их в сопоставимом виде, а маркетинговые цифры я подписываю как маркетинговые.
Коротко: какой API под какую задачу
- Нужен один счёт для РФ, США и Азии: Финам. По описанию на api.finam.ru, MOEX, NYSE, NASDAQ и азиатские биржи через один API.
- Хочется песочницу с виртуальными деньгами: Т-Банк, у него отдельный адрес песочницы и методы SandboxService.
- Много запросов и подписок: Алор, до 100 HTTP-запросов в секунду и до 5 000 подписок на одно WebSocket-соединение.
- Простая HTTP-интеграция и раздельные права: БКС, токены «для торговли» и «только для чтения», access-токен живёт 24 часа.
Сравнительная таблица API брокеров
| Финам Trade API | T-Invest API (Т-Банк) | АЛОР Брокер API | БКС Торговое API | |
|---|---|---|---|---|
| Протоколы | REST, gRPC, WebSocket | gRPC; REST-прокси и gRPC-web; потоковые подписки | HTTP, WebSocket; GraphQL для данных | HTTP, WebSocket |
| Официальные SDK | Python (finam-sdk), Kotlin, Go и др. | Python, Java, C#, Go; на портале также Kotlin и JS | C# / .NET (OpenAPI.SDK); Python-библиотеки — от сообщества | Не заявлены; любой язык с HTTP |
| Лимиты | 200 запросов в минуту | По сервисам: заявки — 100 в минуту, postOrder — 15 в секунду, котировки — 600 в минуту | 100 HTTP-запросов в секунду; 10 WebSocket-соединений; 5 000 подписок на соединение | 10 запросов в секунду на сервис; заявки — до 200 000 в сутки |
| Рынки | MOEX, NYSE, NASDAQ, биржи Азии (по описанию Финама) | Акции, облигации, фонды, фьючерсы, опционы (по сервису инструментов) | Московская биржа, Биржа СПБ | Мосбиржа: акции, облигации, фонды, валюта, металлы, фьючерсы |
| Цена доступа | Отдельной платы нет: «Никаких скрытых платежей» | «Все данные… бесплатные» | В документации API не указана | Токен выпускается бесплатно |
| Счёт | Брокерский счёт АО «ФИНАМ» | Брокерский счёт и идентификация клиента | Торговый аккаунт АЛОР, привязанный к учётной записи разработчика | Брокерский счёт в БКС Мир инвестиций |
| Тест без риска | Демо-счёт | Песочница sandbox-invest-public-api.tbank.ru | Тестовый контур, идентичный боевому | Не описан; есть токен «Только для чтения» |
Источники: api.finam.ru/docs/rest и GitHub FinamWeb; developer.tbank.ru/invest (разделы «Начало работы», «Лимиты», «Песочница») и GitHub tinkoff/investAPI; alor.dev/docs (обзор, «Ограничения и рекомендации», «SDK и инструменты»); trade-api.bcs.ru («Быстрый старт», «Ограничения»). Данные на 02.10.2026.
Авторизация и типы заявок
Вторая таблица описывает то, что придётся закодировать в первый же день: как робот входит в систему и какие заявки может отправлять.
| Финам | Т-Банк | Алор | БКС | |
|---|---|---|---|---|
| Вход | Секретный токен → JWT через POST /v1/sessions; SDK обновляет JWT сам | Токен доступа в metadata gRPC: Authorization: Bearer | JWT для своих роботов или OAuth 2.0 для приложений | Refresh-токен (90 суток) → access-токен (24 часа) |
| Права токена | Список счетов, доступных токену, отдаёт метод TokenDetails | Текущие лимиты пользователя — метод GetUserTariff | Доступ сопоставим с логином и паролем от торгового аккаунта | «Для торговли и чтения данных» или «Только для чтения» |
| Заявки | Рыночная, лимитная, стоп, стоп-лимит, multi-leg; связка SL/TP | Сервис заявок и отдельный сервис стоп-заявок | Рыночные, лимитные, условные | Рыночные и лимитные на Мосбирже |
| Формат инструмента | SBER@MISX | Идентификаторы инструментов T-Invest | Тикер и биржа (MOEX, SPBX) | ticker + classCode, например SBER и TQBR |
Финам Trade API: три протокола и мультирынок
Финам предлагает REST для быстрого старта, gRPC для потоков и скорости и WebSocket для подписок. Секретный токен обменивается на JWT, официальный Python-SDK finam-sdk делает это сам и обновляет токен в фоне. Тикеры пишутся как SBER@MISX. Лимит в справочнике один на всё — 200 запросов в минуту.
Сильная сторона Финама в рынках: Финам заявляет MOEX, NYSE и NASDAQ, 3 500+ акций Гонконга, Шанхая, Шэньчжэня и Токио и американские опционы через один API. Слабая сторона в общем лимите: 200 в минуту дают чуть больше трёх запросов в секунду, поэтому данные лучше получать подписками, а не опросом. О скорости Финам пишет сам: 68,7 мс на обработку ордера и «исполнение от 7 мс». Независимой проверки этих цифр нет.
Пошаговое подключение с проверенным примером на Python описано в отдельном гайде по Finam Trade API.
T-Invest API: gRPC и честная песочница
Т-Банк строит API вокруг gRPC: proto-контракты лежат на GitHub, для браузерных клиентов есть gRPC-web, для любителей REST — прокси Swagger. Официальные SDK — Python, Java, C# и Go. Чтобы получить доступ, нужен брокерский счёт и пройденная идентификация, о чём Т-Банк пишет в разделе «Начало работы».
Лимиты здесь самые подробные: они считаются по сервисам и даже отдельным методам. Например, сервис заявок — 100 unary-запросов в минуту, метод postOrder — 15 в секунду, котировки — 600 в минуту, getHistory — 30 в минуту. Т-Банк называет систему динамической, а текущие лимиты конкретного пользователя возвращает метод GetUserTariff.
Главный плюс для новичка в песочнице: отдельный адрес sandbox-invest-public-api.tbank.ru:443, виртуальный счёт, своя механика исполнения. Т-Банк предупреждает, что лимитная заявка в песочнице исполняется по лучшей встречной цене, если в стакане есть хотя бы один лот, а в стакане она не участвует. Поэтому результаты песочницы не равны реальному исполнению.
АЛОР Брокер API: высокие лимиты и тестовый контур
Алор даёт HTTP, WebSocket и GraphQL для данных. Авторизация через JWT для своих роботов или OAuth 2.0 для приложений, где работают сторонние пользователи. Рынки по документации — Московская биржа и Биржа СПБ.
Лимиты щедрые: до 100 HTTP-запросов в секунду, до 10 WebSocket-соединений, до 5 000 подписок на соединение и до 5 000 необработанных сообщений в буфере. Но у Алора есть защитные механизмы: при ошибках и избыточной нагрузке система может временно ограничить управление заявками, а точный порог баллов брокер сознательно не раскрывает.
Официальный SDK у Алора один, на C#/.NET. Для Python в каталоге Алора перечислены библиотеки сообщества, например AlorPy. Тестовый контур, по словам Алора, архитектурно идентичен боевому, так что код переносится без переписывания.
БКС Торговое API: HTTP, WebSocket и раздельные токены
У БКС интеграция максимально простая: обычные HTTP-запросы и WebSocket. В веб-версии «БКС Мир инвестиций» вы выпускаете refresh-токен (живёт 90 суток), из него получаете access-токен (24 часа). Токены бывают двух видов — для торговли и только для чтения. Каждый привязан к одному брокерскому счёту, и показывается он один раз, при создании.
Лимиты: 10 запросов в секунду на большинство HTTP-сервисов, 3 в секунду на неторговые операции, до 200 000 заявок в сутки. В WebSocket — до 20 соединений рыночных данных и до 100 инструментов в подписке. Торговать по документации можно на Мосбирже рыночными и лимитными заявками.
Тестового контура в разделах «Быстрый старт» и «Ограничения» на 02.10.2026 нет. Безопасный режим для отладки — токен «Только для чтения»: с ним видны цены и портфель, но заявку не отправить.
Как выбрать API брокера: пять вопросов
- Какой рынок? Если только Мосбиржа, подойдёт любой из четырёх. Если нужны США или Азия на одном счёте, смотрите Финам.
- Как часто робот обращается к API? Посчитайте запросы в минуту в пиковый момент: открытие сессии, новости. Если опросом выходит больше 200 в минуту, у Финама переходите на подписки, у Т-Банка проверьте лимит нужного метода, у Алора и БКС — лимиты в секунду.
- На каком языке пишете? Официальный Python есть у Финама и Т-Банка, C# — у Т-Банка и Алора. Для остального придётся писать клиент самому — у БКС это проще всего, там обычный HTTP.
- Где будете отлаживаться? Без риска: песочница Т-Банка, тестовый контур Алора, демо-счёт Финама. У БКС — только чтение.
- Сколько стоит ваша частота? Сам доступ бесплатный или не тарифицируется отдельно, но комиссия за сделку остаётся. Робот с сотней сделок в день платит в основном брокеру, а не за API.
Открыть брокерский счёт в Финаме
Четыре сценария: кому что подойдёт
Аналитик, который хочет выгружать данные и считать в pandas. Ему важны история и простота. Финам отдаёт дневные свечи за год в одном запросе и минутные — за 7 дней, у Т-Банка метод истории ограничен 30 запросами в минуту. Для начала хватит любого из двух; выгружайте архив по расписанию и складывайте в свою базу.
Свинг-трейдер с несколькими заявками в день. Лимиты для него не важны вообще: даже 10 запросов в секунду у БКС — огромный запас. Решают удобство и тариф. Если код хочется писать на чистом HTTP без SDK, БКС проще всех; если на Python с готовым клиентом — Финам или Т-Банк.
Интрадей-робот на десятке инструментов. Здесь важны потоки и подписки. У Алора до 5 000 подписок на соединение, у БКС — до 100 инструментов в одной подписке на рыночные данные, у Финама и Т-Банка — потоковые gRPC-методы. Опрос котировок в цикле в этом сценарии — ошибка у любого брокера.
Трейдер, которому нужны США и Азия рядом с Мосбиржей. Из четырёх только Финам заявляет NYSE, NASDAQ и азиатские биржи в одном API. Доступность конкретных бумаг всё равно зависит от статуса инвестора — проверьте это до того, как писать код.
Типичные ошибки при переходе с одного API на другой
Чаще всего ломается не стратегия, а «обвязка». Вот что я бы проверил, если переносите робота от одного брокера к другому.
- Единицы лимита. У Финама лимит считается в минуту, у Алора и БКС — в секунду, у Т-Банка — по сервисам и методам. Код, который укладывался в 100 запросов в секунду у Алора, у Финама получит 429 уже через пару секунд.
- Жизнь токена. Access-токен БКС умирает через 24 часа, refresh — через 90 суток. Робот, запущенный в пятницу, в понедельник может стоять без авторизации, если обновление не автоматизировано.
- Идентификатор инструмента. SBER@MISX, пара ticker + classCode и внутренние идентификаторы Т-Банка не взаимозаменяемы. Делайте таблицу соответствий заранее и проверяйте лот и шаг цены через справочник брокера.
- Тестовая среда врёт по-своему. Песочница Т-Банка исполняет лимитные заявки по лучшей встречной цене, не ставя их в стакан. Демо-счёт и тестовый контур тоже не показывают реального проскальзывания. Финальную проверку делайте минимальным объёмом на реальном счёте.
- Защита брокера. Алор прямо пишет, что за ошибочные и избыточные запросы может временно ограничить доступ к заявкам. Обработка ошибок — не «потом», а часть первой версии.
Что одинаково у всех четырёх
- API работает только с брокерским счётом. К счёту форекс-дилера ни один из них не подключается, там автоматизация идёт через советники MT5, о них — на странице про торговых роботов.
- Налоги считает брокер как налоговый агент, и способ подачи заявки на НДФЛ не влияет.
- Доступ к инструментам зависит от статуса инвестора и пройденных тестов: робот не откроет то, что закрыто в терминале. Когда нужен статус квала — отдельный разбор.
- Токен равен ключу от счёта. Алор прямо пишет, что любой способ авторизации даёт доступ, сопоставимый с логином и паролем.
- Бэктест и живая торговля живут в разных средах. Исследовательский стек на Python я разбирал в обзоре библиотек для квант-трейдинга.
Частые вопросы
Какой API брокера самый быстрый?
Сравнимых замеров ни один из четырёх брокеров не публикует. Финам приводит на своём портале 68,7 мс на обработку ордера, но это его собственная метрика без методики. Честный ответ — замерить самому из своего сервера.
Где можно тестировать без риска?
У Т-Банка есть песочница по отдельному адресу, у Алора тестовый контур, у Финама демо-счёт. У БКС в разделах «Быстрый старт» и «Ограничения» тестовый контур не описан, зато есть токен «Только для чтения».
Нужно ли платить за API?
Т-Банк пишет, что все данные T-Invest API бесплатные; БКС — что токен выпускается бесплатно; Финам — «никаких скрытых платежей». Сделки во всех случаях оплачиваются по тарифу брокерского счёта.
Можно ли подключить API к счёту форекс-дилера?
Нет. Все четыре API работают с брокерскими счетами. Форекс у дилеров ЦБ автоматизируется советниками в MetaTrader.
На каком языке писать робота?
Если хочется официальный SDK на Python — Финам или Т-Банк. На C# — Алор и Т-Банк. Для БКС подойдёт любой язык с HTTP-клиентом: официального SDK в документации нет.
Можно ли держать один код для двух брокеров?
Можно, если отделить стратегию от «адаптера» брокера. Различаются тикеры (SBER@MISX у Финама, ticker и classCode у БКС), авторизация и лимиты, поэтому адаптер пишется под каждого отдельно.
Другие калькуляторы и материалы
Лимиты и условия брокеры меняют, поэтому сверяйте их с документацией в день подключения. Ссылка на открытие счёта в Финаме партнёрская.












