Europe/Moscow. Выберите период через period, а сервер — через независимый параметр server. Если server не указан, API вернёт все доступные серверы за тот же период.
Четыре режима
Если
period не передан, используется month. Поэтому запрос с одним month=2026-10 остаётся корректным месячным запросом.Месяц
month принимает значения от 2015-01 до 2099-12 в формате YYYY-MM.
В месячном ответе выбранный период передаётся в поле month:
Метаданные месячного ответа
refreshMinutes приведено как пример; используйте значение из полученного JSON.
День
2026-10-17 00:00 включительно до 2026-10-18 00:00 исключительно. Без date API выберет сегодняшний день по Москве.
Последние семь дней
date — последний день периода включительно. Ответ охватывает 11–17 октября 2026 года. Без date период заканчивается сегодня по Москве.
Собственный диапазон
from и to задают один день.
Для range действуют три условия:
- Указаны обе даты в формате
YYYY-MM-DD, и каждая существует в календаре. fromне позжеto.- Между датами не более 31 календарного дня с учётом обеих границ. Например, 1–31 октября — 31 день, а 1 октября – 1 ноября — 32 дня.
400 с error: "invalid_range".
Совместимость параметров
Несовместимые параметры возвращают HTTP
400 с error: "invalid_parameters". Например, не добавляйте month к дневному запросу: календарная дата уже полностью задаёт день.
Даты в ответе
Дляday, week и range вместо поля month возвращаются следующие поля:
Ниже — фрагмент ответа на недельный запрос с
date=2026-10-17:
Метаданные семидневного периода
Z обозначает UTC. В этом примере московская полночь соответствует 21:00 предыдущего дня в UTC. При фильтрации временных отметок используйте условие timestamp >= start && timestamp < endExclusive: оно сохраняет точные границы и не захватывает начало следующего дня.
Архив и доступность данных
Месячные и дневные отчёты хранятся отдельно. Дневная статистика, неделя и собственный диапазон собираются из дневных отчётов; месячной суммы недостаточно, чтобы восстановить отдельные дни.
Если все дневные отчёты есть, но хотя бы один устарел, сумма сохраняется со статусом
stale. Для составного периода generatedAt содержит самое раннее время формирования входящих отчётов. Состояние данных описано на странице «Данные и статусы».
Запрос API читает сохранённые отчёты и не запускает сбор. Поле refreshMinutes задаёт паузу между проходами сборщика, а сам проход также занимает время. Поэтому его значение не является гарантией, что все серверы обновляются одновременно или строго раз в указанное число минут.