API documentation
The same JSON API that powers this website — free for everyone, no API key, no signup. All endpoints live on the same origin as this site, e.g. GET /api/stats. Be reasonable with request rates.
Totals, per-protocol counts, how many proxies carry real test data, and when the list was last generated.
GET /api/stats
{
"status": "success",
"total": 5630,
"tested": 392,
"alive": 2140,
"perProtocol": { "http": 3208, "socks4": 678, "socks5": 1744 },
"generatedAt": "2026-10-02T19:17:00Z"
}
Paginated, filterable proxy directory. Only proxies alive at the last check are returned.
| Parameter | Values |
|---|---|
page | Page number, default 1 |
limit | 1–200, default 50 |
protocol | all | http | socks4 | socks5 |
country | Two-letter code, e.g. US, or all |
search | Match against IP or port |
sort | latency | score | port | ip |
order | asc | desc |
GET /api/proxies?protocol=socks5&country=US&limit=2&sort=latency
{
"status": "success",
"page": 1,
"limit": 2,
"total": 481,
"totalPages": 241,
"proxies": [
{
"ip": "107.174.30.92",
"port": 1080,
"protocol": "socks5",
"countryCode": "US",
"country": "United States",
"anonymity": "elite",
"latencyMs": 123,
"uptimePct": 99,
"score": 98,
"tested": 1
},
...
]
}
tested is 1 only when the proxy matched a real speed-test record; otherwise latencyMs, uptimePct and score are null.
Countries present in the list, ordered by proxy count (largest first).
GET /api/countries
{
"status": "success",
"countries": [
{ "code": "US", "name": "United States", "count": 1234 },
{ "code": "DE", "name": "Germany", "count": 486 },
...
]
}
Free MTProto proxies for Telegram, including ready-to-use t.me connect links.
GET /api/mtproto
{
"status": "success",
"count": 333,
"proxies": [
{
"server": "proxy.example.net",
"port": 443,
"secret": "ee1603010200010001fc03...",
"countryCode": "US",
"country": "US",
"latencyMs": 41,
"uptimePct": 87,
"status": "reachable",
"link": "https://t.me/proxy?server=proxy.example.net&port=443&secret=ee1603..."
},
...
]
}
Runs a live connectivity check against one proxy and returns the real measured result — never a fabricated number. If the proxy is dead, alive is false.
GET /api/verify?target=107.174.30.92:1080
{
"target": "107.174.30.92:1080",
"protocol": "socks5",
"alive": true,
"latencyMs": 595
}
Downloads the full filtered list as a file. Respects the protocol and country filters.
GET /api/export?format=txt&protocol=http&country=DE # plain ip:port list GET /api/export?format=csv&protocol=socks5 # spreadsheet GET /api/export?format=json&country=US # JSON