You can install a Proxybonanza web browser extension for easy proxy list management. Click here for download links.
message
API V1 reference
Proxybonanza API v1
Base URL: https://proxybonanza.com/api/v1
The API lets you manage your proxy plans, authentication IPs, proxy IP lists and usage statistics. All requests are scoped to the authenticated account — you can only read and modify your own resources.
- Format: JSON (
application/json). Append.jsonto the URL, or sendAccept: application/json. - Alternatives:
.csv/.txt(CSV export, see Proxy IP list). - HTTP:
GET,POST,PUT,PATCH,DELETEas noted per endpoint.
Authentication
Send your full API key in the Authorization header:
Authorization: <full_api_key>
The full API key is a 50-character key plus ! and your user id:
<api_key>!<user_id>
Example: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN!42
All three of these work (first is recommended):
Authorization: <full_api_key>X-Proxybonanza-ApiKey: <full_api_key>- HTTP Basic auth with username = full API key (
-u '<full_api_key>:')
Browser (CORS) clients must use X-Proxybonanza-ApiKey — browsers only allow that header in cross-origin requests; the Authorization header will not pass through.
Get your API key: in the user panel → Account settings → API Key. The key is shown there; Generate new API key creates a new one.
Response envelope
Successful requests return {"success": true, "data": ...}. What data contains depends on the endpoint:
{
"success": true,
"data": []
}
Errors return:
{
"success": false,
"data": {
"message": "Authentication is required to continue",
"url": "/api/v1/userpackages.json",
"code": 401
}
}
401— missing/invalid API key403— not allowed (e.g. action locked)404— resource not found or not yours422— validation failed;messageis"field: reason"(e.g."ip: The provided value is invalid")
Proxy plans (userpackages)
GET /api/v1/userpackages.json
Lists all active proxy plans (not expired) of your account. Not paginated.
Example
curl https://proxybonanza.com/api/v1/userpackages.json \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{
"id": 123456,
"custom_name": null,
"login": "login11",
"password": "secretpass",
"expires": "2027-09-17T09:59:00+02:00",
"bandwidth": 4772417328398,
"last_ip_change": "2026-05-29T14:03:00+02:00",
"low_banwidth_notification_percent": 25,
"ipstack": "mixed",
"ipstackorder": "v4v6",
"package": {
"name": "Exclusive Plan",
"bandwidth": 10737418240,
"price": { "amount": "10", "currency": "USD" },
"howmany_ips": 20,
"price_per_gig": { "amount": "1", "currency": "USD" },
"package_type": "exclusive",
"howmany_authips": 10,
"price_user_formatted": "$10.00"
},
"bandwidth_gb": 4772.42,
"additional_bandwidth_gb": 1,
"bandwidth_percent_left_human": "6734.04%",
"expiration_date_human": "334 days",
"name": "Exclusive Plan"
}
]
}
Fields: id, custom_name, login, password, expires, bandwidth (bytes), last_ip_change, low_banwidth_notification_percent, ipstack, ipstackorder, package (name, bandwidth, price, howmany_ips, price_per_gig, package_type, howmany_authips, price_user_formatted), plus helpers bandwidth_gb, additional_bandwidth_gb, bandwidth_percent_left_human, expiration_date_human, name.
GET /api/v1/userpackages/{id}.json
Details of one plan, including its proxy IPs (ippacks) and auth IPs (authips). 404 if the plan doesn't exist or isn't yours.
Example
curl https://proxybonanza.com/api/v1/userpackages/123456.json \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": {
"id": 123456,
"login": "login11",
"password": "secretpass",
"expires": "2027-06-27T23:59:00+02:00",
"ippacks": [
{
"ip": "203.0.113.10",
"outgoing_ip": "203.0.113.10",
"georegion_name": "Warsaw",
"port_http": 8080,
"port_socks": 1080,
"countrycode": "PL",
"country_name": "Poland"
}
],
"authips": [
{ "id": 123457, "ip": "198.51.100.20", "userpackage_id": 123456 }
],
"package": { "name": "Exclusive Plan", "bandwidth": 10737418240, "price": { "amount": "10", "currency": "USD" }, "howmany_ips": 20, "price_per_gig": { "amount": "1", "currency": "USD" }, "package_type": "exclusive", "howmany_authips": 10, "price_user_formatted": "$10.00" }
}
}
PUT|PATCH /api/v1/userpackages/{id}.json
Updates a plan. Returns {"success": true, "data": []}.
Parameters
- login (string) — plan login
- password (string) — plan password
- custom_name (string) — letters/numbers/spaces only, e.g.
"My Plan", not"my-plan" - authips (array) — replaces the plan's auth IPs:
[{"ip": "203.0.113.50", "userpackage_id": 123456, "label": "office"}]
Example
curl -X PUT https://proxybonanza.com/api/v1/userpackages/123456.json \
-H "Authorization: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"custom_name": "My Plan", "login": "newlogin", "password": "newpass"}'
Response
{ "success": true, "data": [] }
Auth IPs (authips)
GET /api/v1/authips.json
Lists all your auth IPs.
Parameters
- ip (exact) — filter by IP
- userpackage_id (exact) — filter by plan
- label (partial match) — filter by label
Example
curl "https://proxybonanza.com/api/v1/authips.json?userpackage_id=123456" \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{ "id": 123458, "userpackage_id": 123456, "ip": "198.51.100.20", "label": null }
]
}
GET /api/v1/authips/{id}.json
One auth IP. 404 if not yours.
POST /api/v1/authips.json
Adds an auth IP. Returns 201 with the new id.
Parameters
- ip (required, IPv4) — the auth IP address
- userpackage_id (required) — must be your plan, not expired, and below the plan's
howmany_authipslimit - label (optional, max 20 chars) — stored slugified (letters, digits and spaces only)
Example
curl -X POST https://proxybonanza.com/api/v1/authips.json \
-H "Authorization: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "203.0.113.50", "userpackage_id": 123456, "label": "Office"}'
Response
{ "success": true, "data": { "id": 123459 } }
PUT|PATCH /api/v1/authips/{id}.json
Updates ip or label. Returns {"success": true, "data": []}.
DELETE /api/v1/authips/{id}.json
Removes one auth IP. Returns {"success": true, "data": []}.
Example
curl -X DELETE https://proxybonanza.com/api/v1/authips/123459.json \
-H "Authorization: $API_KEY"
POST /api/v1/authips/import-many.json
Bulk-imports auth IPs. Body is a JSON array of objects (ip, userpackage_id, label). Returns one entry per row with _success/_errors.
Example
curl -X POST https://proxybonanza.com/api/v1/authips/import-many.json \
-H "Authorization: $API_KEY" \
-H "Content-Type: application/json" \
-d '[{"ip":"203.0.113.60","userpackage_id":123456},{"ip":"203.0.113.61","userpackage_id":123456,"label":"two"}]'
Response
{
"success": true,
"data": [
{ "_success": true, "_errors": [], "id": 123460, "ip": "203.0.113.60", "userpackage_id": 123456, "label": null },
{ "_success": true, "_errors": [], "id": 123461, "ip": "203.0.113.61", "userpackage_id": 123456, "label": "two" }
]
}
POST /api/v1/authips/delete-all.json
Deletes auth IPs. {"id": {"_all": true}} deletes all of your auth IPs; {"id": [1, 2, 3]} deletes specific ones. 404 if there is nothing to delete.
Example
curl -X POST https://proxybonanza.com/api/v1/authips/delete-all.json \
-H "Authorization: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": {"_all": true}}'
POST /api/v1/userpackages/{userpackage_id}/authips/applyToOtherUserpackages.json
Copies all auth IPs from one plan to all your other active plans. 403 if userpackage_id isn't yours. Response is a per-row result array like import-many.
Example
curl -X POST https://proxybonanza.com/api/v1/userpackages/123456/authips/applyToOtherUserpackages.json \
-H "Authorization: $API_KEY"
Proxy IP list (userpackages-ippacks)
GET /api/v1/userpackages-ippacks.json
Returns all proxy IPs of all your active plans (not paginated; can be large).
Parameters
- userpackage_id — only one plan
Example
curl "https://proxybonanza.com/api/v1/userpackages-ippacks.json?userpackage_id=123456" \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{
"ip": "203.0.113.10",
"outgoing_ip": "203.0.113.10",
"port_http": 8080,
"port_socks": 1080,
"login": "login11",
"password": "secretpass",
"countrycode": "PL",
"georegion_name": "Warsaw",
"userpackage_id": 123456,
"country_name": "Poland"
}
]
}
GET /api/v1/userpackages-ippacks.txt (or .csv)
Same data as CSV. First row is the header.
Parameters
- _delimiter —
comma(default),tab,.,:,; - _csvFields[] — limit columns, e.g.
_csvFields[]=ip&_csvFields[]=port_http
Example
curl "https://proxybonanza.com/api/v1/userpackages-ippacks.txt?userpackage_id=123456&_delimiter=tab&_csvFields[]=ip&_csvFields[]=port_http" \
-H "Authorization: $API_KEY"
Response
ip port_http
203.0.113.10 8080
203.0.113.11 8080
Usage statistics
All stats endpoints take the plan id as the URL segment and only work on your plans (404 otherwise). Bandwidth values are in bytes; *_human fields are pre-formatted strings.
Shared parameters:
- days — look back N days (default
30), on stats/daily endpoints - date — one day
YYYY-MM-DD, on hourly endpoints - ip — filter by source IP (on
bysourceipvariants) - georegion_id — filter by proxy location (on
byproxylocationvariants)
GET /api/v1/userpackagestats/{id}.json
Totals over the period (default 30 days), summed.
Example
curl "https://proxybonanza.com/api/v1/userpackagestats/123456.json?days=30" \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{
"userpackage_id": 123456,
"bnd_http": 1048576,
"conn_http": 1175,
"bnd_socks": 0,
"conn_socks": 0,
"bnd_total": 1048576,
"conn_total": 1175,
"bnd_http_human": "1.00 MB",
"bnd_socks_human": "0 B",
"bnd_total_human": "1.00 MB",
"date": null,
"used_on_day": null
}
]
}
GET /api/v1/userpackagestats/bysourceip/{id}.json
Same totals grouped by source IP (ip field; filter with ?ip=).
GET /api/v1/userpackagestats/byproxylocation/{id}.json
Same totals grouped by proxy location. proxyserver contains georegion_id and georegion.name.
GET /api/v1/userpackagedailystats/{id}.json
Per-day rows (last 30 days by default, ?days=N), newest first.
Example
curl "https://proxybonanza.com/api/v1/userpackagedailystats/123456.json?days=7" \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{
"userpackage_id": 123456,
"date": "2026-10-14",
"bnd_http": 1048576,
"conn_http": 1175,
"bnd_socks": 0,
"conn_socks": 0,
"bnd_total": 1048576,
"conn_total": 1175,
"bnd_http_human": "1.00 MB",
"bnd_socks_human": "0 B",
"bnd_total_human": "1.00 MB",
"used_on_day": null
}
]
}
Variants: bysourceip (adds ip, ?ip= filter), byproxylocation (adds proxyserver, ?georegion_id= filter).
GET /api/v1/userpackagehourlystats/{id}.json
Per-hour rows. Without parameters: last 24 hours. With ?date=YYYY-MM-DD: that day (ascending hours).
Example
curl "https://proxybonanza.com/api/v1/userpackagehourlystats/123456.json?date=2026-10-14" \
-H "Authorization: $API_KEY"
Response
{
"success": true,
"data": [
{
"userpackage_id": 123456,
"date": "2026-10-14",
"hour": 8,
"bnd_http": 1048576,
"conn_http": 1175,
"bnd_socks": 0,
"conn_socks": 0,
"bnd_total": 1048576,
"conn_total": 1175,
"bnd_http_human": "1.00 MB",
"bnd_socks_human": "0 B",
"bnd_total_human": "1.00 MB",
"used_on_day": null,
"used_on_time": null
}
]
}
Variants: bysourceip (adds ip, ?ip=), byproxylocation (adds proxyserver, ?georegion_id=).