文档菜单

免费代理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 ms)、stable(取整后的7天在线率至少90%,且至少50次检查)或anonymous(anonymous或elite)。未识别的值会被忽略。
uptimeRating integer 无 最低24小时在线率百分比,1–100。无效值会被忽略。
responseTimeMs integer 无 最长HTTP响应时间(毫秒),1–10000。无效值会被忽略。
checkedWithinMin integer 无 pingAt距今的最长时间(分钟),1–1440。快照端点默认为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 通过该代理以隧道方式发送HTTPS请求且证书有效时为true;尚未测量时为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 7天在线率百分比,保留1位小数。
checks7d integer 计入7天在线率的检查次数。
uptime24h number 24小时在线率百分比,保留1位小数。
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)

开发者资源#

浏览免费代理IP列表,可查看当前数据,在浏览器中筛选,并复制请求URL用于您自己的测试。

通过免费代理IP列表源码了解已发布的数据集,或在将API集成到应用程序时参阅免费代理SDK源码。

SDK#

请选择适合您运行环境的客户端。每个客户端都会获取并筛选代理记录;如何使用这些记录由您的应用决定。

运行环境 安装 软件包和参考
JavaScript / TypeScript npm install @litportnet/free-proxy-sdk npm包
通过JSR使用JavaScript / TypeScript 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 crate · API参考
Perl cpanm WebService::Litportnet::FreeProxy CPAN发行包和参考
Elixir 在mix.exs中添加{:litportnet_free_proxy, "~> 0.1"} 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服务器连接AI智能体。该服务器以@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即可运行。