Загрузки
| Набор данных | Что содержит | Файлы |
|---|---|---|
| Суточные агрегаты | На каждый день UTC, точку, тест и транспорт: число тестов, успехи, доля, медианное время. Лучшая отправная точка. | CSV за 30 дн. CSV за 90 дн. JSON за 90 дн. |
| Сырые измерения | Каждый результат точек измерения, от старых к новым. Не более 31 дня и 200 000 строк в файле; более длинные периоды запрашивайте частями через from и to. | CSV за 7 дн. JSON за 7 дн. CSV за 30 дн. |
| События | До 500 событий и заметок (сначала продолжающиеся, затем новейшие), с долями до и во время. | CSV · JSON |
| Данные приложений по дням | Опубликованные ячейки данных приложений по дням, странам и транспортам (только выше порога по устройствам и после эмбарго; до года назад). Пусто, пока данные приложений выключены. | CSV · JSON |
Файлы называются colitu-lab-{dataset}-{from}-{to}.{csv|json}. Время — UTC по RFC 3339; доли — дроби от 0 до 1 (четыре знака после запятой в CSV); пустые ячейки означают «не измерялось». Произвольный период: https://api.colitu.com/api/v1/lab/export/measurements.csv?from=2026-10-01&to=2026-10-08.
API
Базовый URL: https://api.colitu.com/api/v1/lab. Только чтение, только GET, без аутентификации. Каждый ответ — JSON в одной и той же оболочке:
{
"data": { … },
"license": "CC BY 4.0 — Colitu Lab, lab.colitu.com"
}Ошибки приходят в виде {"error":{"code":"…"}} со статусом 400 (INVALID_RANGE, INVALID_COUNTRY, INVALID_ASN, INVALID_TRANSPORT, RANGE_TOO_LONG, …), 404 (NOT_FOUND), 429 (RATE_LIMITED) или 500 (LAB_UNAVAILABLE).
Общие параметры
range—24h,48h,7d,30dor90d, до текущего момента. Илиfromиto(RFC 3339 илиYYYY-MM-DD;toпо умолчанию — сейчас; не более 366 дней).country— код ISO 3166 страны точка измерения, напримерRU. Никогда не страна сервера.asn— сеть точки измерения,8359илиAS8359.probe— короткое имя точки измерения из/probes.transport— список через запятую:hysteria2,vless-reality,vless-xhttp,trojan,shadowsocks,tuic.
Конечные точки
| Путь | Параметры | Возвращает |
|---|---|---|
/overview | — | Всё, что показывает главная страница: итоги, состояние транспортов за последние 24 часа с изменением относительно предыдущих 24 часов, точки измерения, страны, недавние события, 25 новейших измерений и настройки данных приложений (field). |
/summary | country, asn, probe, transport, range | from, to (default 7d) | Доля успеха, число тестов, медианное время и статус по каждому транспорту для выборки, с prev_rate за предыдущее окно; тесты доступности отдельно. |
/series | country, asn, probe, transport, range | from, to (default 30d) | Доля успеха во времени по транспортам. Интервалы 1 ч (≤ 48 ч), 2 ч (≤ 8 дн.), 6 ч (≤ 31 дн.) или 1 день; у пустых интервалов доля null. |
/countries | range | from, to (default 30d) | Каждая измеренная страна — по точкам измерения, данным приложений или по обоим источникам — с долями по транспортам. |
/countries/{cc} | range | from, to (default 30d) | Одна страна: транспорты, доступность, базовые тесты, сети, точки измерения, события и данные приложений. |
/networks/{asn} | range | from, to (default 7d) | Одна сеть (AS8359 или 8359): транспорты, доступность, базовые тесты, отпечаток, точки измерения, события и данные приложений. |
/protocols/{transport} | range | from, to (default 30d) | Один транспорт: сводка, по точкам измерения, по странам серверов, сравнение с остальными, данные приложений по странам. |
/events | country, asn, probe, transport, status=ongoing, limit (≤ 500, default 100) | Выявленные снижения качества, отказы и редакционные заметки: сначала продолжающиеся, затем самые новые. |
/measurements | probe, country, asn, transport (one), test, from, to, before_id, limit (≤ 1000, default 100) | Сырые результаты, сначала новые; с from — сначала старые. Листать назад через before_id. transport принимает также dns-udp, dns-tcp или https; test — tunnel, reach или baseline. |
/probes | — | Точки измерения: место, сеть, тип, версия, последний отчёт, успех за 24 часа, доля отчётности за 7 дней. |
/export/{dataset}.{csv|json} | range | from, to (default 7d) | Массовые файлы; см. «Загрузки». |
Пример: /summary?country=RU&range=7d · /series?transport=hysteria2,vless-reality&range=30d
Ограничения и кэширование
- Лимит запросов: 240 запросов в минуту на клиента, включая загрузки. При превышении API отвечает 429; подождите минуту.
- CORS: открыт для
GETс любого источника (Access-Control-Allow-Origin: *), поэтому к API можно обращаться из браузера. - Кэширование: ответы кэшируются на 60 секунд (
Cache-Control: public, max-age=60); загрузки — на 5 минут. Новые результаты приходят примерно раз в 20 минут от каждой точки, поэтому опрашивать чаще раза в минуту бессмысленно.
Встраивание
В каждом виде в разделе Сравнение есть кнопка Встроить, которая копирует код именно для этой выборки. Код встраивания принимает те же параметры, что и «Сравнение», — country, asn, probe, transport, range (24h, 7d, 30d или 90d), — не загружает сторонний код и несёт с собой указание источника.
Успех во времени
<iframe src="https://lab.colitu.com/embed/series?country=RU&transport=hysteria2,vless-reality&range=7d"
title="VPN connectivity in Russia — Colitu Lab" width="100%" height="380"
style="border:0" loading="lazy"></iframe>Состояние транспортов (полосы)
<iframe src="https://lab.colitu.com/embed/summary?country=RU&range=30d"
title="Transport health in Russia — Colitu Lab" width="100%" height="380"
style="border:0" loading="lazy"></iframe>Как ссылаться
Ссылайтесь как “Colitu Lab, lab.colitu.com”, указывая дату получения данных и, по возможности, использованный запрос или файл. Например:
Colitu Lab. (2026). Colitu Lab: Open measurements of VPN connectivity [Data set]. https://lab.colitu.com (retrieved YYYY-MM-DD)@misc{colitulab2026,
author = {{Colitu Lab}},
title = {Colitu Lab: open measurements of VPN connectivity},
year = {2026},
howpublished = {\url{https://lab.colitu.com}},
note = {Data licensed under CC BY 4.0. Accessed YYYY-MM-DD}
}Лицензия
Данные лицензированы под CC BY 4.0: делитесь ими и адаптируйте их для любых целей, в том числе коммерческих, с указанием авторства. Названия сетей в данных взяты из DB-IP ASN Lite (CC BY 4.0). Скрипты экспериментов находятся на github.com/colitu/vpn-lab. Вопросы: hello@colitu.com.