Unlike datacenter and ISP proxies that operate on a per-proxy model, residential proxies use a bandwidth-based allocation system. This guide explains how residential bandwidth is managed in the Ping Proxies API.

Bandwidth Fundamentals

Residential bandwidth in Ping Proxies works as follows:

  • Account-Wide Pool: Bandwidth is added to your customer account as a shared resource
  • No Expiration: Once bandwidth is added to your account, it never expires until it is consumed
  • Proxy User Allocation: Bandwidth can be allocated to different proxy users with specific limits
  • Usage Tracking: All bandwidth usage is tracked and can be monitored via the API

Managing Bandwidth via API

Checking Bandwidth Usage

To check your current residential bandwidth status:

curl --request GET \
  --url 'https://api.pingproxies.com/1.0/public/user/residential/summary' \
  --header 'X-API-Public-Key: your_public_key' \
  --header 'X-API-Private-Key: your_private_key'

Response:

{
  "data": {
    "residential_bytes": 10737418240,     // Total allocated bandwidth (10 GB)
    "residential_bytes_used": 3221225472, // Used bandwidth (3 GB)
    "residential_bytes_left": 7516192768, // Remaining bandwidth (7 GB)
    "residential_requests": 145022,       // Total number of requests
    "proxy_user_ids": ["default_user", "stevejobs"] // Any other proxy users which have access to the bandwidth
  },
  "message": "Residential summary successfully generated."
}

Setting Proxy User Bandwidth Limits

While the total bandwidth is purchased through the dashboard, you can control how much bandwidth each proxy user can consume via the API:

curl --request PATCH \
  --url 'https://api.pingproxies.com/1.0/public/user/proxy_user/edit/stevejobs' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Public-Key: your_public_key' \
  --header 'X-API-Private-Key: your_private_key' \
  --data '{
    "proxy_user_residential_bytes_limit": 2147483648
  }'

This sets a 2 GB limit for the “stevejobs” proxy user, preventing them from using more than that amount from the account’s total residential bandwidth.

Creating Proxy Users with Bandwidth Limits

When creating a new proxy user, you can set their bandwidth limit immediately:

curl --request POST \
  --url 'https://api.pingproxies.com/1.0/public/user/proxy_user/create' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Public-Key: your_public_key' \
  --header 'X-API-Private-Key: your_private_key' \
  --data '{
    "proxy_user_id": "research_team",
    "proxy_user_password": "secure_password",
    "proxy_user_residential_bytes_limit": 3221225472
  }'

This creates a new proxy user with a 3 GB bandwidth limit. You can use null for unlimited bandwidth.

Viewing Individual Proxy User Bandwidth Usage

To check a specific proxy user’s bandwidth usage:

curl --request GET \
  --url 'https://api.pingproxies.com/1.0/public/user/proxy_user/retrieve/research_team' \
  --header 'X-API-Public-Key: your_public_key' \
  --header 'X-API-Private-Key: your_private_key'

Response includes bandwidth fields:

{
  "data": {
    "proxy_user_id": "research_team",
    "proxy_user_residential_bytes_limit": 3221225472,
    "proxy_user_residential_bytes_used": 1073741824,
    "residential_bytes_left": 2147483648,
    // ... other proxy user fields
  },
  "message": "Proxy User successfully retrieved."
}

Topping Up Bandwidth

While bandwidth limits can be managed via the API, purchasing additional bandwidth must be done through the dashboard:

  1. Log into your Ping Proxies dashboard
  2. Click “Add Bandwidth” next to your residential bandwidth total on the summary page
  3. Choose the amount of bandwidth to add
  4. Complete the purchase

Once purchased, the additional bandwidth is immediately added to your account’s pool and never expires.