Карта качества сети: публичный API
Публичные эндпоинты агрегированной статистики по регионам России. Авторизация не требуется. Данные отображаются в интерактивном разделе /network-quality/.

GET https://openspeedtest.ru/api/v1/network-quality
GET https://openspeedtest.ru/api/v1/network-quality/geometry
GET /api/v1/network-quality
Агрегированные метрики (скорость, пинг, джиттер, скоринг, ТОП провайдеров) по каждому региону карты. Окно данных фиксировано — 365 дней.
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
network | нет | mobile (по умолчанию) или home |
Параметр количества дней не поддерживается — окно всегда составляет 365 дней.
Пример
bashcurl "https://openspeedtest.ru/api/v1/network-quality?network=mobile"
Ответ (200)
json{
"success": true,
"network": "mobile",
"days": 365,
"cache_ttl": 86400,
"cache_created_at": 1770000000,
"cache_expires_at": 1770086400,
"min_samples": 20,
"geometry_regions": 89,
"regions_with_data": 74,
"eligible_regions": 60,
"total_samples": 150000,
"score_config": {
"download_cap": 100.0,
"upload_cap": 30.0,
"ping_good": 50.0,
"ping_bad": 180.0,
"jitter_good": 15.0,
"jitter_bad": 70.0
},
"items": [
{
"region_id": "moscow",
"region": "Москва",
"region_full": "Москва",
"samples": 45210,
"avg_download": 88.4,
"avg_upload": 41.2,
"avg_ping": 12.3,
"avg_jitter": 3.1,
"eligible": true,
"score": 87.6,
"providers": [
{
"provider_id": 42,
"provider_name": "ООО Ростелеком",
"rating_out_of_100": 81.2,
"measurements": 12000,
"link": "/provider/42/"
}
]
}
]
}
score— оценка региона (0–100);null, если замеров меньшеmin_samples(eligible=false).providers— ТОП провайдеров региона.- Регионы без замеров тоже присутствуют (
samples=0,score=null,providers=[]).
Кеширование
Ответ кешируется на сутки. Заголовки:
X-OpenSpeedTest-Cache: HIT | MISS-BUILT-DAILYX-OpenSpeedTest-Cache-TTL: 86400X-OpenSpeedTest-Cache-Expires: <unix>
При MISS первый запрос может выполняться дольше (пересчёт).
Ошибки
| Код | Условие | Тело |
|---|---|---|
| 404 | Раздел карты временно отключён | {"success":false,"error":"Not found"} |
| 500 | Внутренняя ошибка | {"success":false,"error":"Internal server error"} |
GET /api/v1/network-quality/geometry
Отдаёт векторную геометрию карты в формате TopoJSON.
- Параметров нет, авторизация не требуется.
- Ответ (200) — объект
{"type":"Topology","objects":{...},...}. - Кеширование:
Cache-Control: public, max-age=86400, stale-while-revalidate=604800.
bashcurl "https://openspeedtest.ru/api/v1/network-quality/geometry" -o regions.topojson
Ошибки: 503 {"success":false,"error":"Map geometry is not installed"} — файл геометрии не установлен; {"success":false,"error":"Installed map geometry is invalid"} — файл повреждён или неполон.
Техническая деталь
Мобильные и домашние сети формируются одним пакетом и делят общий суточный кеш. Регионы сопоставляются с замерами по нормализованному названию; замеры, которые не удалось отнести к региону, учитываются в счётчике unmapped_samples. Порог min_samples задаётся настройками сервиса (по умолчанию 20). Для мобильных сетей применяется логарифмическая кривая оценки пропускной способности, для домашних — линейная.