T-Invest API: Посмотреть счета и портфель

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

Сводка по брокерским счетам: стоимость портфеля, позиции, доходность — для своего дашборда или отчёта.

  1. Выпусти токен в настройках Т-Инвестиций: для чтения хватит Readonly. Передавай его в заголовке Authorization: Bearer <токен>. REST-адрес — https://invest-public-api.tbank.ru/rest/<сервис>/<метод>, все методы — POST с JSON.
  2. Получи счета: POST /tinkoff.public.invest.api.contract.v1.UsersService/GetAccounts — в ответе id каждого счёта.
  3. Получи портфель: POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetPortfolio с accountId. Позиции без оценки — POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetPositions.
  4. Суммы приходят объектами MoneyValue и Quotation: целая часть в units (строкой), дробная — в nano (миллиардные доли). Значение = units + nano / 1 000 000 000.
import requests

API = "https://invest-public-api.tbank.ru/rest/tinkoff.public.invest.api.contract.v1"
H = {"Authorization": "Bearer <токен>"}
q = lambda m: int(m["units"]) + m["nano"] / 1e9

accounts = requests.post(f"{API}.UsersService/GetAccounts", headers=H, json={}).json()["accounts"]
for acc in accounts:
    p = requests.post(f"{API}.OperationsService/GetPortfolio", headers=H, json={"accountId": acc["id"], "currency": "RUB"}).json()
    print(acc["name"], q(p["totalAmountPortfolio"]))

Базовые 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.UsersService/GetAccounts — Счета пользователя

Параметр Где Тип Обяз. Описание
status body v1AccountStatus нет Фильтр по статусу счёта

POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetPortfolio — Портфель по счёту

Параметр Где Тип Обяз. Описание
accountId body string да Идентификатор счёта пользователя
currency body PortfolioRequestCurrencyRequest нет Валюта расчёта

POST /tinkoff.public.invest.api.contract.v1.OperationsService/GetPositions — Позиции по счёту

Параметр Где Тип Обяз. Описание
accountId body string да Идентификатор счёта пользователя

Нюансы

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


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