ProxyWorld API

Apa yang anda buat di dashboard juga boleh dibuat melalui kod. Baca baki, semak harga, buat pesanan dari baki dan dapatkan nama pengguna proxy dengan pilihan, semuanya melalui satu REST API.

Baru di sini? Ikut langkah ini

  1. 1Daftar dengan e-mel dan kata laluan, atau dengan token, dan buka dashboard.
  2. 2Keluarkan kunci API di tab Connect. Kunci penuh dipaparkan sekali sahaja, ketika anda mengeluarkannya, jadi simpan terus pada masa itu.
  3. 3Letakkan kunci dalam header Authorization bagi setiap permintaan yang memerlukannya.
  4. 4Panggil /account dahulu untuk memastikan kunci diterima, kemudian buat pesanan dengan /orders.

Bagaimana pengesahan berfungsi?

Permintaan yang melibatkan akaun anda sendiri (account, orders, proxy-user) memerlukan kunci API. Hantar dalam header sebagai Authorization: Bearer pwk_... Harga, negara dan sebut harga terbuka kepada semua dan boleh dipanggil tanpa kunci.

Pelayan ProxyWorld tidak pernah menyimpan kunci itu sendiri, hanya hash kunci tersebut. Jika anda kehilangan kunci, buat yang baharu di dashboard, dan kunci lama terus disekat. Letakkan kunci dalam kod sebelah pelayan sahaja. Jika kunci berada dalam kod yang berjalan di pelayar atau dalam repositori awam, orang lain boleh menggunakannya.

HTTP header
Authorization: Bearer pwk_your_api_key

URL asas dan format data

URL asas
https://proxyworld.shop/api/v1
Badan permintaan dan respons
application/json
Jumlah
USD sebagai nombor, contohnya 1058.50
Cap masa
ISO 8601 (UTC)

Berapa banyak panggilan yang boleh saya buat?

Setiap kunci API boleh membuat 60 panggilan seminit. Endpoint awam yang dipanggil tanpa kunci membenarkan 60 panggilan seminit bagi setiap IP. Jika melebihi had, anda akan menerima HTTP 429. Tunggu kira-kira seminit, kemudian cuba lagi.

Apa yang dikembalikan apabila berlaku kegagalan?

Anda menerima kod status HTTP dan badan JSON yang mengandungi kod ralat ringkas serta penjelasan.

Contoh
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Nilai wajib tiada, atau nilai yang dihantar tidak diterima oleh produk ini.
unauthorizedHTTP 401Kunci API tiada atau bukan kunci yang sah.
insufficient_balanceHTTP 402Baki anda kurang daripada jumlah pesanan. Tiada wang ditolak dari baki anda.
not_foundHTTP 404Akaun anda tiada pesanan dengan nombor ini.
rate_limitedHTTP 429Anda telah melebihi bilangan panggilan yang dibenarkan seminit.
server_errorHTTP 500Pelayan tidak dapat menyelesaikan permintaan. Tiada wang ditolak dari baki anda.

Endpoint

Lihat akaun anda

GET/api/v1/accountPerlu kunci API

Mengembalikan cara anda log masuk (login: email atau token), e-mel, baki, hos dan port proxy, nama pengguna dan kata laluan proxy, serta IP yang dibenarkan. Bagi akaun yang dibuat dengan token, email ialah null.

Permintaan
curl https://proxyworld.shop/api/v1/account \
  -H "Authorization: Bearer pwk_your_api_key"
Respons
{
  "login": "email",
  "email": "you@example.com",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.proxyworld.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "pwexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

Lihat produk dan harga

GET/api/v1/productsBerfungsi tanpa kunci

Mengembalikan julat pesanan bagi setiap produk, harga unit bagi setiap tahap kuantiti dan diskaun tempoh. Ia menggunakan jadual harga yang sama seperti halaman harga.

Permintaan
curl https://proxyworld.shop/api/v1/products
Respons
{
  "currency": "USD",
  "prices_as_of": "2026-10-31",
  "products": [
    {
      "id": "unlimited",
      "unit": "day",
      "quantity": {
        "meaning": "days",
        "min": 1,
        "max": 365
      },
      "...": "..."
    },
    {
      "id": "residential",
      "unit": "gb",
      "...": "..."
    }
  ]
}

Negara dan bandar

GET/api/v1/countriesBerfungsi tanpa kunci

Mengembalikan negara yang boleh dipilih bagi setiap produk, bersama nilai bandar untuk digunakan dalam pilihan nama pengguna -city-.

NamaMaksud
productPilihanSalah satu daripada unlimited, residential, isp, datacenter. Jika tidak diisi, residential digunakan.
Permintaan
curl "https://proxyworld.shop/api/v1/countries?product=datacenter"
Respons
{
  "product": "datacenter",
  "countries": [
    {
      "code": "us",
      "name": "United States",
      "region": "americas",
      "datacenter": true,
      "cities": [
        {
          "name": "New York",
          "value": "new_york"
        },
        {
          "name": "Los Angeles",
          "value": "los_angeles"
        }
      ]
    }
  ]
}

Dapatkan sebut harga

POST/api/v1/quoteBerfungsi tanpa kunci

Mengira jumlah pesanan tanpa menyentuh baki anda. Hantar badan yang sama seperti semasa membuat pesanan.

NamaMaksud
productWajibSalah satu daripada unlimited, residential, isp, datacenter.
quantityWajibJumlah pesanan: hari untuk unlimited (1~365), GB untuk residential (5~5,000), bilangan IP untuk isp (1~1,000) atau datacenter (5~5,000).
concurrencyPilihanUntuk unlimited sahaja. Pilih salah satu daripada 200, 500, 1000, 2000.
bandwidthPilihanUntuk unlimited sahaja, dalam Mbps. Salah satu daripada 100, 200, 500, 1000.
monthsPilihanUntuk isp dan datacenter sahaja. Salah satu daripada 1, 3, 6, 12.
countryPilihanUntuk isp dan datacenter sahaja. Kod negara dua huruf seperti jp. Nilai yang diterima disenaraikan dalam /countries.
Permintaan
curl -X POST https://proxyworld.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Respons
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.05,
  "unit": "day",
  "total_usd": 241.5
}

Buat pesanan

POST/api/v1/ordersPerlu kunci API

Menolak jumlah dari baki anda dan mencipta pesanan. Ia bermula sebagai pending (sedang diaktifkan) dan bertukar kepada active apabila sedia. Pesanan yang tidak dapat diaktifkan menjadi refunded, dan semua yang anda bayar dikembalikan ke baki. Jika baki terlalu rendah, anda menerima 402.

NamaMaksud
productWajibSalah satu daripada unlimited, residential, isp, datacenter.
quantityWajibJumlah pesanan: hari untuk unlimited (1~365), GB untuk residential (5~5,000), bilangan IP untuk isp (1~1,000) atau datacenter (5~5,000).
concurrencyPilihanUntuk unlimited sahaja. Pilih salah satu daripada 200, 500, 1000, 2000.
bandwidthPilihanUntuk unlimited sahaja, dalam Mbps. Salah satu daripada 100, 200, 500, 1000.
monthsPilihanUntuk isp dan datacenter sahaja. Salah satu daripada 1, 3, 6, 12.
countryPilihanUntuk isp dan datacenter sahaja. Kod negara dua huruf seperti jp. Nilai yang diterima disenaraikan dalam /countries.
Permintaan
curl -X POST https://proxyworld.shop/api/v1/orders \
  -H "Authorization: Bearer pwk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Respons
{
  "order": {
    "id": "PW-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.05,
    "total_usd": 241.5,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1058.5
}

Lihat pesanan anda

GET/api/v1/ordersPerlu kunci API

Memaparkan sehingga 100 pesanan, bermula dengan yang terbaharu.

NamaMaksud
statusPilihanSalah satu daripada pending, active, refunded. Biarkan kosong untuk mendapatkan pesanan dalam apa-apa status.
Permintaan
curl "https://proxyworld.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer pwk_your_api_key"
Respons
{
  "orders": [
    {
      "id": "PW-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.05,
      "total_usd": 241.5,
      "status": "pending",
      "created_at": "2026-10-31T09:12:44.120Z",
      "updated_at": "2026-10-31T09:12:44.120Z"
    }
  ]
}

Lihat satu pesanan

GET/api/v1/orders/{id}Perlu kunci API

Mengembalikan pesanan yang sepadan dengan nombor pesanan. Berguna untuk menyemak sama ada pengaktifan sudah selesai.

NamaMaksud
idWajibNombor pesanan, contohnya PW-7KQ2M-X4HTD.
Permintaan
curl https://proxyworld.shop/api/v1/orders/PW-7KQ2M-X4HTD \
  -H "Authorization: Bearer pwk_your_api_key"
Respons
{
  "order": {
    "id": "PW-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.05,
    "total_usd": 241.5,
    "status": "active",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:40:02.511Z"
  }
}

Bina nama pengguna proxy

GET/api/v1/proxy-userPerlu kunci API

Mengembalikan nama pengguna proxy dengan pilihan anda, serta URL HTTP dan SOCKS5 yang boleh ditampal terus. Jika anda tidak menghantar session, IP bertukar pada setiap permintaan.

NamaMaksud
productPilihanSalah satu daripada unlimited, residential, isp, datacenter. Jika tidak diisi, unlimited digunakan.
countryPilihanKod negara dua huruf, contohnya jp.
cityPilihanNilai bandar yang disenaraikan dalam /countries, contohnya tokyo. Hantar bersama country.
sessionPilihan1~32 huruf dan digit. Permintaan dengan session yang sama menggunakan IP yang sama.
ttlPilihanTempoh sesi mengekalkan IP, 1~60 minit. Jika tidak diisi, 30 minit.
Permintaan
curl "https://proxyworld.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer pwk_your_api_key"
Respons
{
  "username": "pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6100",
  "socks5": "socks5h://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6200"
}

Contoh dari mula hingga akhir

Satu skrip yang mendapatkan sebut harga, membuat pesanan dari baki anda dan kemudian bersambung melalui IP di Jepun.

Python (requests)
import requests

API = "https://proxyworld.shop/api/v1"
HEAD = {"Authorization": "Bearer pwk_your_api_key"}

# 1) Check the price first
plan = {"product": "residential", "quantity": 100}
print(requests.post(f"{API}/quote", json=plan).json())

# 2) Order from your balance
r = requests.post(f"{API}/orders", json=plan, headers=HEAD)
order = r.json()["order"]
print(order["id"], order["status"])

# 3) Get a username for Japanese IPs
u = requests.get(f"{API}/proxy-user", headers=HEAD,
                 params={"product": "residential", "country": "jp"}).json()
proxies = {"http": u["http"], "https": u["http"]}
print(requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json())
Node.js 18+
const API = "https://proxyworld.shop/api/v1";
const HEAD = { Authorization: "Bearer pwk_your_api_key", "Content-Type": "application/json" };

// Check the balance
const acc = await fetch(`${API}/account`, { headers: HEAD }).then((r) => r.json());
console.log(acc.balance_usd);

// Order 7 days of unlimited
const res = await fetch(`${API}/orders`, {
  method: "POST",
  headers: HEAD,
  body: JSON.stringify({ product: "unlimited", quantity: 7, concurrency: 500, bandwidth: 100 }),
});
if (res.status === 402) console.log("Top up first");
else console.log((await res.json()).order.id);

Pesanan melalui API dikendalikan sama seperti pesanan di dashboard dan dipaparkan di tab Sejarah bersama yang lain. Gantikan pwk_your_api_key dalam contoh dengan kunci API anda sendiri.

Sambungkan ProxyWorld ke kod anda

Daftar dengan e-mel atau token, buat kunci API di dashboard, dan anda boleh terus mula membuat panggilan.