PROXY KING API

Sell PROXY KING redeem keys from your own website or bot. Your API orders use the same wallet, prices and stock as the store, and every order appears in your account.

Base URL

https://proxyking.com.ng/api/public/v1
  • All requests and responses are JSON. Amounts are whole Naira (NGN).
  • Products are identified by product number, e.g. PKP-0001.
  • Orders are identified by order ID, e.g. PKO-7KQ2-M9XD.

Authentication

Every request must send your API key in the Authorization header as a Bearer token. Create or rotate your key from API Documentation in the menu on proxyking.com.ng (up to 5 keys). Keep it secret: anyone holding it can spend your wallet balance. Never put it in browser code; call the API from your own server.

Header
Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx

Get wallet balance

GET/balance

Returns the Naira balance available for purchases.

Request
curl https://proxyking.com.ng/api/public/v1/balance \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "data": { "balance": 15250, "currency": "NGN" }
}

List products

GET/products

Returns every product currently on sale, with price and live stock.

Parameters

NameTypeDescription
categorystringCategory slug to filter by, e.g. 711proxy.
in_stockbooleantrue returns only products with stock > 0.
Request
curl "https://proxyking.com.ng/api/public/v1/products?in_stock=true" \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "data": [
    {
      "product_no": "PKP-0001",
      "name": "9PROXY 50 IPs",
      "category": "9proxy",
      "price": 4500,
      "currency": "NGN",
      "stock": 120,
      "description": "Residential proxy redeem key ..."
    }
  ]
}

Get one product

GET/products/{product_no}

Returns a single product by its PKP number.

Parameters

NameTypeDescription
product_no*stringProduct number, e.g. PKP-0001.
Request
curl https://proxyking.com.ng/api/public/v1/products/PKP-0001 \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "data": {
    "product_no": "PKP-0001",
    "name": "9PROXY 50 IPs",
    "category": "9proxy",
    "price": 4500,
    "currency": "NGN",
    "stock": 120,
    "description": "Residential proxy redeem key ..."
  }
}

Buy a product

POST/orders

Charges your wallet and returns the redeem keys. The order fails with insufficient_balance if your wallet cannot cover price × quantity. Send an Idempotency-Key header so a retried request never buys twice.

JSON body

NameTypeDescription
product_no*stringProduct number, e.g. PKP-0001.
quantity*integer1 to 1000 in one order (bulk), up to the current stock.
Request
curl -X POST https://proxyking.com.ng/api/public/v1/orders \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 6f1c2b9e-order-001" \
  -d '{ "product_no": "PKP-0001", "quantity": 2 }'
Response
{
  "ok": true,
  "data": {
    "order_id": "PKO-7KQ2-M9XD",
    "status": "delivered",
    "product_no": "PKP-0001",
    "quantity": 2,
    "total": 9000,
    "currency": "NGN",
    "keys": ["XXXX-XXXX-XXXX", "YYYY-YYYY-YYYY"],
    "created_at": "2026-10-27T15:40:00Z"
  }
}

List your orders

GET/orders

Returns your orders, newest first. Keys are not included in the list; fetch one order to read them.

Parameters

NameTypeDescription
limitinteger1–100, default 20.
cursorstringValue of next_cursor from the previous page.
Request
curl "https://proxyking.com.ng/api/public/v1/orders?limit=20" \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "data": [
    {
      "order_id": "PKO-7KQ2-M9XD",
      "status": "delivered",
      "product_no": "PKP-0001",
      "quantity": 2,
      "total": 9000,
      "created_at": "2026-10-27T15:40:00Z"
    }
  ],
  "next_cursor": null
}

Get one order

GET/orders/{order_id}

Returns a single order with its delivered keys.

Parameters

NameTypeDescription
order_id*stringOrder ID, e.g. PKO-7KQ2-M9XD.
Request
curl https://proxyking.com.ng/api/public/v1/orders/PKO-7KQ2-M9XD \
  -H "Authorization: Bearer ProxyKing-xxxxxxxxxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "data": {
    "order_id": "PKO-7KQ2-M9XD",
    "status": "delivered",
    "product_no": "PKP-0001",
    "quantity": 2,
    "total": 9000,
    "keys": ["XXXX-XXXX-XXXX", "YYYY-YYYY-YYYY"],
    "created_at": "2026-10-27T15:40:00Z"
  }
}

Order statuses

deliveredKeys are ready in the keys array.
processingPayment taken, keys on the way. Check again in a few seconds with GET /orders/{order_id}.
refundedThe order could not be filled and the money went back to your wallet.
failedNothing was charged.

Errors

Failed requests return ok: false with a stable error code.

Error response
{
  "ok": false,
  "error": { "code": "insufficient_balance", "message": "Wallet balance is too low for this order." }
}
CodeHTTPMeaning
unauthorized401Missing, wrong or revoked API key.
insufficient_balance402Your wallet cannot cover price × quantity. Fund your wallet and retry.
not_found404No product or order with that number.
out_of_stock409Requested quantity is more than the current stock.
price_changed409The price changed while ordering. Fetch the product again and retry.
invalid_request422A field is missing or has the wrong type.
rate_limited429Too many requests. Wait and retry; limit is 60 requests per minute per key.
server_error500Something went wrong on our side. Safe to retry with the same Idempotency-Key.