Рыночные данные
GET /v1/prices/snapshot.ndjson.gz — полный снимок цен
Скачайте полный каталог цен CSBoard в виде gzip-сжатого NDJSON. По одному PriceRow на строку. Спроектировано под массовую загрузку с условными запросами по ETag.
GET
Full price-list snapshot (gzipped NDJSON)
Эндпоинт snapshot отдаёт полный список цен CSBoard в виде одного gzip-сжатого файла NDJSON. Каждая распакованная строка — это один JSON-объект
Пример распакованного вывода:
Ответ
PriceRow, той же схемы, что возвращает GET /v1/prices. Это рекомендуемый путь для потребителей полного каталога: сайтов сравнения, арбитражных ботов или дата-пайплайнов, которым нужна полная локальная копия списка цен. Для точечных запросов по подмножеству товаров используйте GET /v1/prices.
Требуется аутентификация. Отправьте ключ как Authorization: Bearer csb_pub_....
Лимит запросов: 1 запрос в минуту, отдельно от общего лимита 30 запросов/мин. Планируйте интервал опроса соответствующе.
Заголовки запроса
Передайте значение
ETag из предыдущего ответа snapshot, чтобы сделать условный запрос. Если снимок не изменился с момента этого ETag, сервер вернёт 304 Not Modified без тела, экономя трафик и избегая повторной загрузки.Заголовки ответа
| Заголовок | Описание |
|---|---|
ETag | Непрозрачная строка версии, идентифицирующая этот снимок. Сохраните её и отправьте обратно в If-None-Match при следующем запросе. |
Content-Encoding | gzip — тело всегда сжато gzip. |
Тело ответа
Поток, сжатый gzip. После распаковки каждая строка (разделитель — перевод строки) представляет собой валидный JSON-объект, соответствующий схемеPriceRow:
| Поле | Тип | Описание |
|---|---|---|
market_hash_name | string | Steam market hash name. |
wear | string | null | Диапазон износа или null. |
doppler_phase | string | null | Фаза Doppler или null. |
min_price_usd | number | Самая дешёвая текущая цена продажи в USD. |
qty | integer | Количество листингов в этой группе. |
Пример: загрузка и просмотр
Пример: условный запрос с ETag
При первой загрузке вы получаете заголовокETag. Передавайте его обратно в последующих запросах, чтобы не скачивать неизменённый снимок повторно:
304 Not Modified означает, что снимок идентичен уже имеющемуся у вас — повторная загрузка не нужна.
Коды ошибок
| HTTP-статус | Код | Значение |
|---|---|---|
| 304 | (без тела) | Снимок не изменился с переданного If-None-Match ETag. |
| 401 | unauthorized | Отсутствует или некорректный API-ключ. |
| 429 | snapshot_rate_limited | Превышен отдельный лимит снимка — 1 запрос/мин. Подождите перед повтором. |
Этот эндпоинт предназначен для массовой загрузки полного каталога. Если вам нужны цены только для конкретного товара или отфильтрованного подмножества, используйте
GET /v1/prices — он поддерживает фильтры по search, category и wear и не учитывается в лимите snapshot.Авторизации
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
Заголовки
Conditional request. Pass the ETag from a previous snapshot to receive 304 if unchanged.
Ответ
Gzipped NDJSON stream. Each decompressed line is one PriceRow JSON object. Sets an ETag header.
The response is of type file.
GET /v1/prices — список minAsk цен CS2 по группам товаров
Предыдущий
GET /v1/currency — курсы валют для конвертации USD
Следующий