第一次使用?請依照以下步驟
- 1用電子郵件與密碼或權杖註冊,然後開啟控制台。
- 2在「連線」分頁發行 API 金鑰。完整金鑰只會在發行當下顯示一次,請立即保存。
- 3在每個需要金鑰的請求中,把金鑰放進 Authorization 標頭。
- 4先呼叫 /account 確認金鑰可用,再用 /orders 下單。
驗證方式
涉及您自己帳號的請求(account、orders、proxy-user)需要 API 金鑰。請在標頭中以 Authorization: Bearer pwk_... 的形式傳送。價格、國家與報價對所有人開放,不需金鑰即可呼叫。
ProxyWorld 伺服器不會儲存金鑰本身,只儲存其雜湊值。如果遺失金鑰,請在控制台建立新的,舊金鑰會立即失效。金鑰只能放在伺服器端程式碼中。如果金鑰出現在瀏覽器執行的程式碼或公開的程式庫中,其他人就可能使用它。
Authorization: Bearer pwk_your_api_key
基本 URL 與資料格式
- 基本 URL
- https://proxyworld.shop/api/v1
- 請求與回應內容
- application/json
- 金額
- 以數字表示的 USD,例如 1058.50
- 時間戳記
- ISO 8601 (UTC)
可以呼叫幾次?
每組 API 金鑰每分鐘可呼叫 60 次。不帶金鑰呼叫公開端點時,每個 IP 每分鐘可呼叫 60 次。超過時會收到 HTTP 429。請等候約一分鐘後再試。
發生錯誤時會回傳什麼?
您會收到 HTTP 狀態碼,以及包含簡短錯誤代碼與說明的 JSON 內容。
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | 說明 |
|---|---|---|
| bad_requestHTTP 400缺少必要的值,或傳送了此產品不接受的值。 | 缺少必要的值,或傳送了此產品不接受的值。 | |
| unauthorizedHTTP 401缺少 API 金鑰,或金鑰無效。 | 缺少 API 金鑰,或金鑰無效。 | |
| insufficient_balanceHTTP 402餘額不足以支付訂單總額。餘額沒有被扣款。 | 餘額不足以支付訂單總額。餘額沒有被扣款。 | |
| not_foundHTTP 404您的帳號中沒有這個編號的訂單。 | 您的帳號中沒有這個編號的訂單。 | |
| rate_limitedHTTP 429超過每分鐘允許的呼叫次數。 | 超過每分鐘允許的呼叫次數。 | |
| server_errorHTTP 500伺服器無法完成請求。餘額沒有被扣款。 | 伺服器無法完成請求。餘額沒有被扣款。 |
端點
查看帳號
GET/api/v1/account需要 API 金鑰
回傳登入方式(login:email 或 token)、電子郵件、餘額、代理主機與連接埠、代理使用者名稱與密碼,以及允許的 IP。以權杖建立的帳號,email 為 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"
]
}查看產品與價格
GET/api/v1/products不需金鑰
回傳各產品的訂購範圍、各數量級距的單價與期間折扣。使用與價格頁相同的價目表。
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",
"...": "..."
}
]
}國家與城市
GET/api/v1/countries不需金鑰
回傳各產品可選擇的國家,以及 -city- 使用者名稱選項可用的城市值。
| 名稱 | 類型 | 說明 |
|---|---|---|
product選填 | string | unlimited、residential、isp、datacenter 其中之一。省略時使用 residential。 |
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"
}
]
}
]
}取得報價
POST/api/v1/quote不需金鑰
計算訂單總額,不會動到您的餘額。請傳送與下單時相同的內容。
| 名稱 | 類型 | 說明 |
|---|---|---|
product必填 | string | unlimited、residential、isp、datacenter 其中之一。 |
quantity必填 | integer | 訂購數量:unlimited 為天數(1~365),residential 為 GB(5~5,000),isp 為 IP 數量(1~1,000),datacenter 為 IP 數量(5~5,000)。 |
concurrency選填 | integer | 僅限 unlimited。200、500、1000、2000 其中之一。 |
bandwidth選填 | integer | 僅限 unlimited,單位 Mbps。100、200、500、1000 其中之一。 |
months選填 | integer | 僅限 isp 與 datacenter。1、3、6、12 其中之一。 |
country選填 | string | 僅限 isp 與 datacenter。兩個字母的國家代碼,例如 jp。可用的值列在 /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
}下單
POST/api/v1/orders需要 API 金鑰
從餘額扣除總額並建立訂單。訂單一開始為 pending(開通中),準備完成後變為 active。無法開通的訂單會變為 refunded,已付金額全部退回餘額。餘額不足時會收到 402。
| 名稱 | 類型 | 說明 |
|---|---|---|
product必填 | string | unlimited、residential、isp、datacenter 其中之一。 |
quantity必填 | integer | 訂購數量:unlimited 為天數(1~365),residential 為 GB(5~5,000),isp 為 IP 數量(1~1,000),datacenter 為 IP 數量(5~5,000)。 |
concurrency選填 | integer | 僅限 unlimited。200、500、1000、2000 其中之一。 |
bandwidth選填 | integer | 僅限 unlimited,單位 Mbps。100、200、500、1000 其中之一。 |
months選填 | integer | 僅限 isp 與 datacenter。1、3、6、12 其中之一。 |
country選填 | string | 僅限 isp 與 datacenter。兩個字母的國家代碼,例如 jp。可用的值列在 /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
}查看訂單
GET/api/v1/orders需要 API 金鑰
從最新的訂單開始,最多顯示 100 筆。
| 名稱 | 類型 | 說明 |
|---|---|---|
status選填 | string | pending、active、refunded 其中之一。省略時回傳所有狀態的訂單。 |
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"
}
]
}查看單筆訂單
GET/api/v1/orders/{id}需要 API 金鑰
回傳與訂單編號相符的訂單。可用來確認開通是否完成。
| 名稱 | 類型 | 說明 |
|---|---|---|
id必填 | string | 訂單編號,例如 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"
}
}建立代理使用者名稱
GET/api/v1/proxy-user需要 API 金鑰
回傳附上選項的代理使用者名稱,以及可直接貼上使用的 HTTP 與 SOCKS5 URL。如果不傳送 session,每個請求都會換 IP。
| 名稱 | 類型 | 說明 |
|---|---|---|
product選填 | string | unlimited、residential、isp、datacenter 其中之一。省略時使用 unlimited。 |
country選填 | string | 兩個字母的國家代碼,例如 jp。 |
city選填 | string | /countries 中列出的城市值,例如 tokyo。請同時傳送 country。 |
session選填 | string | 1~32 個英文字母與數字。相同 session 的請求會使用同一個 IP。 |
ttl選填 | integer | 工作階段保持 IP 的時間,1~60 分鐘。省略時為 30 分鐘。 |
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"
}完整流程範例
一支腳本完成取得報價、用餘額下單,再透過日本的 IP 連線。
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);透過 API 下的訂單與控制台訂單處理方式相同,也會顯示在「紀錄」分頁中。請把範例中的 pwk_your_api_key 換成您自己的 API 金鑰。