Бесплатный API для результатов замеров и статистики по интернет-провайдерам. 1000 запросов в сутки на ключ; единственное условие — ссылка на SpeedMeter.dev.
Ключ выдаётся сразу, без регистрации. Почта нужна только для связи по вопросам API.
Ваш ключ. Сохраните его сейчас: повторно мы его не покажем.
Получая ключ, вы принимаете условия ниже. Политика конфиденциальности
Передавайте ключ в заголовке Authorization. Все ответы — JSON; скорость в Мбит/с, пинг и джиттер в мс, потери пакетов в процентах.
curl -H "Authorization: Bearer YOUR_KEY" \
"https://speedmeter.dev/api/v1/providers?country=RU&limit=5"Обращайтесь к API со своего сервера. Не вставляйте ключ в код страницы: его скопируют и израсходуют ваш лимит.
| Запрос | Что возвращает |
|---|---|
GET /api/v1/tests/{testId} | Результат одного замера: загрузка, отдача, пинг, джиттер, потери пакетов, провайдер и страна. testId присылает виджет после замера. |
GET /api/v1/providers | Медианные загрузка, отдача, пинг, джиттер и потери пакетов по сетям провайдеров (ASN) за 30 дней. Параметры: country — две буквы страны, например RU; limit — от 1 до 500, по умолчанию 50. |
GET /api/v1/providers/{asn} | То же для одной сети, например /api/v1/providers/12389. |
POST /api/v1/proxy-check | Без ключа. Проверяет адрес, с которого пришёл запрос: IP, владельца сети, тип сети (хостинг, мобильная или не определён) и местоположение. Его вызывает страница проверки прокси. |
GET /api/v1/proxy-checks/{checkId} | Результат проверки прокси по её номеру. Номер покупатель видит на странице проверки. |
GET /api/v1/usage | Сколько запросов ваш ключ израсходовал сегодня. |
POST /api/v1/keys | Выпуск ключа. В теле запроса — email и, по желанию, site. Форма выше делает то же самое. |
В статистику попадают только сети, у которых за 30 дней не меньше 30 замеров с 10 разных адресов: на меньших данных медиана — шум. Статистика пересчитывается раз в час.
GET /api/v1/tests/5f0c2a1e-8d3b-4c6a-9e2f-1b7d4a9c3e10
{
"testId": "5f0c2a1e-8d3b-4c6a-9e2f-1b7d4a9c3e10",
"createdAt": "2026-09-29T11:06:05.000Z",
"download": 94.2,
"upload": 41.7,
"ping": 18.5,
"jitter": 2.1,
"packetLoss": 0,
"isp": { "name": "Example Telecom", "asn": 64500 },
"country": "RU",
"units": { "download": "Mbps", "upload": "Mbps", "ping": "ms", "jitter": "ms", "packetLoss": "%" },
"source": { "name": "SpeedMeter.dev", "url": "https://speedmeter.dev/" }
}Поставьте на страницу бесплатный виджет. После замера он отправит сообщение с testId; передайте его своему серверу и запросите результат с ключом.
<iframe src="https://speedmeter.dev/widget.html" width="100%" height="320" frameborder="0"></iframe>
<script>
window.addEventListener('message', function (e) {
if (e.origin !== 'https://speedmeter.dev' || !e.data || e.data.type !== 'speedtest-complete') return;
// your server calls GET /api/v1/tests/{testId} with the key
fetch('/speedtest-result?testId=' + encodeURIComponent(e.data.testId));
});
</script>Темы, компактный режим и версия на JavaScript описаны в инструкции к виджету. Инструкция к виджету