Что даёт API биржи и когда нужен ключ?
Ключ обязателен, когда метод касается вашего счёта: читает баланс и историю ордеров либо ставит и снимает заявки. Цену, свечи и стакан криптобиржи обычно отдают всем подряд, а у брокерских API токен бывает нужен и для котировок.
Хорошо это видно по документации Binance. Там у каждого метода рядом с названием стоит тип. NONE - публичные рыночные данные. USER_DATA - личные сведения счёта, например статус ордеров и история сделок. TRADE - торговля, то есть выставление и отмена заявок. USER_STREAM - управление подпиской на поток событий счёта. Все типы, кроме NONE, считаются подписанными запросами. Для публичной части у Binance есть даже отдельный список адресов Market Data Only: они работают без аутентификации и отдают только рыночные данные.
У Мосбиржи публичный вход называется ISS, информационно-статистический сервер. Он отдаёт рыночные и исторические данные через web-API: данные в реальном времени - по подписке, с задержкой 15 минут - бесплатно. В справочнике ISS, например, есть метод свечей /iss/engines/[engine]/markets/[market]/securities/[security]/candles. Чтобы просто построить график или посчитать индикатор по истории, этого хватает.
Как отличить данные от торговых операций?
Главный признак - тип метода в документации, язык программирования и библиотека тут ничего не решают. Binance указывает его рядом с названием метода, например New order (TRADE). Ниже пять задач, с которыми чаще всего приходят к API биржи.
| Задача | Вид метода | Нужен ли ключ | Чего это не доказывает |
|---|---|---|---|
| Прочитать цену, свечи или стакан | публичные данные | нет | что у программы есть доступ к счёту |
| Скачать историю Мосбиржи через ISS | информационный интерфейс | нет, бесплатно с задержкой 15 минут | что можно отправить заявку |
| Посмотреть баланс и статус ордеров | данные счёта | да, запрос с подписью | что ключ умеет торговать |
| Отправить или снять заявку | торговая операция | да, и торговля должна быть разрешена ключу | что заявка исполнена |
| Обратиться к API из Python | любой из перечисленных | как у выбранного метода | что язык сам выдал какие-то права |
Права у ключа бывают разные, и это полезно. Binance приводит пример: ключ с правом TRADE для торговли и отдельный ключ с USER_DATA для слежения за ордерами. Торговать новый ключ по умолчанию не может, торговлю включают отдельно в управлении ключами. Отсюда простое правило: программе, которая только смотрит на рынок и счёт, торговые права не давайте. Ошибка в её коде тогда не превратится в лишнюю заявку.
Подписанный запрос у Bybit несёт три заголовка: ключ X-BAPI-API-KEY, время в миллисекундах X-BAPI-TIMESTAMP и подпись X-BAPI-SIGN. Отдельный параметр recv_window задаёт, сколько запрос считается действительным, по умолчанию 5000 миллисекунд. Создание ключей Bybit и проверка подключения разобраны в ответе про API Bybit: ключи, режимы и проверку.
Как Python обращается к API биржи?
Python отправляет HTTP-запрос по адресу метода, получает ответ в формате JSON и достаёт из него нужные поля. Больше он ничего не делает, и прав к счёту он не добавляет.
- 1
Найти метод в документации
Цена, свечи и стакан - публичные, ключ не нужен
- 2
Отправить HTTP-запрос
Адрес метода плюс параметры, например символ
- 3
Получить ответ в JSON
Учебно: symbol EXAMPLE, price 100
- 4
Разобрать поля
Взять price и передать в свой расчёт
Писать запросы вручную не обязательно. У Bybit есть официальный коннектор pybit для HTTP и WebSocket API. В его сессию передают ключ и секрет, и через неё данные можно как получать, так и отправлять бирже. Поэтому то, что библиотека установлена, о правах программы ничего не говорит, всё решает ключ.
Про лимиты запросов помнят с первого дня. Bybit по умолчанию пропускает 600 запросов за пять секунд с одного IP, сверх этого отвечает ошибкой 403 «access too frequent». Binance на превышение лимита отвечает кодом 429, а если программа продолжает слать запросы, IP автоматически блокируется с кодом 418. Цикл, который без паузы спрашивает цену, упирается в это быстрее всего.
Чем API Мосбиржи отличается от API брокера?
У самой Мосбиржи свободный публичный вход один - ISS с данными, а торговый API частному трейдеру обычно даёт брокер. Собственные торговые интерфейсы биржи - FIX, TWIME и FIFO MFIX Trade - рассчитаны на профессиональное подключение. FIFO MFIX Trade и TWIME Мосбиржа прямо рекомендует для быстрой торговли и HFT, а подключают их через облака сертифицированных провайдеров, выделенные каналы, колокацию в дата-центре биржи или защищённый интернет.
У брокеров свои торговые API. Финам, например, ведёт базу знаний по Trade API: авторизация, инструменты, потоковые данные и торговля, а одна из первых тем курса - получить ключ доступа и увидеть свой счёт. Логика та же, что у криптобирж: данные отдельно, счёт и заявки отдельно, права задаёт ключ.
Рабочий API не проверяет торговую идею. Прежде чем отдавать заявки программе, посчитайте риск на сделку и продумайте, что будет при сбое связи или ошибке кода. Как устроен торговый робот от сигнала до исполнения, разобрано в статье про торгового бота и его проверку, а основы рынка собраны в гиде для новичков. Материал образовательный и не является индивидуальной инвестиционной рекомендацией.
Источники
- Московская биржа: Interfaces - ISS, задержка данных, торговые интерфейсы FIX, TWIME, FIFO MFIX Trade.
- Справочник запросов ISS Мосбиржи - метод свечей и другие публичные методы.
- Документация REST API Binance Spot - типы методов, права ключей, коды 429 и 418.
- Binance: Market Data Only URLs - публичные адреса без аутентификации.
- Bybit V5: Integration Guidance - заголовки подписи и recv_window.
- Правила лимитов запросов Bybit V5 - 600 запросов за 5 секунд с одного IP.
- pybit: официальный коннектор Bybit для Python - HTTP и WebSocket.
- Finam Trade API: база знаний - торговый API брокера.





