Bagaimana saya bermula?
- 1Daftar dan log masuk ke dashboard.
- 2Buka Connect dan cipta kunci API. Kunci penuh hanya dipaparkan sekali, jadi salin ke tempat yang selamat.
- 3Hantar kunci dalam header Authorization bersama setiap permintaan yang memerlukannya.
- 4Panggil /account untuk memastikan kunci berfungsi, kemudian buat pesanan dengan /orders.
Bagaimana pengesahan berfungsi?
Permintaan untuk akaun anda sendiri (account, orders, proxy-user) memerlukan kunci API. Hantar sebagai Bearer token dalam header Authorization. Harga, negara dan sebut harga adalah awam dan tidak memerlukan kunci.
Kami hanya menyimpan hash kunci. Jika anda kehilangannya, cipta kunci baharu dalam dashboard dan kunci lama terus berhenti berfungsi. Jangan letak kunci dalam kod pelayar atau repositori awam.
Authorization: Bearer pdk_your_api_key
Base URL dan format
- URL asas
- https://proxyday.shop/api/v1
- Badan permintaan dan respons
- application/json
- Wang
- Nombor USD, contohnya 807.90
- Masa
- ISO 8601 (UTC)
Adakah had kadar panggilan?
Setiap kunci API boleh menghantar sehingga 60 permintaan seminit. Endpoint awam membenarkan 60 permintaan seminit bagi setiap IP. Melebihi had, anda akan mendapat HTTP 429, jadi tunggu seminit dan cuba lagi.
Bagaimana rupa ralat?
Ralat menggunakan kod status HTTP dan badan JSON dengan kod ringkas dan mesej.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Maksud |
|---|---|---|
| 400 | bad_request | Ada nilai yang tiada atau tidak dibenarkan untuk produk ini. |
| 401 | unauthorized | Kunci API tiada atau tidak sah. |
| 402 | insufficient_balance | Baki lebih rendah daripada jumlah pesanan. Tiada caj dikenakan. |
| 404 | not_found | Tiada pesanan dengan id ini dalam akaun anda. |
| 429 | rate_limited | Terlalu banyak permintaan dalam satu minit. |
| 500 | server_error | Permintaan tidak dapat diselesaikan. Tiada caj dikenakan. |
Endpoint
Dapatkan akaun anda
GET/api/v1/accountKunci API
Memulangkan baki, host proxy, port, nama pengguna dan kata laluan, serta IP dibenarkan anda.
curl https://proxyday.shop/api/v1/account \ -H "Authorization: Bearer pdk_your_api_key"
{
"email": "you@example.com",
"balance_usd": 1300,
"proxy": {
"host": "gate.proxyday.shop",
"http_port": 6100,
"socks5_port": 6200,
"username": "pdexample1",
"password": "your_password"
},
"allowed_ips": [
"203.0.113.10"
]
}Senarai produk dan harga
GET/api/v1/productsTidak perlu kunci
Memulangkan setiap produk bersama had, peringkat harga dan diskaunnya. Harga datang dari jadual yang sama seperti di halaman harga.
curl https://proxyday.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",
"...": "..."
}
]
}Senarai negara dan bandar
GET/api/v1/countriesTidak perlu kunci
Memulangkan negara yang tersedia untuk sesuatu produk, bersama nilai bandar yang boleh anda letak dalam nama pengguna proxy.
| Medan | Jenis | Maksud |
|---|---|---|
productPilihan | string | unlimited, residential, isp atau datacenter. Lalai residential. |
curl "https://proxyday.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/quoteTidak perlu kunci
Mengira jumlah bagi pesanan tanpa mengenakan sebarang caj. Gunakan badan yang sama seperti semasa membuat pesanan.
| Medan | Jenis | Maksud |
|---|---|---|
productWajib | string | unlimited, residential, isp atau datacenter. |
quantityWajib | integer | Hari untuk unlimited (1~365), GB untuk residential (5~5,000), IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyPilihan | integer | Hanya unlimited: 200, 500, 1000 atau 2000. |
bandwidthPilihan | integer | Hanya unlimited, dalam Mbps: 100, 200, 500 atau 1000. |
monthsPilihan | integer | Hanya isp dan datacenter: 1, 3, 6 atau 12. |
countryPilihan | string | Hanya isp dan datacenter: kod negara dua huruf, contohnya jp. Lihat /countries. |
curl -X POST https://proxyday.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.6,
"unit": "day",
"total_usd": 258
}Buat pesanan
POST/api/v1/ordersKunci API
Menolak jumlah daripada baki anda dan membuat pesanan. Pesanan baharu bermula sebagai pending (sedang diaktifkan) dan bertukar kepada active apabila sedia. Jika pesanan tidak dapat diaktifkan, ia menjadi refunded dan jumlah penuh dikembalikan ke baki anda. Memulangkan 402 apabila baki terlalu rendah.
| Medan | Jenis | Maksud |
|---|---|---|
productWajib | string | unlimited, residential, isp atau datacenter. |
quantityWajib | integer | Hari untuk unlimited (1~365), GB untuk residential (5~5,000), IP untuk isp (1~1,000) atau datacenter (5~5,000). |
concurrencyPilihan | integer | Hanya unlimited: 200, 500, 1000 atau 2000. |
bandwidthPilihan | integer | Hanya unlimited, dalam Mbps: 100, 200, 500 atau 1000. |
monthsPilihan | integer | Hanya isp dan datacenter: 1, 3, 6 atau 12. |
countryPilihan | string | Hanya isp dan datacenter: kod negara dua huruf, contohnya jp. Lihat /countries. |
curl -X POST https://proxyday.shop/api/v1/orders \
-H "Authorization: Bearer pdk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"order": {
"id": "PD-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.6,
"total_usd": 258,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
},
"balance_usd": 1042
}Senarai pesanan anda
GET/api/v1/ordersKunci API
Memulangkan 100 pesanan terkini anda, yang terbaru dahulu.
| Medan | Jenis | Maksud |
|---|---|---|
statusPilihan | string | pending, active atau refunded. Biarkan kosong untuk mendapatkan semua. |
curl "https://proxyday.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer pdk_your_api_key"
{
"orders": [
{
"id": "PD-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.6,
"total_usd": 258,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
}
]
}Dapatkan satu pesanan
GET/api/v1/orders/{id}Kunci API
Memulangkan satu pesanan mengikut id, contohnya untuk menyemak sama ada ia sudah aktif.
| Medan | Jenis | Maksud |
|---|---|---|
idWajib | string | Id pesanan, contohnya PD-7KQ2M-X4HTD. |
curl https://proxyday.shop/api/v1/orders/PD-7KQ2M-X4HTD \ -H "Authorization: Bearer pdk_your_api_key"
{
"order": {
"id": "PD-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.6,
"total_usd": 258,
"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-userKunci API
Memulangkan nama pengguna proxy dengan pilihan anda serta URL proxy HTTP dan SOCKS5 yang sedia digunakan. Tanpa session, IP berputar setiap permintaan.
| Medan | Jenis | Maksud |
|---|---|---|
productPilihan | string | unlimited, residential, isp atau datacenter. Lalai unlimited. |
countryPilihan | string | Kod negara dua huruf, contohnya jp. |
cityPilihan | string | Nilai bandar dari /countries, contohnya tokyo. Memerlukan country. |
sessionPilihan | string | Apa-apa 1~32 huruf atau nombor. Permintaan dengan session yang sama mengekalkan IP yang sama. |
ttlPilihan | integer | Minit untuk mengekalkan IP sesi, 1~60. Lalai 30. |
curl "https://proxyday.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \ -H "Authorization: Bearer pdk_your_api_key"
{
"username": "pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
"password": "your_password",
"http": "http://pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyday.shop:6100",
"socks5": "socks5h://pdexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyday.shop:6200"
}Contoh penuh
Contoh ini menyemak harga, membuat pesanan daripada baki dan menyambung melalui IP Jepun.
import requests
API = "https://proxyday.shop/api/v1"
HEAD = {"Authorization": "Bearer pdk_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://proxyday.shop/api/v1";
const HEAD = { Authorization: "Bearer pdk_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 yang dibuat melalui API sama seperti pesanan dari dashboard dan muncul dalam Sejarah. Gantikan pdk_your_api_key dengan kunci anda sendiri.