REST: Proxies
POST /api/addProxies
Requires auth. Uploads proxies from multipart fields.
Accepted form fields:
file: uploaded proxy text fileproxyTextarea: raw text area inputclipboardProxies: pasted input
Success (200):
{
"proxyCount": 42,
"details": {
"submittedCount": 100,
"parsedCount": 70,
"invalidFormatCount": 20,
"invalidIpCount": 5,
"invalidIpv4Count": 2,
"invalidPortCount": 3,
"blacklistedCount": 28,
"processingMs": 17
}
}
Notes:
- Oversized uploads return
413. - If no upload input is provided, returns
400.
GET /api/getProxyCount
Requires auth. Returns total proxy count for the user.
GET /api/getProxyPage/{page}
Requires auth. Returns paged proxy rows.
Query params:
pageSizesearchstatus=alive|dead- repeated
protocol=http|https|socks4|socks5 - repeated
country - repeated
type - repeated
anonymity - repeated
reputation=good|neutral|poor|unknown maxTimeoutmaxRetries
Response:
{
"proxies": [
{
"id": 1,
"ip": "1.2.3.4",
"port": 8080,
"estimated_type": "datacenter",
"response_time": 280,
"country": "US",
"anonymity_level": "elite",
"alive": true,
"latest_check": "2026-02-12T10:00:00Z",
"reputation": {
"overall": {"kind": "overall", "score": 0.89, "label": "good"}
}
}
],
"total": 1234
}
GET /api/proxyFilters
Requires auth. Returns available filter values:
{
"countries": ["DE", "US"],
"types": ["datacenter", "residential"],
"anonymityLevels": ["elite", "anonymous", "transparent", "N/A"]
}
GET /api/proxies/{id}
Requires auth. Returns proxy detail including latest statistic and reputation breakdown.
GET /api/proxies/{id}/statistics
Requires auth.
Query params:
limit(optional positive integer, default100)
Response:
{
"statistics": [
{
"id": 987,
"alive": true,
"attempt": 1,
"response_time": 190,
"protocol": "http",
"anonymity_level": "elite",
"judge": "https://judge.example",
"created_at": "2026-02-12T09:58:00Z"
}
]
}
GET /api/proxies/{id}/statistics/{statisticId}
Requires auth.
Response:
{
"response_body": "...",
"regex": "..."
}
DELETE /api/proxies
Requires auth. Supports two body modes.
Mode A: selected IDs array.
[101, 102, 103]
Mode B: filter object.
{
"proxies": [101, 102],
"filter": true,
"http": true,
"https": false,
"socks4": false,
"socks5": false,
"maxRetries": 2,
"maxTimeout": 5000,
"proxyStatus": "alive",
"reputationLabels": ["good"],
"scope": "selected"
}
Responses are JSON strings, for example:
"Deleted 25 proxies.""No proxies matched the delete criteria."