API для разработчиков
Передавайте ключ fom_live_… как Bearer-токен: /api/v1/meta проверяет его, /api/v1/screener возвращает ранжированный скринер в формате JSON, а каждый ответ содержит заголовки лимитов запросов.
Formion Data API предоставляет программный доступ к тем же сигналам, которые вы видите в приложении, — ранжированному скринеру, откалиброванным вероятностям прибыльной сделки и другим данным — через простой REST-эндпоинт с аутентификацией. Он предназначен для квантов, разработчиков ботов и торговых команд, которым нужно преимущество Formion в собственных системах.
Статус: доступен по запросу. Команда Formion выдаёт ключи вручную. Самостоятельное создание личных API-токенов запланировано — карточка доступа к API в разделе Профиль → Лицензия показывает Скоро. Чтобы запросить ключ, напишите на [email protected].
Аутентификация
Заголовок раздела «Аутентификация»Каждый запрос содержит ваш API-ключ в виде Bearer-токена:
curl "https://app.formion.ai/api/v1/screener?tf=1d&limit=25" \ -H "Authorization: Bearer fom_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"- Ключи имеют вид
fom_live_…. Обращайтесь с ними как с паролем — любой обладатель ключа может обращаться к API от вашего имени. - Ключ показывается один раз при выдаче и хранится у нас только в виде хеша. Если вы потеряете его, мы отзовём ключ и выдадим новый — восстановить его невозможно.
- Для быстрой проверки ключ также можно передать как
?api_key=…, но предпочтительнее использовать заголовокAuthorization.
Если ключ отсутствует, неверен или отозван, вы получите:
{ "ok": false, "error": "unauthorized", "hint": "Send a valid key as 'Authorization: Bearer fom_live_…'. Request access at [email protected]." }с HTTP 401.
Лимиты запросов
Заголовок раздела «Лимиты запросов»Для каждого ключа действует минутный лимит, определяемый его тарифом API (назначается при выдаче ключа):
| Тариф | Запросов / минуту |
|---|---|
| Free | 60 |
| Pro | 600 |
| Institutional | 6 000 |
Каждый ответ содержит стандартные заголовки, чтобы вы могли самостоятельно регулировать частоту запросов:
X-RateLimit-Limit: 600X-RateLimit-Remaining: 594X-RateLimit-Reset: 1789200000 # unix seconds when the window resetsПри превышении лимита возвращается HTTP 429 с { "ok": false, "error": "rate_limited", "tier": "…" } и заголовком Retry-After (в секундах). Подождите и повторите запрос.
Версионирование
Заголовок раздела «Версионирование»Все эндпоинты расположены в /api/v1/. Мы считаем структуру ответа v1 стабильным контрактом — новые поля могут добавляться, но существующие поля не изменят смысл и не исчезнут без новой версии (/api/v2/). Вы можете уверенно строить интеграции на v1.
Эндпоинты
Заголовок раздела «Эндпоинты»GET /api/v1/meta`
Заголовок раздела «GET /api/v1/meta`»Проверяет работоспособность ключа и показывает, к чему он даёт доступ.
curl https://app.formion.ai/api/v1/meta -H "Authorization: Bearer fom_live_…"{ "ok": true, "api_version": "v1", "key": { "tier": "pro", "rate_per_min": 600, "label": "Acme backtest bot" }, "endpoints": [ { "path": "/api/v1/meta", "method": "GET", "desc": "This key's tier + endpoint list." }, { "path": "/api/v1/screener", "method": "GET", "desc": "Ranked multi-market screener with Formion score + P(win). Query: tf, limit, minScore." } ], "docs": "https://docs.formion.ai/api",}GET /api/v1/screener`
Заголовок раздела «GET /api/v1/screener`»Ранжированный скринер по нескольким рынкам — тот же движок, на котором работает вкладка Screener в приложении.
Параметры запроса
| Параметр | По умолчанию | Описание |
|---|---|---|
tf |
1d |
Таймфрейм: 5m, 15m, 1h, 4h, 1d |
limit |
100 |
Количество возвращаемых строк (максимум 500) |
minScore |
0 |
Возвращать только строки с оценкой ≥ указанного значения |
Пример
curl "https://app.formion.ai/api/v1/screener?tf=4h&limit=5&minScore=60" \ -H "Authorization: Bearer fom_live_…"{ "ok": true, "api_version": "v1", "tier": "pro", "timeframe": "4h", "scanned_at": 1789199400000, "count": 5, "data": [ { "symbol": "SOLUSDT", "asset_class": "crypto", "category": "bull-pullback", "direction": "long", "score": 74, "win_probability": 0.58, "rsi_1d": 61, "tags": ["at-bull-fvg", "bos-up-1d", "arsi-turn-up-4h"] } ]}Описание полей
| Поле | Значение |
|---|---|
symbol |
Биржевая пара или тикер |
asset_class |
Класс актива в строке (например, crypto, stock, index, commodity) |
category |
Тип сетапа (bull, bear-rally, sweep-confirmed, …) |
direction |
long, short или null |
score |
Сводная оценка Formion, 0–100 |
win_probability |
Откалиброванная модельная вероятность того, что прогноз окажется верным на горизонте таймфрейма, или null, если модель не достигла порога точности |
rsi_1d |
Дневной RSI(14) |
tags |
Теги структуры и импульса (FVG, BoS/CHoCH, VWAP, развороты Adaptive-RSI, …) |
scanned_at |
Время исходного сканирования в миллисекундах Unix (данные могут отставать на несколько минут) |
Эти два эндпоинта (/meta и /screener) — весь API v1 на сегодня. Если вам нужны другие данные, сообщите какие — пока мы не берём на себя обязательств добавлять новые эндпоинты.
Ответственное использование
Заголовок раздела «Ответственное использование»- Кэшируйте и опрашивайте разумно. Скринер обновляет результаты каждые несколько минут; более частые запросы лишь расходуют лимит на получение тех же данных. Проверяйте
scanned_atи пропускайте запрос, если значение не изменилось. - Один ключ на систему. Не используйте один ключ для разных клиентов — учёт по каждому ключу позволяет нам (и вам) отслеживать использование.
- Никогда не размещайте ключ в браузерном коде или публичном репозитории. Если ключ утёк, напишите нам, чтобы мы могли отозвать его и выдать новый.
Получение ключа
Заголовок раздела «Получение ключа»Напишите на [email protected], указав ваш сценарий использования и ожидаемый объём запросов. Мы выдадим ключ, назначим ему тарифный уровень и поможем выполнить первый запрос.
