Определение ВПН и прокси

Определение ВПН, прокси, Tor-узлов и хостингов по IP-адресу или домену со оценкой риска от 0 до 100. Бесплатно, без регистрации и ключей.

5 запросов/мин с IP Скоринг 0–100 Tor + VPN + хостинги

Демо

По умолчанию проверяется ваш IP. Попробуйте 185.220.101.1 (Tor) или 8.8.8.8 (датацентр Google).

введите IP для проверки
    // результат появится здесь

    Адреса запросов

    GET https://apipark.ru/vpn/json — ваш IP
    GET https://apipark.ru/vpn/json/{ip или домен} — указанный IP

    Параметры

    ПараметрОписаниеПример
    fieldsВернуть только указанные поля (через запятую)?fields=score,risk,vpn
    keyключ платного тарифа (опционально)?key=...

    Поля ответа

    ПолеОписаниеПример
    statussuccess или failsuccess
    messageПричина ошибки (только при fail)private range
    scoreОценка риска / анонимности от 0 до 10095
    riskУровень риска: low, medium, high, criticalcritical
    anonymousIP скрывает реального пользователя (Tor, VPN, прокси или Private Relay)true
    torВыходной узел Tortrue
    vpnСеть известного VPN-провайдераfalse
    proxyОткрытый прокси (SOCKS/SSL) или прокси-сервисfalse
    relayВыход Apple iCloud Private Relayfalse
    hostingДатацентр / хостинг / облакоtrue
    mobileСеть мобильного оператораfalse
    reasonsСписок причин, повлиявших на оценку["Tor exit node"]
    country / countryCodeСтрана и её код ISO 3166-1Germany / DE
    cityГородBerlin
    isp / orgПровайдер / организацияHetzner Online GmbH
    asНомер и имя автономной системыAS24940 Hetzner Online GmbH
    asnameИмя ASHetzner Online GmbH
    queryIP, по которому дан ответ185.220.101.1

    Уровни риска

    ScoreУровеньИнтерпретация
    0–24lowОбычный пользовательский или корпоративный IP
    25–49mediumХостинг/датацентр — возможны боты и автоматизация
    50–74highВероятный VPN или прокси
    75–100criticalTor либо подтверждённая анонимизирующая сеть

    Примеры

    # curl
    curl https://apipark.ru/vpn/json/185.220.101.1
    
    # JavaScript
    const res = await fetch('https://apipark.ru/vpn/json/185.220.101.1');
    const check = await res.json();
    if (check.score >= 50) blockSignup(check.reasons);
    
    # Python
    import requests
    check = requests.get('https://apipark.ru/vpn/json/185.220.101.1').json()
    print(check['score'], check['risk'], check['reasons'])

    Как считается score

    Оценка складывается из независимых сигналов: узлы Tor, IP-диапазоны коммерческих VPN-провайдеров, открытые прокси, выходы Apple iCloud Private Relay, датацентры и облачные хостинги. Сети мобильных операторов снижают оценку. Базы данных обновляются автоматически несколько раз в сутки.

    Лимиты

    5 запросов в минуту с одного IP-адреса. При превышении вернётся HTTP 429. Заголовки: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.