Regional Settings

Language

No languages match your search.

Reseller API · v1

Reseller API for agencies and proxy resellers

Create proxy plans for your clients, set their country and rotation, track their traffic, renew and export them, all over plain HTTP from your own systems. It is the basis for a white-label proxy offer sold under your brand and run on our network, with JSON going in and coming out.

How the reseller API works

With the Cheapest Proxies REST API, an approved reseller can run its client accounts from code: provision a proxy plan for each client, configure its targeting (country, rotation, protocol), check live usage, renew it and export the credentials your customers need. Responses always come back as JSON, and a single API key authenticates every call.

The API is open to approved reseller accounts only. Apply through the reseller program page or your reseller dashboard; the account also needs to be active, with a verified email address.
Everything revolves around a "plan" (sub-user). Think of a plan as one client’s proxy access: a single gateway with its own credentials, GB balance and targeting. Create it with /plans/create, then manage it by its id.
Client plans draw on your GB data balance. Top up GB in the reseller dashboard, and each sub-user you create takes its gigabytes from that balance. GET /data shows what is left at any time.

Your first client plan in three steps

  1. Get approved, then copy your API key from the dashboard.
  2. Check which plans you can offer clients: GET /catalog.
  3. Create a plan and read back the credentials to pass on:
# Buy 5 GB of US residential and get gateway credentials back
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/create \
     -d "type=residential" -d "gb=5" -d "country=United States" -d "protocol=HTTP"

Authenticating with your API key

Your API key is shown in the reseller dashboard, and the simplest way to send it is as part of the URL path:

https://cheapest-proxies.com/api/v1/{API_KEY}/{action}

Alternatively, send it as an X-API-Key header to /api/v1/index.php?action=…. Store the key as carefully as a company card number, because it can spend your wallet balance, and rotate it from the reseller hub whenever someone with access leaves the team.

Base URL, responses and currency

https://cheapest-proxies.com/api/v1/{API_KEY}/

A successful call returns HTTP 200 with { "status": "success", "data": { … } }. A failed one returns a 4xx or 5xx status, and the reason sits in errors[0].message. Every amount is stated in USD. Calls that change something (create/renew/config/ipauth/delete) use POST; calls that only read use GET.

Rate limits per key

Each key can make up to 60 requests/minute, and calls beyond that receive 429. If a large client base needs a higher limit, contact support.

GET/catalog

Every plan you can provision for a client, with its per-GB price.

curl https://cheapest-proxies.com/api/v1/YOUR_KEY/catalog
{ "status":"success", "data": { "plans": [
  { "plan_id":3, "name":"Residential", "type":"residential", "price_per_gb":3.99,
    "currency":"USD", "min_gb":1, "max_gb":1000, "protocols":["HTTP","HTTPS","SOCKS5"] }
] } }

GET/locations

The countries on offer for a given proxy type.

ParameterRequiredDescription
typeNoOne of residential (the default), datacenter, mobile or premium.
curl "https://cheapest-proxies.com/api/v1/YOUR_KEY/locations?type=residential"
{ "status":"success", "data": { "type":"residential",
  "countries":[ {"code":"us","name":"United States"}, {"code":"gb","name":"United Kingdom"} ], "total":2 } }

GET/plans

Lists every plan on your account, each with its connection credentials and configuration.

curl https://cheapest-proxies.com/api/v1/YOUR_KEY/plans
{ "status":"success", "data": { "items": [
  { "id":123, "type":"residential", "plan":"Residential", "status":"active",
    "gb":5, "gb_limit":5, "gb_used":0.42, "created_at":"…", "expires_at":"…",
    "connection": { "host":"cheapest-proxies.com", "port":823,
                    "username":"u_ab12__cr.us", "password":"…", "protocol":"HTTP" },
    "config": { "countries":["us"], "exclude_countries":[], "rotation":0, "sticky":false, "protocol":"HTTP" } }
], "total":1 } }

GET/plans/get

Returns one plan together with its live usage.

ParameterRequiredDescription
idYesThe id of an existing plan.
curl "https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/get?id=123"
{ "status":"success", "data": { "id":123, …, "connection":{…},
  "usage": { "gb_total":5, "gb_used":0.42, "gb_left":4.58, "source":"live" } } }

GET/plans/usage

The live traffic balance plus usage over time, handy for client reporting.

ParameterRequiredDescription
idYesThe id of an existing plan.
periodNoOne of week, month (the default), 3months or 6months.
curl "https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/usage?id=123&period=month"

POST/plans/create

Creates a new plan (sub-user) for a client. The requested GB comes out of your reseller data balance, so top up in the dashboard first; if provisioning fails, the data goes back to your balance. The response includes the plan and its gateway credentials.

ParameterRequiredDescription
typeYes*Which proxy type to buy (residential, datacenter, mobile or premium). *Send either type or plan_id.
plan_idYes*A plan id taken from /catalog; it takes priority over type.
gbNoBandwidth in GB, from 1 to 1000 (default 1).
countryNoA country name or ISO-2 code; defaults to United States.
protocolNoHTTP (the default), HTTPS or SOCKS5, provided the plan supports it.
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/create \
     -d "type=residential" -d "gb=5" -d "country=United States" -d "protocol=HTTP"
{ "status":"success", "data": {
  "plan": { "id":124, "type":"residential", "status":"active", "gb":5,
    "connection": { "host":"…", "port":823, "username":"u_cd34", "password":"…", "protocol":"HTTP" }, … },
  "pending": false, "data_used_gb": 5 } }

POST/plans/renew

Repurchases the same specification as a fresh gateway with a new term, paid from your wallet.

ParameterRequiredDescription
idYesId of the plan to buy again.
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/renew -d "id=123"

POST/plans/config

Changes a plan's targeting, for example when a client moves into a new market. The change is saved and pushed to the network, and the response carries the updated connection, whose username encodes the targeting.

ParameterRequiredDescription
idYesThe id of an existing plan.
countriesNoISO-2 codes to target, as an array, e.g. ["us","gb"].
exclude_countriesNoISO-2 codes to leave out, as an array.
rotationNoSticky-session length in minutes, 0–120; 0 rotates the IP on every request.
stickyNoSet to true to hold one IP for the session.
session_idNoYour own sticky session id, letters and digits only.
exclude_asnNoASNs to leave out, as an array.
anonymousNoSet to true to apply the anonymity filter.
protocolNoHTTP or SOCKS5.
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/config \
     -H "Content-Type: application/json" \
     -d '{"id":123,"countries":["us"],"rotation":10,"sticky":true,"protocol":"HTTP"}'

POST/plans/ipauth

Lets up to 3 IPs, such as a client’s office addresses, use the gateway without a password.

ParameterRequiredDescription
idYesThe id of an existing plan.
whitelistYesIPv4 addresses separated by commas or spaces, up to 3.
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/ipauth -d "id=123" -d "whitelist=203.0.113.7"

POST/plans/delete

Cancels a plan, for instance when a client leaves, and releases its gateway upstream.

ParameterRequiredDescription
idYesThe id of an existing plan.
curl -X POST https://cheapest-proxies.com/api/v1/YOUR_KEY/plans/delete -d "id=123"

GET/balance

Your wallet balance in money terms. Top it up from the dashboard and spend it on GB data.

curl https://cheapest-proxies.com/api/v1/YOUR_KEY/balance
{ "status":"success", "data": { "balance":12.50, "currency":"USD" } }

GET/data

Your reseller GB data balance: the stock that client plans are sold from. More can be bought in the reseller dashboard; each sub-user you provision draws it down.

curl https://cheapest-proxies.com/api/v1/YOUR_KEY/data
{ "status":"success", "data": { "available_gb":42.5, "purchased_gb":100, "allocated_gb":57.5 } }

Legacy per-IP endpoints

These endpoints work on older per-IP proxy rows rather than GB plans. They stay available so existing integrations keep running; anything new should be built on the plan endpoints above.

GET/list[/status] — lists per-IP proxies, optionally filtered by status (active|expired|disabled).

GET/export?format=txt|csv|json — exports active per-IP proxies; with txt you can pass template=%ip%:%port%:%login%:%password% (plus %protocol% %country%).

GET/prolong/calc?ids=&days= — quotes the cost of a per-IP renewal.

POST/prolong/make — renews per-IP proxies and charges the wallet (ids, days).

POST/comment — attaches a label, such as a client name, to per-IP proxies (ids, text).

Code examples for client delivery

Python: create a client plan and hand over its credentials

import requests
BASE = "https://cheapest-proxies.com/api/v1/YOUR_KEY"

# 1. Provision 5 GB of US residential for a customer
plan = requests.post(BASE + "/plans/create",
    data={"type": "residential", "gb": 5, "country": "United States"}).json()["data"]["plan"]
c = plan["connection"]

# 2. Hand the customer their proxy string
print(f"{c['host']}:{c['port']}:{c['username']}:{c['password']}")

# 3. Later: retarget to the UK with a 10-min sticky session
requests.post(BASE + "/plans/config", json={"id": plan["id"], "countries": ["gb"], "sticky": True, "rotation": 10})

# 4. Check how much bandwidth they've used
print(requests.get(BASE + "/plans/usage", params={"id": plan["id"]}).json()["data"]["balance"])

Node.js

const BASE = 'https://cheapest-proxies.com/api/v1/YOUR_KEY';
const plan = await fetch(BASE + '/plans/create', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ type: 'residential', gb: 5, country: 'United States' })
}).then(r => r.json());
console.log(plan.data.plan.connection);

PHP

<?php
$base = 'https://cheapest-proxies.com/api/v1/YOUR_KEY';
$plans = json_decode(file_get_contents($base . '/plans'), true);
print_r($plans['data']['items']);

Error codes and what they mean

Every error also carries a readable explanation in errors[0].message.

HTTPMeaning
200Success
400A parameter is missing or invalid (for example, no id)
401The API key is missing, malformed or wrong
402Not enough wallet balance
403Reseller API access has not been approved for this account
404No such plan or resource, or an unknown action
405Wrong HTTP method; writes need POST
422Unrecognised plan or type, or an invalid body
429Over the rate limit of 60/minute
502The upstream network refused the request; nothing was charged

Webhooks: not available yet

Event notifications, such as plan expiry and low-balance warnings, are planned but not live. If your client setup depends on them today, contact support.

Start reselling under your own brand

Once the reseller program approves your account, the API key is waiting in your dashboard within minutes.

Get my API key
Cheapest Proxies logo

or
Continue with Email

By continuing you agree to our Terms and Privacy Policy.

Already have an account?

New here?

Subscriber offer

10% off
your team’s next order

Enter your work email and we’ll send the code there. It applies at checkout to any proxy plan, from datacenter to residential premium.

We send the code, then an occasional offer. To stop those emails, write to support and we’ll remove your address.

Your code is ready

Copy the 10% code below and paste it into the promo code field at checkout. A copy goes to your inbox too, so you can forward it to whoever places the order.

Choose a residential plan →