Trade API

Перейти к основному содержимому

Начало работы

Как начать пользоваться

ФИНАМ Trade API предоставляет возможность для торговли на российском и американском фондовом рынке через API.

Для начала пользования Вам понадобится брокерский счет и токен, так же вы можете открыть демо-счет.

Для работы с API необходимо два токена. Первый токен — secret, сгенерированный на нашем портале в разделе Токены. На его основе методом Auth генерируется второй токен — JWT, который необходимо использовать в каждом запросе к API.

Рекомендуем начать с использования Postman, где представлены самые актуальные методы и готовые примеры запросов (gRPC и REST протоколы).

Наша документация.

Видео как начать пользоваться

Доступные интерфейсы

gRPC API

REST API

Postman

  • Попробовать методы с готовыми полями запроса можно в нашей коллекции Postman.
  • Рекомендуем использовать приложение Postman, а не веб-версию — приложение работает стабильнее.
  • Также убедитесь, что в настройках Postman выбран протокол HTTP/2.

Демо-счета

  • Демо-счёт можно открыть на портале в разделе Токены
  • Демо-счёт можно открыть:
    • зарегистрированным пользователям;
    • пользователям, которые не являются клиентами Финама (если у вас уже есть реальный брокерский счёт в Финаме, демо открыть не получится)
  • Срок действия демо-счёта — 2 недели.
  • Повторно открыть демо-счёт можно через 183 дня (на кнопке будет отображаться дата, когда доступно повторное открытие).
  • После создания демо-счёта процесс работы такой же, как с реальным брокерским счётом: генерируем secret-токен, обмениваем его на JWT-токен, обращаемся к методам на api.finam.ru

Лимитная политика

Количество запросов от пользователя ограничено и составляет максимум 200 запросов в минуту на вызов конкретного метода.

Ответы на частые вопросы

  1. Токен (secret-token) генерируется на портале в рзделе "Токены". JWT-токен 15 минут, генерируется методом API.
  2. Для генерации JWT-токена необходим токен (secret-token).
  3. В каждом методе. В заголовке Authorization ожидается JWT-токен.
  4. symbol в формате: YDEX@MISX (symbol@mic).
  5. Параметр account_id, это Ваш аккаунт в личном кабинете формата КлФ-account_id. account_id указывать без КЛФ, только номерные символы.
  6. Метка времени timestamp в секундах, в формате Unix epoch, количество секунд с 1 января 1970. Конвертер для удобства.
  7. При использовании протокола HTTP версии 1 могут возникать ошибки вызова методов. Используйте протокол версии 2.
  8. Разрыв соединения при обращении к API через api.finam.ru, происходит 1 раз в день (86400s). С начала подписки, то есть открывается стрим и через день будет разрыв.
  9. Ежедневный интервал обслуживания Trade API — с 05:00 до 06:15 по московскому времени. В этот период сервис может быть недоступен.

Возможности Trade API

Вам будут доступны акции, облигации, валюты, биржевые фонды (ETF, БПИФ), фьючерсы, опционы. Доступность инструментов определяется типом счёта, пройденными вами тестами и наличием статуса квалифицированного инвестора.

С помощью Trade API можно

  • Получить список всех счетов пользователя
  • Посмотреть полный состав портфеля счёта
  • Создавать торговые поручения (рыночные, лимитные, условные, стоп, стол-лосс, тейк-профит)
  • Изменять лимитные, условные, стоп, стол-лосс, тейк-профит заявки
  • Отменять неисполненные торговые поручения
  • Получать список активных заявок по счёту
  • Выгружать список всех, доступных по счёту, инструментов
  • Просматривать рыночные данные в реальном времени по отдельному инструменту
  • Выгружать исторические данные по инструменту
  • Просматривать последние сделки по инструменту
  • Выгружать расписания и книги заявок
  • Отслеживать историю сделок и транзакций

Официальные библиотеки (SDKs)

Kotlin: kotlin-finam Kotlin: Gradle и Maven Интеграция

Библиотеки сообщества (SDKs)

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

Создали собственную оболочку для языка, которого нет в списке? Присоединяйтесь к нашему сообществу Telegram и дайте нам знать об этом!

Python: FinamPy

Python async REST: FinamTradeApiPy

Go gRPC: go-finam-grpc

Go REST: go-finam-rest

Rust gRPC: rust-finam-grpc

JavaScript: js-finam-api