Меню документации

API бесплатных прокси

GET /api/free-proxy возвращает текущие публичные наблюдения Litport за бесплатными прокси. Аутентификация не требуется.

Запрос#

curl --get 'https://litport.net/api/free-proxy' \
  --data-urlencode 'country=de' \
  --data-urlencode 'protocol=http' \
  --data-urlencode 'uptimeRating=90' \
  --data-urlencode 'sortBy=responseTimeMs_asc' \
  --data-urlencode 'limit=50'
Параметр Тип По умолчанию Текущее поведение
country string all Код ISO-2 без учёта регистра. Значение приводится к верхнему регистру; псевдонимы не применяются.
limit integer 50 Допустимый диапазон 10–1000. Некорректные значения и значения вне диапазона игнорируются.
page integer 1 Допустимый диапазон 1–1000. Некорректные значения и значения вне диапазона игнорируются.
sortBy string pingAt_desc Поле: pingAt, responseTimeMs или createdAt. Направление: asc или desc. Некорректные значения игнорируются.
anonymity string all Точный фильтр: transparent, anonymous, elite или unknown. Неизвестные значения обычно возвращают пустой массив.
anonymityLevel string all Устаревший псевдоним: high = anonymous или elite, low = transparent. Точный фильтр. Неизвестные значения обычно возвращают пустой массив.
protocol string all Точный фильтр, например http, https или socks5. Неизвестные значения обычно возвращают пустой массив.
list string all Именованный набор для генерируемого списка: https (поддерживает HTTPS), fast (округлённая задержка менее 1000 мс), stable (округлённый семидневный аптайм не ниже 90% при не менее чем 50 проверках) или anonymous (anonymous или elite). Неизвестные значения игнорируются.
uptimeRating integer нет Минимальный процент аптайма за 24 часа, 1–100. Некорректные значения игнорируются.
responseTimeMs integer нет Максимальное время HTTP-ответа в миллисекундах, 1–10000. Некорректные значения игнорируются.
checkedWithinMin integer нет Максимальный возраст pingAt в минутах, 1–1440. Для snapshot по умолчанию 30; метки времени позже момента запроса этот фильтр свежести исключает.
format string json json, csv, txt или txt-proto. Неизвестные значения заменяются на JSON.
download flag выкл. Если параметр передан для поддерживаемого формата, ответ возвращается как вложение.

country принимает код ISO-2 без учёта регистра и приводит его к верхнему регистру для поиска. Таблицы псевдонимов нет: используйте country=gb; country=uk может вернуть пустой массив. У логинов PPG-прокси совместимость работает иначе.

Поведение ответа#

JSON-ответ по умолчанию — простой массив без обёртки data, общего числа и значения hasMore. Пагинация слепая: смещение страницы равно (page - 1) * limit, а пустой массив означает, что на этой странице нет подходящих строк.

Исходный набор данных может быть устаревшим до 120 секунд, а ответы отправляют Cache-Control: public, max-age=60 сверх этого, поэтому ответ может отставать от последней проверки примерно на 3 минуты; опрос чаще, чем окно кеша, возвращает те же строки. Некорректные числовые параметры и некорректные значения sortBy в этой версии молча игнорируются, и остаются значения по умолчанию. Неизвестные значения точных фильтров обычно дают пустой массив, а не ответ 400.

checkedWithinMin оставляет только прокси, проверенные в пределах запрошенного окна 1–1440 минут. Он исключает метки времени позже времени запроса. Для совместимости у постраничного эндпоинта нет фильтра свежести по умолчанию.

[
  {
    "protocol": "http",
    "host": "192.0.2.10",
    "port": 8080,
    "externalIp": "192.0.2.10",
    "geoCountry": "US",
    "https": true,
    "anonymity": "elite",
    "anonymityRating": 100,
    "responseTimeMs": 420,
    "uptimeRating": 97,
    "pingAt": "2026-08-25T12:00:00.000Z"
  }
]

Примеры адресов в этой документации зарезервированы для документации и не являются действующими прокси.

Поля JSON#

Поле Тип Значение
protocol string Протокол прокси.
host string Имя хоста или IP-адрес прокси.
port integer Порт прокси.
externalIp string Наблюдаемый выходной IP.
geoCountry string Страна выхода (ISO-2).
geoCountryFlagEmoji string Флаг страны для отображения.
geoRegion string Наблюдаемый регион выхода.
geoCity string Наблюдаемый город выхода.
geoTimezone string Наблюдаемый часовой пояс выхода.
asn integer or string Наблюдаемый номер автономной системы; в старых наблюдениях может быть строка с префиксом AS.
asnOrgName string Наблюдаемая сетевая организация.
https boolean true, если HTTPS-запрос проходит через прокси по туннелю с действительным сертификатом; null, если ещё не измерено.
anonymity string Измеренный класс анонимности: transparent, anonymous, elite или unknown.
anonymityRating integer Нормализованная оценка анонимности.
anonymityLevel string Устаревший псевдоним: high = anonymous или elite, low = transparent.
anonymityLevelRating integer Устаревший псевдоним, равен anonymityRating.
responseTimeMs number Измеренное время HTTP-ответа в миллисекундах.
responseTimeRating integer Нормализованная оценка времени ответа.
uptimeRating integer Округлённый процент аптайма за 24 часа.
uptime7d number Процент аптайма за семь дней, округлённый до одного знака после запятой.
checks7d integer Число проверок, вошедших в значение аптайма за семь дней.
uptime24h number Процент аптайма за 24 часа, округлённый до одного знака после запятой.
checks24h integer Число проверок, вошедших в значение аптайма за 24 часа.
sourcesCount integer Число наблюдаемых списков-источников для этого прокси.
responseTimeMedianMs number Скользящая медиана задержки по недавним проверкам доступности, возможно дробная, или null, если данных нет.
lastAliveAt date-time Когда этот прокси последний раз прошёл проверку доступности.
createdAt date-time Когда Litport впервые зафиксировал этот прокси.
pingAt date-time Когда Litport последний раз проверил этот прокси.

createdAt фиксирует, когда Litport впервые обнаружил прокси. pingAt фиксирует последнюю проверку и служит нужным признаком свежести. https показывает, завершился ли HTTPS-запрос через прокси с действительным доверенным сертификатом; до измерения значение равно null. anonymity показывает, сколько прокси раскрывает о себе и о клиенте (transparent, anonymous, elite или unknown); anonymityLevel — устаревший двузначный псевдоним, сохранённый для совместимости.

Согласованный снимок#

GET /api/free-proxy/snapshot возвращает одно полное, согласованно отфильтрованное поколение. По умолчанию используется checkedWithinMin=30; эндпоинт принимает те же фильтры, что и эндпоинт списка, кроме page, limit, sortBy, format и download, и возвращает до 20,000 строк, упорядоченных по свежести. Некорректное значение checkedWithinMin приводит к ответу 400.

{
  "generatedAt": "2026-09-09T22:40:12.000Z",
  "count": 2121,
  "totalCount": 2121,
  "truncated": false,
  "maxAgeMin": 30,
  "proxies": []
}

Оба эндпоинта отдают ETag и Last-Modified для условных запросов. Отправьте полученный ETag в If-None-Match; совпадающий корректный запрос получает 304 Not Modified только после того, как для него вычислен текущий отфильтрованный ответ.

Форматы CSV и текст#

# CSV
curl 'https://litport.net/api/free-proxy?format=csv&limit=25'
# host:port, one proxy per line
curl 'https://litport.net/api/free-proxy?format=txt&limit=25'
# protocol://host:port, one proxy per line
curl 'https://litport.net/api/free-proxy?format=txt-proto&limit=25'

Используйте download=1 с поддерживаемым форматом, чтобы получить вложение. CSV возвращается как text/csv; текстовые варианты используют text/plain; JSON — application/json.

Пример на JavaScript#

const url = new URL('https://litport.net/api/free-proxy')
url.searchParams.set('country', 'us')
url.searchParams.set('limit', '25')

const response = await fetch(url)
if (!response.ok) throw new Error(`HTTP ${response.status}`)
const proxies = await response.json()

Пример на Python#

import json
import urllib.parse
import urllib.request

query = urllib.parse.urlencode({"country": "us", "limit": 25})
with urllib.request.urlopen(f"https://litport.net/api/free-proxy?{query}") as response:
    proxies = json.load(response)

Ресурсы для разработчиков#

Откройте список бесплатных прокси, чтобы изучить текущие данные, отфильтровать их в браузере и скопировать URL запроса для собственных тестов.

Используйте исходный код списка бесплатных прокси, чтобы разобраться в опубликованном наборе данных, или изучите исходный код SDK бесплатных прокси, когда встраиваете API в приложение.

SDK#

Выберите клиент для вашей среды выполнения. Каждый клиент получает и фильтрует записи о прокси; как их использовать, решает ваше приложение.

Среда выполнения Установка Пакет и справочник
JavaScript / TypeScript npm install @litportnet/free-proxy-sdk пакет npm
JavaScript / TypeScript через JSR npx jsr add @litportnet/free-proxy-sdk пакет JSR и справочник API
C# / .NET dotnet add package Litportnet.FreeProxy пакет .NET
PHP composer require litportnet/free-proxy-sdk пакет PHP
Ruby gem install litportnet-free-proxy-sdk пакет Ruby
Python pip install litportnet-free-proxy-sdk пакет PyPI
Go go get github.com/litportnet/free-proxy-sdk/packages/go пакет Go и справочник
Rust cargo add litportnet-free-proxy-sdk крейт Rust · справочник API
Perl cpanm WebService::Litportnet::FreeProxy дистрибутив CPAN и справочник
Elixir {:litportnet_free_proxy, "~> 0.1"} в mix.exs пакет Hex · справочник HexDocs
Dart dart pub add litportnet_free_proxy пакет pub.dev
R install.packages("litportFreeProxy", repos = c("https://litportnet.r-universe.dev", "https://cloud.r-project.org")) пакет R-universe

Инструменты API#

В коллекции Postman есть готовые к запуску запросы для фильтров, снимков и экспорта в CSV и текст. API-ключ не нужен.

Используйте образ Docker CLI, чтобы экспортировать записи без установки локальной среды выполнения:

docker run --rm litportnet/free-proxy-sdk:0.1.0 --protocol socks5 --limit 20 --format json

Контейнер получает записи о прокси; он не запускает прокси-сервер.

Подключите ИИ-агента через MCP-сервер, опубликованный как @litportnet/free-proxy-mcp и включённый в официальный MCP Registry как io.github.litportnet/free-proxy-mcp. Добавьте его в любой MCP-совместимый клиент:

{
  "mcpServers": {
    "free-proxy": {
      "command": "npx",
      "args": ["-y", "@litportnet/free-proxy-mcp"]
    }
  }
}

Он предоставляет три инструмента только для чтения: список прокси по фильтру, выбор прокси с самым высоким рейтингом и сводка по текущему снимку. Как и все клиенты выше, он возвращает записи о прокси и не маршрутизирует трафик.

Исторические наборы данных#

Для анализа распределений по протоколам, странам и задержке скачайте датированные наблюдения с Hugging Face Datasets или Kaggle. Это фиксированные снимки со сведениями об источнике и лицензией CC0. Проверяйте дату наблюдения; для актуальных записей используйте API выше.

Блокнот Kaggle с анализом читает снимок и строит графики распределений по странам, протоколам и задержке. Его можно запустить, не обращаясь к действующему API.