EyesOnAssets Public API
Платный B2B-доступ по API-ключу к тем же данным, что видит пользователь на сайте: живой скринер (цена/изменение/объём по крипте, форексу и акциям) и модуль «Аналитика» (технический + фундаментальный скор от −100 до +100 по каждому активу). Никакого аккаунта на сайте заводить не нужно — только ключ.
/api/v1/public
Auth: заголовок X-API-Key
Аутентификация
Каждый запрос должен содержать заголовок X-API-Key с вашим
ключом. Ключи выдаются вручную после согласования тарифа/договора — самостоятельной
регистрации на сайте для этого API нет (см. раздел «Как получить доступ»).
Быстрый старт
# Проверить тариф, лимиты и остаток месячной квоты curl -H "X-API-Key: eoa_live_ВАШ_КЛЮЧ" \ https://ваш-домен/api/v1/public/usage
# Скор аналитики по всем активам крипторынка curl -H "X-API-Key: eoa_live_ВАШ_КЛЮЧ" \ https://ваш-домен/api/v1/public/analytics/crypto/list
Тарифы
| Тариф | Цена | Рынки | Rate limit | Квота/мес |
|---|---|---|---|---|
| Starter | $250/мес | 1 на выбор (crypto / forex / stocks) | 30 req/min | 20 000 |
| Business | $500/мес | Все три (бандл скринер + аналитика) | 120 req/min | 150 000 |
| Enterprise | по договору | Все три + приоритетная поддержка | 600 req/min | без ограничения |
Текущий тариф, ограничение по рынкам и договорной срок можно в любой момент проверить через GET /usage.
Лимиты и квота
Есть два независимых ограничения:
| Тип | Что считает | Что происходит при превышении |
|---|---|---|
| Rate limit | Запросов в минуту, зависит от тарифа | 429 Too Many Requests, повторите позже |
| Месячная квота | Суммарно запросов за календарный месяц | 429 Monthly quota exceeded — обновите тариф или дождитесь начала следующего месяца |
Справочник эндпоинтов
GET/api/v1/public/usage
Ваш текущий тариф, разрешённые рынки, лимиты и сколько запросов уже израсходовано в этом месяце. Не расходует месячную квоту дороже одного обычного запроса.
{
"org_name": "Acme Trading LLC",
"tier": "business",
"status": "active",
"allowed_markets": ["crypto", "forex", "stocks"],
"rate_limit": "120/minute",
"monthly_quota": 150000,
"used_this_month": 4213,
"contract_expires_at": null
}
GET/api/v1/public/screener/{market_type}/{exchange}/{instrument}
Живые данные скринера: цена, изменение %, объём по всем инструментам комбинации рынок/биржа/тип.
| Параметр | Тип | Описание |
|---|---|---|
| market_type | path | crypto / forex / stocks |
| exchange | path | bybit, binance, okx, moex, nasdaq и т.д. — зависит от рынка и региона развёртывания |
| instrument | path | spot, perpetual, futures, stock, major и т.д. |
| volume_min / volume_max | query, опционально | Фильтр по объёму |
| change_min / change_max | query, опционально | Фильтр по изменению % |
# Пример curl -H "X-API-Key: ..." \ ".../api/v1/public/screener/crypto/bybit/spot?volume_min=1000000"
GET/api/v1/public/ohlcv/{market_type}/{exchange}/{symbol}/{timeframe}
Свечи OHLCV по конкретному символу.
| Параметр | Тип | Описание |
|---|---|---|
| symbol | path | Например BTC_USDT или BTC/USDT |
| timeframe | path | 1m, 5m, 15m, 1h, 4h, 1d и т.д. |
| limit | query, опционально | Число свечей, по умолчанию 200, максимум 1000 |
GET/api/v1/public/analytics/{market}/list
Скор аналитики по всем посчитанным активам рынка: вердикт, общий скор, цена, изменение, мини-график цены.
GET/api/v1/public/analytics/{market}/{symbol}
Полный отчёт по одному активу: все факторы (технические + фундаментальные) с весами и объяснениями, технический/фундаментальный/общий скор, текстовое резюме.
{
"market": "crypto", "symbol": "BTC",
"overall_score": 16, "verdict": "neutral",
"factors": [
{ "name": "rsi", "value": "54.1", "sentiment": "neutral", "explanation": "RSI 54 — в норме" }
// ...
]
}
GET/api/v1/public/analytics/top-setups
Топ-идеи по силе перевеса факторов прямо сейчас, а не разбор одного актива — отсортировано по |overall_score| по одному рынку или сразу по всем, доступным вашему тарифу.
| Параметр | Тип | Описание |
|---|---|---|
| market | query, опционально | crypto/forex/stocks — не указан = все рынки тарифа |
| verdict | query, опционально | growth/decline — не указан = оба |
| limit | query, опционально | По умолчанию 10, максимум 100 |
GET/api/v1/public/analytics/{market}/stats
Историческая эффективность вердикта на этом рынке: win rate и средняя доходность по
горизонтам (1/5/21/30 дней), с 95% доверительным интервалом Уилсона.
win_rate: null означает недостаточно данных ещё не показываем цифру,
а не 0.
[
{ "verdict": "growth", "horizon_days": 21, "sample_size": 142,
"is_significant": true, "win_rate": 0.61,
"win_rate_ci_low": 0.54, "win_rate_ci_high": 0.68,
"avg_return_pct": 3.2, "source": "backfill" }
]
GET/api/v1/public/analytics/{market}/{symbol}/history
Исторические снепшоты скора/вердикта по одному активу — для собственного бэктеста на вашей стороне.
| Параметр | Тип | Описание |
|---|---|---|
| limit | query, опционально | По умолчанию 90, максимум 1000 (новые сначала) |
Webhooks — push вместо поллинга
Вместо того чтобы опрашивать /analytics/{market}/{symbol} по расписанию,
можно подписаться на уведомление об изменении вердикта (growth ↔ decline ↔ neutral).
POST /api/v1/public/webhooks { "callback_url": "https://ваш-сервер/hook", "market": "crypto" } // ответ содержит "secret" — показывается один раз, сохраните его GET /api/v1/public/webhooks // список ваших подписок DELETE /api/v1/public/webhooks/{id} // отменить подписку
Каждая доставка — POST на ваш callback_url с
заголовком X-Webhook-Signature (HMAC-SHA256 тела запроса на вашем секрете —
проверяйте его, чтобы отличить нас от подделки). callback_url обязан быть
https://. После 10 подряд неудачных доставок подписка автоматически отключается.
{
"event": "verdict_changed", "market": "crypto", "symbol": "BTC",
"old_verdict": "neutral", "new_verdict": "growth",
"overall_score": 24, "timestamp": "2026-07-26T04:00:00+00:00"
}
Коды ошибок
| Код | Причина |
|---|---|
| 400 | Неверный market_type (допустимо только crypto/forex/stocks) |
| 401 | Отсутствует, неверный или отозванный ключ |
| 403 | Клиент приостановлен/договор истёк, либо рынок не входит в ваш тариф |
| 404 | Для этого символа ещё нет посчитанной аналитики |
| 429 | Превышен rate limit или месячная квота |
| 502 | Временная ошибка провайдера данных (биржи/поставщика котировок) — повторите запрос позже |
| 503 | Сервис данных ещё не инициализирован (сразу после рестарта сервера) |
Рынки и биржи
API покрывает крипту, форекс и акции (без облигаций — они пока не входят в бандл).
Конкретный набор доступных бирж на комбинацию exchange/instrument
зависит от региона развёртывания сервера; если не уверены, какие биржи доступны —
уточните у нас при выдаче ключа или начните с crypto/bybit/spot,
который доступен во всех регионах.
Как получить доступ
Доступ выдаётся вручную после согласования тарифа — напишите нам с описанием вашего кейса использования и ожидаемого объёма запросов, мы поможем подобрать тариф и пришлём ключ. Самостоятельной регистрации и мгновенной выдачи ключа на сайте сознательно нет — это защищает и вас (персональное сопровождение), и нас (контроль использования данных).