Skip to main content

Proxy Shop

Browse and purchase available proxies.

Browse Available Proxies

Get a paginated list of proxies available for order with optional filters.

Endpoint

GET /proxies/shop/

Query Parameters

ParameterTypeRequiredDescription
access_typestringNoProxy access type. Values: shared, private
connection_port_httpbooleanNoIf true, return only products supporting HTTP. If false, return only products NOT supporting HTTP. Combine with connection_port_socks5 for AND semantics
connection_port_socks5booleanNoIf true, return only products supporting SOCKS5. If false, return only products NOT supporting SOCKS5. Combine with connection_port_http for AND semantics
countrystringNoFilter by country code (ISO 3166-1 alpha-2, e.g., us, au)
proxy_categorystringNoFilter by category. Values: datacenter, lte, residential_rotating, residential_static
stock_statusstringNoFilter by availability. Values: in_stock, out_of_stock
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of results per page

Request

curl -X 'GET' \
'https://app.cyberyozh.com/api/v1/proxies/shop/?country=pk&proxy_category=datacenter' \
-H 'accept: application/json' \
-H 'X-Api-Key: your_api_key_here'

Response

{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"proxy_products": [
{
"id": "f3e3ec3b-e6eb-40a7-b2d2-9125acb3093c",
"title": "IPv4 PK",
"location_country_code": "PK",
"price_usd": "2.18",
"discounted_price": null,
"days": 30,
"proxy_category": "datacenter",
"stock_status": "in_stock",
"traffic_limitation": -1,
"is_auto_renewal_possible": true,
"is_manual_renewal_possible": false,
"protocols": ["http"],
"max_quantity": 10,
"available_periods": [
{"months": 1, "price": "2.18", "discount_percent": "0"},
{"months": 2, "price": "4.36", "discount_percent": "0"},
{"months": 3, "price": "6.54", "discount_percent": "0"},
{"months": 6, "price": "13.08", "discount_percent": "0"},
{"months": 12, "price": "23.54", "discount_percent": "10"}
]
}
],
"title": "IPv4 PK",
"proxy_category": "datacenter",
"access_type": "private",
"location_country_code": "PK"
},
{
"proxy_products": [
{
"id": "45cbff57-7dca-4b12-b9fa-4f8b81d9bc0c",
"title": "IPv4 PK",
"location_country_code": "PK",
"price_usd": "1.77",
"discounted_price": null,
"days": 30,
"proxy_category": "datacenter",
"stock_status": "in_stock",
"traffic_limitation": -1,
"is_auto_renewal_possible": false,
"is_manual_renewal_possible": false,
"protocols": ["http"],
"max_quantity": 10,
"available_periods": []
}
],
"title": "IPv4 PK",
"proxy_category": "datacenter",
"access_type": "shared",
"location_country_code": "PK"
}
]
}

Response Fields

FieldTypeDescription
countintegerTotal number of results
nextstringURL of the next page (null if last)
previousstringURL of the previous page (null if first)
resultsarrayArray of proxy product groups
results[].titlestringGroup title
results[].proxy_categorystringCategory: datacenter, lte, residential_rotating, residential_static
results[].access_typestringAccess type: shared or private
results[].location_country_codestringCountry code
results[].proxy_productsarrayProducts in this group
proxy_products[].idstring (UUID)Product identifier
proxy_products[].titlestringProduct name
proxy_products[].location_country_codestringCountry code
proxy_products[].price_usdstringPrice in USD for one proxy for the base period
proxy_products[].discounted_pricestring | nullPrice with your personal discount applied; null if you have no discount for this product
proxy_products[].daysintegerDuration in days
proxy_products[].proxy_categorystringCategory
proxy_products[].stock_statusstringAvailability: in_stock or out_of_stock
proxy_products[].traffic_limitationintegerTraffic limit in MB included in the plan (-1 for unlimited)
proxy_products[].is_auto_renewal_possiblebooleanWhether auto-renewal is available
proxy_products[].is_manual_renewal_possiblebooleanWhether manual renewal is available
proxy_products[].protocolsarray[string]Supported connection protocols (e.g., http, socks5)
proxy_products[].max_quantityinteger | nullMaximum quantity you can buy in one purchase position; null means the product has no own limit and the general limit of 10 applies
proxy_products[].available_periodsarrayRental periods you can pass as period_months. An empty array means the period is fixed and only period_months: 1 is accepted
available_periods[].monthsintegerRental period in months
available_periods[].pricestringPrice in USD for one proxy for the whole period, your personal discount included
available_periods[].discount_percentstringDiscount for the longer period, in percent

Quantity and Rental Period

max_quantity and available_periods tell you what you can pass to buy_proxies for each product:

Productquantityperiod_monthsWhat the listing returns
Shared datacenter (datacenter, shared)1–101 onlymax_quantity: 10, available_periods: []
Dedicated datacenter (datacenter, private)1–101, 2, 3, 6, 12max_quantity: 10, five periods
Static residential (residential_static)1–101, 2, 3, 6, 12max_quantity: 10, five periods
Other products1–101 onlymax_quantity: null, available_periods: []

Purchase Proxies

Order one or more proxies, choosing how many and for how long.

Endpoint

POST /proxies/shop/buy_proxies/

The request body is an array of purchase positions. Each position is processed independently: if one is rejected, the others still go through.

Request

Buy 3 shared datacenter proxies, 2 dedicated datacenter proxies for 3 months, and try to buy 11 shared proxies at once:

curl -X 'POST' \
'https://app.cyberyozh.com/api/v1/proxies/shop/buy_proxies/' \
-H 'accept: application/json' \
-H 'X-Api-Key: your_api_key_here' \
-H 'Content-Type: application/json' \
-d '[
{
"id": "45cbff57-7dca-4b12-b9fa-4f8b81d9bc0c",
"auto_renew": false,
"quantity": 3
},
{
"id": "f3e3ec3b-e6eb-40a7-b2d2-9125acb3093c",
"auto_renew": false,
"quantity": 2,
"period_months": 3
},
{
"id": "45cbff57-7dca-4b12-b9fa-4f8b81d9bc0c",
"auto_renew": false,
"quantity": 11
}
]'

Request Fields

FieldTypeRequiredDefaultDescription
idstring (UUID)YesProduct ID from the shop listing
auto_renewbooleanYesEnable auto-renewal. Takes effect only if the product supports it and period_months is 1
quantityintegerNo1Number of proxies to buy, from 1 up to the product's max_quantity (never more than 10)
period_monthsintegerNo1Rental period in months: 1, 2, 3, 6 or 12. Must be one of the product's available_periods
promo_codestringNoPromo code, applied to every proxy in the position

Limits per request:

  • no more than 50 positions;
  • the total quantity across all positions is no more than 50.

The price is calculated by the server: the price for the chosen period (see available_periods) multiplied by quantity. In the example above the first position costs 3 × $1.77 = $5.31 and the second 2 × $6.54 = $13.08. The whole position is charged at once — if the balance does not cover all proxies of the position, nothing is bought.

Response

201 Created with an array of the same length and order as the request:

[
{
"id": "45cbff57-7dca-4b12-b9fa-4f8b81d9bc0c",
"auto_renew": false,
"status": "in_progress",
"message": "0f1c4a2e-6f0b-4a51-9a53-2b1f9d6c8e11",
"code": null,
"order_ids": [
"0f1c4a2e-6f0b-4a51-9a53-2b1f9d6c8e11",
"5b7d9e10-3c2a-4e8f-b1d4-7a9c0e2f6b35",
"a3c1f0b2-8d4e-4b6a-9f17-c2e5d8b0a741"
]
},
{
"id": "f3e3ec3b-e6eb-40a7-b2d2-9125acb3093c",
"auto_renew": false,
"status": "in_progress",
"message": "c7e2a9d4-1b3f-4c8e-a6d2-9f0b4e7c1a58",
"code": null,
"order_ids": [
"c7e2a9d4-1b3f-4c8e-a6d2-9f0b4e7c1a58",
"e4b8f1a3-7d2c-4e9b-8a1f-3c6d0b9e2f74"
]
},
{
"id": "45cbff57-7dca-4b12-b9fa-4f8b81d9bc0c",
"auto_renew": false,
"status": "canceled",
"message": "You can order up to 10 proxies at once.",
"code": "quantity_limit_exceeded",
"order_ids": []
}
]

Response Fields

FieldTypeDescription
idstring (UUID)Product ID from the request
auto_renewbooleanWhether auto-renewal is actually enabled for the created orders
statusstringin_progress or canceled
messagestringFor in_progress — ID of the first created order; for canceled — human-readable reason, translated according to Accept-Language
codestring | nullMachine-readable rejection reason; null when the position is accepted
order_idsarray[string]IDs of all orders created for the position; empty for canceled

Response Statuses

StatusDescription
in_progressAll proxies of the position are ordered and being processed
canceledThe position was not bought: no orders were created and the balance was not charged

Rejection Codes

Use code rather than message in your integration — the message text depends on the language.

CodeMessageMeaning
invalid_productSelected Proxy no more exists.The product does not exist or is no longer on sale
out_of_stockPrivate proxy is out of stock now. Try again later.The product is out of stock
insufficient_fundsNot enough money.The balance does not cover the whole position
promocode_invalidatedPromo code is not applicable anymore. Please re-enter it.The promo code is invalid or expired
quantity_limit_exceededYou can order up to 10 proxies at once.quantity is above the product's limit
period_not_supportedThis product is sold for a fixed period only.period_months is not in the product's available_periods
something_went_wrongSomething went wrong. Contact SupportUnexpected error, contact support

Validation Errors

400 Bad Request is returned for the whole request, and nothing is bought, when the body itself is invalid:

  • the body is not an array, or it has more than 50 positions;
  • the total quantity is above 50;
  • quantity is less than 1;
  • period_months is not one of 1, 2, 3, 6, 12.
[{"period_months": ["\"5\" is not a valid choice."]}]
{"non_field_errors": ["Ensure the total quantity is no more than 50 proxies per request."]}
warning

The request is not idempotent. If you retry after a timeout, the proxies will be bought again. Check your order history before retrying.