К содержимому
logologo-text

API

Лонгрид 2 из 13Курс

Как устроен Trade API

~3 мин чтенияОбновлено 28 сентября 2026

Содержание

Finam Trade API — программный доступ к брокерскому счёту и биржевым данным. Вместо действий в терминале программа вызывает метод API, получает структурированный ответ и принимает следующее решение в коде.

Что доступно

Область

Примеры задач

Счёт

Позиции, деньги, оценка портфеля, сделки, транзакции, отчёты

Инструменты

Акции, облигации, валюты, фонды, фьючерсы, опционы, расписание торгов

Рыночные данные

Котировки, стакан, свечи, последние сделки

Торговля

Рыночные, лимитные, стоп- и стоп-лимитные заявки, SL/TP, отмена заявки

События

Изменение цены, заявки, сделки и состояния счёта

API не расширяет права счёта. Доступность инструмента зависит от типа счёта, торгового режима, пройденных тестов и статуса квалифицированного инвестора.

REST, WebSocket или gRPC

Интерфейс

Модель

Используйте, когда

REST

один запрос — один ответ

Нужно прочитать снимок состояния или выполнить разовое действие

WebSocket

одно соединение — много JSON-событий

Нужны котировки, стакан, свечи, заявки или сделки в реальном времени

gRPC

типизированные unary- и streaming-методы

Нужны сгенерированные модели, строгие типы и полноценный прикладной клиент

Простое правило выбора

Состояние на текущий момент получайте разовым методом. Всё, что меняется постоянно, слушайте потоком. После обрыва потока снова запросите снимок и сопоставьте его с локальным состоянием.

secret_key и access_key — разные ключи

В курсе встречаются два токена, и путать их дорого.

secret_key выпускается на портале в разделе Токены и живёт долго. Это ключ от доступа: храните его как пароль и не кладите в код.

access_key приложение получает в обмен на secret_key и прикладывает к рабочим запросам. access_key живёт около 15 минут, поэтому его не хранят — его получают заново.

В REST-примерах курса используется стандартная запись:

Без подсветкиhttp
Можно ли обойтись без префикса Bearer

API принимает и заголовок, в котором передан только access_key без префикса. Оба варианта допустимы, но в одном приложении держитесь одного формата: иначе диагностика усложняется на ровном месте.

В WebSocket токен можно передать в заголовке при подключении или в поле token команды подписки. В курсе используется второй вариант: он одинаково выглядит во всех трёх языках.

Ограничения, которые влияют на архитектуру

  • Согласно актуальным карточкам REST-методов, доступный лимит — 200 запросов в минуту на метод. При превышении сервер отвечает 429.

  • Доступная глубина истории зависит от таймфрейма.

Чего API не делает

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

Проверьте себя

  • Какой интерфейс подходит для разового получения портфеля?

    REST или unary-вызов gRPC: нужен снимок состояния, а не поток изменений.

  • Почему постоянный REST опрос котировки хуже подписки?

    Опрос расходует лимит запросов и пропускает всё, что изменилось между двумя обращениями. Подписка присылает изменения сама.

  • Что из двух нужно хранить как долгоживущий ключ: secret_key или access_key?

    secret_key. access_key живёт около 15 минут и получается заново в обмен на него.

Конец лонгрида

Дочитаете до конца — засчитается автоматически
Лонгрид 2 из 13

Предложить идею

Заполните форму ниже, и мы свяжемся с вами.

Увеличить лимиты API

Заполните форму ниже, и мы свяжемся с вами.