Начало работы
Как начать пользоваться
ФИНАМ Trade API предоставляет возможность для торговли на российском и американском фондовом рынке через API.
Для начала пользования Вам понадобится брокерский счет и токен, так же вы можете открыть демо-счет.
Для работы с API необходимо два токена. Первый токен — secret, сгенерированный на нашем порт але в разделе Токены. На его основе методом Auth генерируется второй токен — JWT, который необходимо использовать в каждом запросе к API.
Рекомендуем начать с использования Postman, где представлены самые актуальные методы и готовые примеры запросов (gRPC и REST протоколы).
Наша документация.
Видео как начать пользоваться
Доступные интерфейсы
gRPC API
- Точка доступа gRPC: api.finam.ru:443
- Наши протофайлы (gRPC)
REST API
- Точка доступа REST API: api.finam.ru
- Информация по REST в наших протофайлах
Postman
- Попробовать методы с готовыми полями запроса можно в нашей коллекции Postman.
- Рекомендуем использовать приложение Postman, а не веб-версию — приложение работает стабильнее.
- Также убедитесь, что в настройках Postman выбран протокол HTTP/2.
Демо-счета
- Демо-счёт можно открыть на портале в разделе Токены
- Демо-счёт можно открыть:
- зарегистрированным пользователям;
- пользователям, которые не являются клиентами Финама (если у вас уже есть реальный брокерский счёт в Финаме, демо открыть не получится)
- Срок действия демо-счёта — 2 недели.
- Повторно открыть демо-счёт можно через 183 дня (на кнопке будет отображаться дата, когда доступно повторное открытие).
- После создания демо-счёта процесс работы такой же, как с реальным брокерским счётом: генерируем secret-токен, обмениваем его на JWT-токен, обращаемся к методам на api.finam.ru
Лимитная политика
Количество запросов от пользователя ограничено и составляет максимум 200 запросов в минуту на вызов конкретного метода.
Ответы на частые вопросы
- Токен (secret-token) генерируется на портале в рзделе "Токены". JWT-токен 15 минут, генерируется методом API.
- Для генерации JWT-токена необходим токен (secret-token).
- В каждом методе. В заголовке Authorization ожидается JWT-токен.
- symbol в формате: YDEX@MISX (symbol@mic).
- Параметр account_id, это Ваш аккаунт в личном кабинете формата КлФ-account_id. account_id указывать без КЛФ, только номерные символы.
- Метка времени timestamp в секундах, в формате Unix epoch, количество секунд с 1 января 1970. Конвертер для удобства.
- При использовании протокола HTTP версии 1 могут возникать ошибки вызова методов. Используйте протокол версии 2.
- Разрыв соединения при обращении к API через api.finam.ru, происходит 1 раз в день (86400s). С начала подписки, то есть открывается стрим и через день будет разрыв.
- Ежедневный интервал обслуживания 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