История глубины книги ордеров
Временной ряд агрегированной глубины на стороне покупки (bid) и продажи (ask) в пределах одного диапазона по монете — для всех охваченных бирж или для одной биржи. Для каждой точки указано, сколько контрактов в неё входит.
/api/sd/liquidity/historyЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin | string | Обязательный | — | — | Символ монеты без учёта регистра (например, `BTC`). При отсутствии или некорректном значении возвращается 400. Пример: BTC |
| market | string | Необязательный | perp | perp, spot | Тип рынка. Книги бессрочных контрактов и спота никогда не суммируются. |
| band | string | Необязательный | 1 | 0.5, 1, 2 | Расстояние от средней цены в процентах. |
| range | string | Необязательный | 24h | 24h, 7d, 30d | Период выборки: 24h (точки по 30 минут), 7d (точки по 2 часа) или 30d (точки по 6 часов). |
| exchange | string | Необязательный | — | — | Идентификатор одной биржи, покрытой для этого рынка (например, `gate`). По умолчанию: все биржи. Для биржи, которая не покрыта, возвращается 400. |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/liquidity/history?coin=BTC"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| now | number | ms | Время сервера в момент формирования ответа. |
| coin | string | — | Символ монеты (в верхнем регистре). |
| market | string | — | `perp` или `spot`. |
| band_pct | number | % | Выбранный диапазон: расстояние от средней цены. |
| range | string | — | Применённый период выборки. |
| exchange | string|null | — | Идентификатор биржи (в нижнем регистре). |
| interval_s | number | s | Шаг между точками. |
| points | array | — | Точки ряда, от старых к новым. |
| points[] | object | — | Точки ряда, от старых к новым. |
| points[].t | number | ms | Начало временного интервала. |
| points[].bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. |
| points[].ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. |
| points[].n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. |
| points[].n_rows | number | — | Найденные строки, включая устаревшие. |
| points[].mid | number | USD | (лучший бид + лучший аск) ÷ 2, цена одной монеты. |
| points[].uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. |
| points_expected | number | — | Число точек в периоде при полных данных. |
| first_t | number | ms | Время первой возвращённой точки. |
| last_t | number | ms | Время последней возвращённой точки. |
| exchange_points | object | — | Число точек, в которых присутствует каждая биржа (ключ — идентификатор биржи). динамические ключи: deribit,aster,backpack,bitfinex,bitget,bitunix |
| exchange_points.{*} | number | — | Число точек, в которых присутствует каждая биржа (ключ — идентификатор биржи). |
| coverage | object | — | Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Источники, актуальные данные которых учтены. |
| coverage.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. |
| coverage.unavailable | array | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. пусто в образцах, по которым построена таблица |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица |
| method | object | — | Текстовое описание формул, использованных для этого ответа, по одной записи на поле. |
| method.bid_depth_usd | string | — | Пояснение к формуле для `bid_depth_usd`, обычный текст. |
| method.ask_depth_usd | string | — | Пояснение к формуле для `ask_depth_usd`, обычный текст. |
| method.complete | string | — | Пояснение к формуле для `complete`, обычный текст. |
| method.history | string | — | Пояснение к формуле для `history`, обычный текст. |
| method.exchange_points | string | — | Пояснение к формуле для `exchange_points`, обычный текст. |
| meta | object | — | Происхождение данных и актуальность этого ответа. |
| meta.schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| meta.source | array | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[] | object | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| meta.source[].market | string | — | `perp` или `spot`. |
| meta.source[].endpoint | string | — | Публичный эндпоинт источника, который читает коллектор (показан для сведений о происхождении данных; клиенты его не вызывают). |
| meta.observed_at | null | — | Метка времени, указанная источником для данных. |
| meta.received_at | number | ms | Время получения данных коллектором CoinBoss. |
| meta.fetched_at | number | ms | Время формирования этого ответа. |
| meta.window | string | — | Временное окно, которое охватывают значения. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN или UNAVAILABLE — оценка по меткам времени данных и покрытию. |
| meta.is_stale | boolean | — | True, если данные старше своего окна актуальности. |
| meta.cache_ttl_s | number | s | Время жизни кеша этого ответа. |
| meta.fallback | string | — | Что возвращает эндпоинт при сбое коллектора или источника. |
| meta.collector_heartbeat_age_s | number | s | Число секунд с последнего сообщения коллектора о том, что он работает. |
Сформировано 2026-11-11 23:00 UTC; использовано реальных ответов: 3.
Пример ответа
/api/sd/liquidity/history?coin=BTC · Реальный ответ, получен 2026-11-13 04:02:45 UTC. Длинные массивы и словари сокращены для отображения: points: элементов было 48; meta.source: элементов было 19; exchange_points: элементов было 19; coverage.included_exchanges: элементов было 19.
- "success"true
- "schema""coinboss.sd.liquidity/1"
- "now"1794542565889
- "coin""BTC"
- "market""perp"
- "band_pct"1
- "range""24h"
- "exchange"null
- "interval_s"1800
- "points"
- "points_expected"48
- "first_t"1794457800000
- "last_t"1794542400000
- "exchange_points"
- "deribit"96
- "aster"48
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "bid_depth_usd""sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…"
- "ask_depth_usd""sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd"
- "complete""true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…"
- "history""sd_book_hist keeps the first snapshot of every 15-minute bucket per contract; each returned point takes, per contract, the first stored snapshot inside the poin…"
- "exchange_points""number of returned points in which each exchange had a row that was complete for the band; a changing venue set moves the aggregate, so compare n_included acros…"
- "meta"
- "schema""coinboss.sd.liquidity/1"
- "source"
- "observed_at"null
- "received_at"1794542400000
- "fetched_at"1794542565889
- "window""24h"
- "quality""FRESH"
- "is_stale"false
- "cache_ttl_s"120
- "fallback""history is append-only (first snapshot of each 15-minute bucket per contract, 30-day retention); buckets the collector missed are simply absent, never interpola…"
- "collector_heartbeat_age_s"3
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| band=2&coin=ETH&market=spot | 200 | 6 ms | Пройдено FRESH |
| coin=SOL&exchange=gate | 200 | 2 ms | Пройдено FRESH |
| band=3&coin=BTC | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:58:06 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 2m
- Пограничный микрокеш
- 10s
- Частота обновления
- Снимок сохраняется каждые 15 минут по каждому контракту; каждая точка использует самый ранний снимок в своём интервале (значение на момент времени, а не среднее).
- Окно
- 24h / 7d / 30d.
- Источники данных
- Публичные REST-снимки книги ордеров 24 бирж (рынки бессрочных контрактов и спот), которые собирает и хранит CoinBoss (sd_book_latest, sd_book_hist). Глубину и проскальзывание CoinBoss рассчитывает по исходным ценовым уровням.
- Покрытие бирж
- 24 биржи, 38 связок «биржа × рынок». Если публичный снимок не достигает ±0.5 / 1 / 2 % от средней цены (ограничение площадки на число уровней), такой диапазон помечается `complete: false`, его значение является нижней границей и в агрегат не входит; `n_included` / `n_fresh` дают знаменатель, а `excluded_incomplete` перечисляет исключённое.
- Пагинация
- Пагинации нет; `range` ограничивает число точек (48 / 84 / 120).
- Сортировка
- По возрастанию времени.
- Единицы измерения
- Depth in USD notional, bid and ask side reported separately and never added. Spread and slippage in basis points (1 bp = 0.01 %). USDT / USDC / USD quotes are counted 1:1 as USD.
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Сбор начат 2026-11-11, поэтому более длинные периоды заполняются постепенно. Пропущенные интервалы отсутствуют, а не интерполируются; изменение `n_included` между двумя точками означает, что изменился набор учитываемых контрактов.
Доступность за последние 30 дней
Пройдено 100% из 408 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | HTTP | Значение | Что делать |
|---|---|---|---|
| INVALID_PARAM | 400 | Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен. | Не повторяйте запрос без изменений; исправьте его. |
| UNAUTHORIZED | 401 | Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ. | Не повторяйте запрос без изменений. |
| FORBIDDEN | 403 | Маршрут не входит в публичный API (внутренний или только для аккаунта). | Не повторяйте запрос. |
| NOT_FOUND | 404 | Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует. | Не повторяйте запрос; сверьте путь и идентификаторы с каталогом. |
| RATE_LIMITED | 429 | Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать. | Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой. |
| INTERNAL | 500 | Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`. | Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса. |
| UPSTREAM_FAILED | 503 | Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются. | Повторите запрос с нарастающей задержкой; проверьте страницу статуса. |
| UNAVAILABLE | 501 / 503 | Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника. | Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению. |
| REQUEST_FAILED | 200 | Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/sd/liquidity/historyЧастичноstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · по умолчанию perp — Market type. Perpetual and spot books are never added together.
string · по умолчанию 1 — Distance from mid price in percent.
string · по умолчанию 24h — Look-back range: 24h (30-minute points), 7d (2-hour points) or 30d (6-hour points).
string — One exchange id covered for this market (for example `gate`). Default: all exchanges. An exchange that is not covered returns 400.
https://www.coinboss.com/api/sd/liquidity/history?coin=BTCДругие эндпоинты этой категории
- Глубина книги ордеров и проскальзывание /api/sd/liquidity
- История глубины книги ордеров /api/sd/liquidity/history
- Рейтинг монет по глубине книги ордеров /api/sd/liquidity/rank
- Монитор крупных ордеров в книге /api/indicators/large-orderbook