Get current Unlimited throughput
ProxiesReturns the Mbps each port of the account's active Residential Unlimited service is using now, or null data when the account has none.
- Method: GET
- Path:
/services/{serviceType}/throughput - Tags: Monitor
- Server:
https://monitor.geonode.com
Each port gets a new reading about once a minute. The service caches each account’s answer for 15 seconds, so polling once a minute is enough.
A cancelled service still in its grace period returns 401.
Auth
HTTP Basic Auth with the Residential Unlimited proxy username and password (same credentials the proxies use):
curl -u "<unlimited_username>:<password>" \
"https://monitor.geonode.com/services/RESIDENTIAL-UNLIMITED/throughput"Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
serviceType | string | Yes | Must be RESIDENTIAL-UNLIMITED |
Response
200 Current throughput
Content type: application/json
{
"data": {
"serviceId": "",
"planMbps": null,
"ports": [
{
"dns": "",
"httpPort": 1,
"socksPort": 1,
"current": {
"measuredAt": "2026-11-06T08:54:57.476Z",
"downMbps": 1,
"upMbps": 1,
"limitMbps": 1,
"upLimitMbps": 1,
"atLimit": true
}
}
]
}
}| Field | Type | Description |
|---|---|---|
data | object | null | Active Residential Unlimited service, or null when none |
data.serviceId | string | Service id |
data.planMbps | number | null | Plan speed in Mbps, or null when unknown |
data.ports | array | One entry per allocated server |
data.ports[].dns | string | Proxy server hostname |
data.ports[].httpPort | integer | HTTP port |
data.ports[].socksPort | integer | SOCKS port |
data.ports[].current | object | null | Latest measurement, or null if none in the last 3 minutes |
data.ports[].current.measuredAt | string (date-time) | Scrape time of this reading |
data.ports[].current.downMbps | number | Download throughput in Mbps |
data.ports[].current.upMbps | number | Upload throughput in Mbps |
data.ports[].current.limitMbps | number | Download cap in Mbps on this port now. Can differ from planMbps. 0 means the port is blocked |
data.ports[].current.upLimitMbps | number | Upload cap in Mbps on this port now |
data.ports[].current.atLimit | boolean | true when download or upload is at 95% or more of its cap |
Read each port against its own limitMbps. Each server enforces its own cap.
400 The service type is not RESIDENTIAL-UNLIMITED
{
"success": false,
"message": "",
"details": {}
}401 Missing or invalid proxy credentials
{
"success": false,
"message": "",
"details": {}
}503 Speed data is temporarily unavailable
{
"success": false,
"message": "",
"details": {}
}Was this page helpful?