Bắt đầu thế nào?
- 1Đăng ký và đăng nhập vào bảng điều khiển.
- 2Mở mục Connect và tạo khóa API. Khóa đầy đủ chỉ hiện một lần, nên hãy sao chép và cất ở nơi an toàn.
- 3Gửi khóa trong header Authorization với mọi yêu cầu cần đến nó.
- 4Gọi /account để kiểm tra khóa hoạt động, rồi đặt hàng bằng /orders.
Xác thực hoạt động thế nào?
Các yêu cầu cho tài khoản của bạn (account, orders, proxy-user) cần khóa API. Gửi khóa dưới dạng Bearer token trong header Authorization. Giá, quốc gia và báo giá là công khai, không cần khóa.
Chúng tôi chỉ lưu mã băm của khóa. Nếu làm mất, hãy tạo khóa mới trong bảng điều khiển, khóa cũ sẽ ngừng hoạt động ngay. Đừng đặt khóa trong code chạy trên trình duyệt hay kho code công khai.
Authorization: Bearer pdk_your_api_key
Base URL và định dạng
- Base URL
- https://proxyday.shop/api/v1
- Nội dung yêu cầu và phản hồi
- application/json
- Tiền
- Số USD, ví dụ 807.90
- Thời gian
- ISO 8601 (UTC)
Có giới hạn tần suất gọi không?
Mỗi khóa API gửi được tối đa 60 yêu cầu mỗi phút. Endpoint công khai cho phép 60 yêu cầu mỗi phút cho mỗi IP. Vượt giới hạn sẽ nhận HTTP 429, hãy đợi một phút rồi thử lại.
Lỗi trông như thế nào?
Lỗi trả về mã trạng thái HTTP và phần thân JSON gồm một mã ngắn và thông báo.
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | Ý nghĩa |
|---|---|---|
| 400 | bad_request | Thiếu giá trị hoặc giá trị không được phép cho sản phẩm này. |
| 401 | unauthorized | Thiếu khóa API hoặc khóa không hợp lệ. |
| 402 | insufficient_balance | Số dư thấp hơn tổng đơn hàng. Chưa bị trừ tiền. |
| 404 | not_found | Không có đơn hàng với id này trong tài khoản của bạn. |
| 429 | rate_limited | Quá nhiều yêu cầu trong một phút. |
| 500 | server_error | Không thể hoàn tất yêu cầu. Chưa bị trừ tiền. |
Endpoint
Lấy thông tin tài khoản
GET/api/v1/accountKhóa API
Trả về số dư, host proxy, cổng, tên người dùng, mật khẩu và các IP được phép.
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"
]
}Danh sách sản phẩm và giá
GET/api/v1/productsKhông cần khóa
Trả về mọi sản phẩm cùng giới hạn, các mức giá và giảm giá. Giá lấy từ cùng bảng với trang bảng giá.
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",
"...": "..."
}
]
}Danh sách quốc gia và thành phố
GET/api/v1/countriesKhông cần khóa
Trả về các quốc gia có sẵn cho một sản phẩm, kèm giá trị thành phố bạn có thể đặt vào tên người dùng proxy.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
productKhông bắt buộc | string | unlimited, residential, isp hoặc datacenter. Mặc định là 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"
}
]
}
]
}Lấy báo giá
POST/api/v1/quoteKhông cần khóa
Tính tổng tiền cho một đơn hàng mà không trừ tiền. Dùng cùng phần thân như khi đặt hàng.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
productBắt buộc | string | unlimited, residential, isp hoặc datacenter. |
quantityBắt buộc | integer | Số ngày cho unlimited (1~365), số GB cho residential (5~5,000), số IP cho isp (1~1,000) hoặc datacenter (5~5,000). |
concurrencyKhông bắt buộc | integer | Chỉ cho unlimited: 200, 500, 1000 hoặc 2000. |
bandwidthKhông bắt buộc | integer | Chỉ cho unlimited, đơn vị Mbps: 100, 200, 500 hoặc 1000. |
monthsKhông bắt buộc | integer | Chỉ cho isp và datacenter: 1, 3, 6 hoặc 12. |
countryKhông bắt buộc | string | Chỉ cho isp và datacenter: mã quốc gia hai chữ cái, ví dụ jp. Xem /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
}Đặt hàng
POST/api/v1/ordersKhóa API
Trừ tổng tiền từ số dư và tạo đơn hàng. Đơn mới bắt đầu ở trạng thái pending (đang kích hoạt) và chuyển sang active khi sẵn sàng. Nếu không kích hoạt được, đơn chuyển sang refunded và toàn bộ số tiền được hoàn về số dư. Trả về 402 khi số dư không đủ.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
productBắt buộc | string | unlimited, residential, isp hoặc datacenter. |
quantityBắt buộc | integer | Số ngày cho unlimited (1~365), số GB cho residential (5~5,000), số IP cho isp (1~1,000) hoặc datacenter (5~5,000). |
concurrencyKhông bắt buộc | integer | Chỉ cho unlimited: 200, 500, 1000 hoặc 2000. |
bandwidthKhông bắt buộc | integer | Chỉ cho unlimited, đơn vị Mbps: 100, 200, 500 hoặc 1000. |
monthsKhông bắt buộc | integer | Chỉ cho isp và datacenter: 1, 3, 6 hoặc 12. |
countryKhông bắt buộc | string | Chỉ cho isp và datacenter: mã quốc gia hai chữ cái, ví dụ jp. Xem /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
}Danh sách đơn hàng
GET/api/v1/ordersKhóa API
Trả về 100 đơn hàng gần nhất, mới nhất trước.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
statusKhông bắt buộc | string | pending, active hoặc refunded. Bỏ trống để lấy tất cả. |
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"
}
]
}Lấy một đơn hàng
GET/api/v1/orders/{id}Khóa API
Trả về một đơn hàng theo id, ví dụ để kiểm tra đơn đã active chưa.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
idBắt buộc | string | Id đơn hàng, ví dụ 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"
}
}Tạo tên người dùng proxy
GET/api/v1/proxy-userKhóa API
Trả về tên người dùng proxy với các tùy chọn của bạn, kèm URL proxy HTTP và SOCKS5 dùng được ngay. Không có session thì IP xoay vòng mỗi yêu cầu.
| Trường | Kiểu | Ý nghĩa |
|---|---|---|
productKhông bắt buộc | string | unlimited, residential, isp hoặc datacenter. Mặc định là unlimited. |
countryKhông bắt buộc | string | Mã quốc gia hai chữ cái, ví dụ jp. |
cityKhông bắt buộc | string | Giá trị thành phố từ /countries, ví dụ tokyo. Cần có country. |
sessionKhông bắt buộc | string | 1~32 chữ cái hoặc chữ số bất kỳ. Các yêu cầu có cùng session giữ cùng một IP. |
ttlKhông bắt buộc | integer | Số phút giữ IP của phiên, 1~60. Mặc định 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"
}Ví dụ đầy đủ
Các ví dụ này kiểm tra giá, đặt hàng từ số dư và kết nối qua một IP Nhật Bản.
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);Đơn đặt qua API giống hệt đơn đặt từ bảng điều khiển và hiện trong mục History. Thay pdk_your_api_key bằng khóa của bạn.