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, response |
anonymity |
string | all | Точный фильтр: transparent, anonymous, elite или unknown. Неизвестные значения обычно возвращают пустой массив. |
anonymity |
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. Некорректные значения игнорируются |
response |
integer | нет | Максимальное время HTTP-ответа в миллисекундах |
checked |
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). |
geo |
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. |
anonymity |
integer | Нормализованная оценка анонимности. |
anonymity |
string | Устаревший псевдоним: high = anonymous или elite, low = transparent. |
anonymity |
integer | Устаревший псевдоним, равен anonymity |
response |
number | Измеренное время HTTP-ответа в миллисекундах |
response |
integer | Нормализованная оценка времени ответа. |
uptimeRating |
integer | Округлённый процент аптайма за 24 часа. |
uptime7d |
number | Процент аптайма за семь дней, округлённый до одного знака после запятой. |
checks7d |
integer | Число проверок, вошедших в значение аптайма за семь дней. |
uptime24h |
number | Процент аптайма за 24 часа, округлённый до одного знака после запятой. |
checks24h |
integer | Число проверок, вошедших в значение аптайма за 24 часа. |
sourcesCount |
integer | Число наблюдаемых списков-источников для этого прокси. |
response |
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 |
пакет npm |
| JavaScript / TypeScript через JSR | npx jsr add @litportnet |
пакет JSR и справочник API |
| C# / .NET | dotnet add package Litportnet |
пакет .NET |
| PHP | composer require litportnet |
пакет PHP |
| Ruby | gem install litportnet-free-proxy-sdk |
пакет Ruby |
| Python | pip install litportnet-free-proxy-sdk |
пакет PyPI |
| Go | go get github |
пакет Go и справочник |
| Rust | cargo add litportnet-free-proxy-sdk |
крейт Rust · справочник API |
| Perl | cpanm Web |
дистрибутив CPAN и справочник |
| Elixir | {: в mix.exs |
пакет Hex · справочник HexDocs |
| Dart | dart pub add litportnet |
пакет pub.dev |
| R | install |
пакет 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.