Baru di sini? Ikut langkah ini
- 1Daftar dengan e-mel dan kata laluan, atau dengan token, dan buka dashboard.
- 2Keluarkan kunci API di tab Connect. Kunci penuh dipaparkan sekali sahaja, ketika anda mengeluarkannya, jadi simpan terus pada masa itu.
- 3Letakkan kunci dalam header Authorization bagi setiap permintaan yang memerlukannya.
- 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.
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.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Maksud |
|---|---|---|
| bad_requestHTTP 400Nilai wajib tiada, atau nilai yang dihantar tidak diterima oleh produk ini. | Nilai wajib tiada, atau nilai yang dihantar tidak diterima oleh produk ini. | |
| unauthorizedHTTP 401Kunci API tiada atau bukan kunci yang sah. | Kunci API tiada atau bukan kunci yang sah. | |
| insufficient_balanceHTTP 402Baki anda kurang daripada jumlah pesanan. Tiada wang ditolak dari baki anda. | Baki anda kurang daripada jumlah pesanan. Tiada wang ditolak dari baki anda. | |
| not_foundHTTP 404Akaun anda tiada pesanan dengan nombor ini. | Akaun anda tiada pesanan dengan nombor ini. | |
| rate_limitedHTTP 429Anda telah melebihi bilangan panggilan yang dibenarkan seminit. | Anda telah melebihi bilangan panggilan yang dibenarkan seminit. | |
| server_errorHTTP 500Pelayan tidak dapat menyelesaikan permintaan. Tiada wang ditolak dari baki anda. | Pelayan 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.
curl https://proxyworld.shop/api/v1/account \ -H "Authorization: Bearer pwk_your_api_key"
{
"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.
curl https://proxyworld.shop/api/v1/products
{
"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-.
| Nama | Jenis | Maksud |
|---|---|---|
productPilihan | string | Salah satu daripada unlimited, residential, isp, datacenter. Jika tidak diisi, residential digunakan. |
curl "https://proxyworld.shop/api/v1/countries?product=datacenter"
{
"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.
| Nama | Jenis | Maksud |
|---|---|---|
productWajib | string | Salah satu daripada unlimited, residential, isp, datacenter. |
quantityWajib | integer | Jumlah pesanan: hari untuk unlimited (1~365), GB untuk residential (5~5,000), bilangan IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyPilihan | integer | Untuk unlimited sahaja. Pilih salah satu daripada 200, 500, 1000, 2000. |
bandwidthPilihan | integer | Untuk unlimited sahaja, dalam Mbps. Salah satu daripada 100, 200, 500, 1000. |
monthsPilihan | integer | Untuk isp dan datacenter sahaja. Salah satu daripada 1, 3, 6, 12. |
countryPilihan | string | Untuk isp dan datacenter sahaja. Kod negara dua huruf seperti jp. Nilai yang diterima disenaraikan dalam /countries. |
curl -X POST https://proxyworld.shop/api/v1/quote \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"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.
| Nama | Jenis | Maksud |
|---|---|---|
productWajib | string | Salah satu daripada unlimited, residential, isp, datacenter. |
quantityWajib | integer | Jumlah pesanan: hari untuk unlimited (1~365), GB untuk residential (5~5,000), bilangan IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyPilihan | integer | Untuk unlimited sahaja. Pilih salah satu daripada 200, 500, 1000, 2000. |
bandwidthPilihan | integer | Untuk unlimited sahaja, dalam Mbps. Salah satu daripada 100, 200, 500, 1000. |
monthsPilihan | integer | Untuk isp dan datacenter sahaja. Salah satu daripada 1, 3, 6, 12. |
countryPilihan | string | Untuk isp dan datacenter sahaja. Kod negara dua huruf seperti jp. Nilai yang diterima disenaraikan dalam /countries. |
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}'{
"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.
| Nama | Jenis | Maksud |
|---|---|---|
statusPilihan | string | Salah satu daripada pending, active, refunded. Biarkan kosong untuk mendapatkan pesanan dalam apa-apa status. |
curl "https://proxyworld.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer pwk_your_api_key"
{
"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.
| Nama | Jenis | Maksud |
|---|---|---|
idWajib | string | Nombor pesanan, contohnya PW-7KQ2M-X4HTD. |
curl https://proxyworld.shop/api/v1/orders/PW-7KQ2M-X4HTD \ -H "Authorization: Bearer pwk_your_api_key"
{
"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.
| Nama | Jenis | Maksud |
|---|---|---|
productPilihan | string | Salah satu daripada unlimited, residential, isp, datacenter. Jika tidak diisi, unlimited digunakan. |
countryPilihan | string | Kod negara dua huruf, contohnya jp. |
cityPilihan | string | Nilai bandar yang disenaraikan dalam /countries, contohnya tokyo. Hantar bersama country. |
sessionPilihan | string | 1~32 huruf dan digit. Permintaan dengan session yang sama menggunakan IP yang sama. |
ttlPilihan | integer | Tempoh sesi mengekalkan IP, 1~60 minit. Jika tidak diisi, 30 minit. |
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"
{
"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.
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())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.