T-Invest API: Выгрузить операции по счёту

Сценарий из mcp-everything. Актуально на 2026-10-24.

Сделки, комиссии, дивиденды и пополнения — для учёта и налоговых расчётов.

  1. Запроси операции: POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetOperationsByCursor с accountId, from и to в UTC и limit (до 1000).
  2. Если в ответе hasNext = true, повтори запрос с cursor = nextCursor из ответа.
  3. Отфильтровать можно по типам операций (operationTypes), инструменту (instrumentId) и статусу (state).
  4. Лимит сервиса операций — 200 запросов в минуту; при превышении придёт 429.
ops, cursor = [], ""
while True:
    r = requests.post(f"{API}.OperationsService/GetOperationsByCursor", headers=H, json={
        "accountId": "<id счёта>", "from": "2026-01-01T00:00:00Z", "to": "2026-10-24T00:00:00Z",
        "limit": 1000, "cursor": cursor}).json()
    ops += r["items"]
    if not r.get("hasNext"):
        break
    cursor = r["nextCursor"]

Базовые URL

Авторизация

Тип: Bearer-токен

Токен выпускается в настройках профиля Т-Инвестиций (https://www.tbank.ru/invest/settings/). Функция «Подтверждение сделок кодом» должна быть отключена. Токен показывается один раз, выпускать можно неограниченное количество. Виды токенов: Readonly (только чтение), Full-access (все методы), токен с доступом к конкретному счёту и Sandbox token (только для песочницы; для обычных методов вернёт ошибку). Токен передаётся в заголовке Authorization в формате Bearer t.QtEo8ahkNFX4RTpbqp0u4z4GDZq27HzUp6AotJASBx7_DVqmqZMHfM2Cy7JmUjS80boI9eVg, в gRPC — в metadata каждого запроса и стрима.

Срок жизни токена — три месяца с даты последнего использования. Неактуальный токен даёт ошибку:

"code": "40003"
"message": "authentication token is missing or invalid"

Методы сценария

POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetOperationsByCursor — Операции по счёту с пагинацией

Параметр Где Тип Обяз. Описание
accountId body string да Идентификатор счёта клиента
instrumentId body string нет FIGI или UID инструмента
from body string нет Начало периода по UTC
to body string нет Окончание периода по UTC
cursor body string нет Идентификатор элемента, с которого начать ответ
limit body integer нет Лимит операций: по умолчанию 100, максимум 1000
operationTypes body array нет Типы операций из списка OperationType
state body v1OperationState нет Статус операции
withoutCommissions body boolean нет Флаг возврата комиссии, по умолчанию false
withoutTrades body boolean нет Ответ без массива сделок
withoutOvernights body boolean нет Флаг показа overnight-операций

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://developer.tbank.ru/invest/intro/intro/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/t-invest.md