For developers
ProxyHub API
Everything you do in the customer area you can do from your scripts: list of proxies with credentials and current IP, IP change, renewal from your balance, protocol and automatic rotation. JSON responses, no library to install.
The key
Create the key in Settings → API in the customer area (up to 5 per account) and send it with every request in the Authorization header. The key covers all your proxies: treat it like a password.
curl https://app.proxyhub.it/api/v1/proxies \
-H "Authorization: Bearer ph_XXXXXXXXXXXXXXXXXXXXXXXX"Base URL
https://app.proxyhub.it/api/v1Endpoints
GET/proxies
All your proxies, with credentials, current IP, status and expiry.
GET/proxies/{port}
One proxy.
PATCH/proxies/{port}
Change protocol (http or socks5), username, password or automatic rotation (minutes: 5, 10, 15, 30, 60, 180, 360, 720, 1440, or null to turn it off). Send only the fields to change.
curl -X PATCH https://app.proxyhub.it/api/v1/proxies/41170 \
-H "Authorization: Bearer ph_…" \
-H "Content-Type: application/json" \
-d '{"protocol": "socks5", "auto_rotate_minutes": 30}'POST/proxies/{port}/rotate
New IP. Returns the new IP.
POST/proxies/{port}/renew
Renew paying from your balance: plan is daily, weekly or monthly (trial only for a trial proxy); coupon optional.
curl -X POST https://app.proxyhub.it/api/v1/proxies/41170/renew \
-H "Authorization: Bearer ph_…" \
-H "Content-Type: application/json" \
-d '{"plan": "monthly"}'GET/balance
Balance in US dollars.
Example response
{
"proxies": [
{
"port": 41170,
"host": "sfeshg.com",
"protocol": "http",
"username": "ph_e12734",
"password": "••••••••••",
"url": "http://ph_e12734:••••••••••@sfeshg.com:41170",
"status": "active",
"online": true,
"ip": "151.19.150.182",
"country": "it",
"carrier": "WindTre",
"plan": "monthly",
"expires_at": "2026-11-05T09:48:33.221Z",
"auto_renew": false,
"auto_rotate_minutes": null,
"rotation_url": "https://sfeshg.com/r/…",
"traffic_bytes": 1834021993,
"created_at": "2026-10-05T09:48:33.221Z"
}
]
}Limits
- 120 requests per minute per account.
- IP change: at most one every 2 minutes per phone (the button and the rotation link count too).
- Renewals: 10 per minute.
Errors
Errors always have this shape, with a stable code and a readable message:
{"error": "too_soon", "message": "The IP was changed less than 2 minutes ago. Wait and retry."}Without a key: the rotation link
For the IP change alone you don't need a key: every proxy has a rotation link in its page, to open or call from your scripts.
From your phone: the Telegram bot
Link Telegram from your Profile and use /proxy, /ip, /rotate <port> and /balance in the chat with the bot.
